蓝牙耳机音量控制问题
背景
之前测试提了一个蓝牙音量相关的BUG: 调节蓝牙耳机音量,系统音量不跟随变化,即耳机音量没有和系统音量同步;
虽然知道是绝对音量的问题,但不太清楚整个具体流程,特此记录下
分析与解决
音量调节的流程
音量调节的整个流程:
蓝牙
OS(数字音量)<-- --> 蓝牙耳机(数字音量+模拟音量)
在使用蓝牙耳机时,
调节OS上的音量
当调节OS上的音量时, 其调节的是数字音量,即调整了蓝牙传输的数字音频数据增益,从而使耳机听起来的音量有所变化
调节蓝牙耳机上的音量
当调节蓝牙耳机上的音量时,一般是直接调节蓝牙芯片的数字音量,使DAC出来的音量发生变化,所以这种情况下一般不会对OS的音量有所影响。
如果在调节蓝牙耳机上的音量时,需要将耳机音量同步给OS系统该怎么办呢? 也是可以做的,蓝牙协议已经帮忙考虑到这一点了,即设置蓝牙的绝对音量,需要走AVRCP协议,并且主机和蓝牙耳机都要支持该协议
.......