赞
踩
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。