背景
最近一直在搞这个问题,耳机和手机BLE AUDIO连接后,手机UI显示“已连接(无手机或媒体信号)”,然后播放音乐,耳机听不到音乐,声音直接从手机出来了。和芯片厂家一起分析,背景可以参考前面的分析文章:
https://blog.csdn.net/Jzj1234555/article/details/142595444?spm=1001.2014.3001.5501
我的分析是这个问题手机和耳机都有问题,耳机的问题是credit回复策略的问题,手机的没有申请到credit就直接丢弃数据包。小米的手机有这个问题,三星的没有这个问题,说明三星的手机LE AUDIO还是要健全一些。
解决方案
- 今天芯片厂确认了他们现在的credit反馈机制有问题,即要等所有credit耗尽才会update credit给手机,这个还是有弊端。
- 然后给的改进的方法是:创建L2CAP CB CONNECTION的初始化credit为6,然后耳机每处理完3个credit就会update credit给手机,这样就避免了手机申请不到credit的情况导致发包失败了。
验证
经过测试,手机申请不到credit的问题得到解决,看下btsnoop log: