Audio常见问题分析方法
无声
- 整机无声(bt和手机一起播放声音时):通路策略切错;BT状态不对;data往BT走,BT断开无法播放;全局静音;音量为0;往下写data时中间出现了mute;
- 整机无声(只有手机):可能是播放设备没有正确选择,输出设备策略选择问题
- A2DP无声:正常情况数据走A2DP,实际上走了SCO,但SCO无法接收,所以没有声音。
- SCO无声:网络原因;没有打开mic。
断音
在MTK平台中,audio dump中resample in节点有断音,可能是underrun,原因是APP写数据太慢,这种情况无法优化,只能三方解决。在往下走的其他节点出现断音,通过调整buffer大小来解决(buffer一般情况不动,减少buffer会出现断音,增大buffer会出现延迟)。数据写快了,写慢了都可能造成断音。
杂音
通过audio dump定位,在节点af_track就有杂音属于是APP写下来的数据就有杂音。 资源文件就有杂音,无法优化。资源文件没有杂音,可能是在上层太忙,buffer太小,出现了underrun,造成了数据损坏,这种情况通过调整buffer来解决,调整frameCount,调大延时变长,request太多,但是写的少,write的数据就有可能丢失。杂音在中间,如ef