Android Audio常见问题分析方法

本文详细分析了Android音频遇到的各种问题,包括无声、断音、杂音、设备切换、延迟播放、焦点问题、多路录音等,并提供了针对性的解决思路。针对无声问题,检查通路策略、BT状态、全局静音等因素;断音可能源于APP写数据速度过慢;杂音则可能由数据损坏、buffer大小不当引起。设备切换和焦点问题涉及路由选择和焦点管理。通过对audio dump、systrace和BT连接状态的分析,能有效定位和解决这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无声

  1. 整机无声(bt和手机一起播放声音时):通路策略切错;BT状态不对;data往BT走,BT断开无法播放;全局静音;音量为0;往下写data时中间出现了mute;
  2. 整机无声(只有手机):可能是播放设备没有正确选择,输出设备策略选择问题
  3. A2DP无声:正常情况数据走A2DP,实际上走了SCO,但SCO无法接收,所以没有声音。
  4. 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值