问题场景:
客户反馈Android设备机上电后,自动连接蓝牙音箱后,等一段时间后,播放音乐,此时,蓝牙音箱声音很小,然后按设备上的音量按键调整音量,会出现,蓝牙音箱音量不同步的现象。
这款蓝牙音箱是支持设置绝对音量的音箱。
异常时分析Logcat:
异常时 NewAvrcpTargetService 有断开,之后没有再次连接。
我们看看正常时的,可以看到正常时是可以成功设置绝对音量的。
然后,我们再结合HCI日志看看 AVRCP的行为:
看日志13分43秒左右确实有断开,之后再次连接后,没有注册绝对音量控制服务,只是注册了音量改变的通知。
分析代码
system/bt/profile/avrcp/connection_handler.cc
再结合日志
所以断开后,就没有再次注册,修改方案:
直接去掉判读条件即可。
如果此文章解答了您的相关疑惑,节约了您的宝贵时间,可以Shang小编鸡腿哟!