android 系统如何调节音量

1.android 音量调节的方式一共四种:

按键、设置界面,应用UI界面,下拉状态栏

2.音量调节的步骤

(1)获取当前stream 的index 值

(2)将Index 值转换层DB 值

(3)应用音量的Db 值,实现音量的变化

3.总音量=主音量 * 流音量 * 音轨音量(可单独调节左右声道)

4.Audioserver:: adjuststreamvolume 主要做两件事

(1)通过adjustIndex 更新 index

(2)发送消息给setDeviceVolume

5.AudioSystem:: setstreamvolume _>audiofilnger :: setstreamvolume

Android audio  Framework 音量调节 从上到下涉及Application、Java 框架、JNI、native 框架

首次,由应用层的AudioManager 发起,通过setstreamvolume 调用到 Audioserver.java 类的对应方法,setstreamvolume 方法根据输入的streamtype 确定需要调节的流类型,index 确定输入的音量级,flag是 确定相关状态;然后在Audioserver 类中,依次调用ensureValidStreamType 确定音量类型的合法性、获取之前的index值并进行更新,checkSafeMediaVolume判断是否可设置音量,验证无误后,sendVolumeUpdate 发送更新音量的信息

setStreamVolumeInt 判断音量是否为0,调节模式静音或者响铃

applyDeviceVolume_syncVSS 设置应用音量,进入audiosystem

setstreamvolumeindex 通过JNI 进入native 层的audio system

你可能感兴趣的:(音视频)