Android N音频播放延迟

背景

        在Android N上使用MediaPlayer进行高频率的音频播放,会出现很严重的声音播放延迟的问题。比如快递业务场景,在业务员正确扫描快递面单后,需要播放一个声音来提示业务员该面单已经扫描完毕,可以进行下一单扫描。业务员也是通过这个声音来作为判断标准,只有在听到声音播放的情况下才会认为这个面单已经录进了系统(出现漏扫漏件是要扣钱的),才敢进行下一个快件的扫描。这个场景需要很高的工作效率,平均每个人每秒钟会扫描3-4个快件,也就是提示的声音每秒钟需要播放3-4次。这种条件背景下,如果代码中使用MediaPlayer去完成这么高频率的音频播放动作,会有很大的问题,声音播放延迟的问题很严重,因为声音播放不及时,会极大的影响业务员的工作效率。(并不是每个平台、每个Android系统都有这个问题,这里讨论的是高通8909 Android N平台)。

问题定位

08-02 18:45:30.834 367 589 D audio_hw_primary: enable_snd_device: snd_device(2: speaker)
08-02 18:45:30.839 367 589 D audio_hw_primary: enable_audio_route: apply mixer and update path: deep-buffer-playback

通过抓取日志分析,发现日志中有大量如上所示的"deep-buffer-playback"的日志信息,这是Android Audio系统播放音频文件最终采取的播放模式。很显然,这些声音的播放都是采取的"deep-buffer-playback"模式。在Android系统上,声音的播放主要有三种模式,分别是low-latency-playback、deep-buffer-playback和co

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值