首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用低延迟的Android音频

如何使用低延迟的Android音频
EN

Stack Overflow用户
提问于 2011-12-07 23:33:52
回答 3查看 7.9K关注 0票数 8

问题:

正如您可能已经听说的,Android不提供低延迟音频API。我所说的低延迟音频的意思是,你应该能够从麦克风获得音频信号并播放声音,而不需要有很大的时间间隔(例如5-7ms)。

我尝试过旧java (使用AudioRecord和AudioTrack)和“新”OpenSL ES。它们是可怕的,使应用程序无法使用。这个问题在这里有很好的记录。 BTW,iOS API可以产生大约5-7 ms的延迟.

寻找解决办法:

但我正在尝试做低延迟音频无论如何。像这样的答案描述了。

“然而,我只能通过编写自己的代码来令人满意地实现这一点,这些代码在内部进行混合,并且只为播放最终的混合输出而访问低级别的音频回放API。在理论上,.Net紧凑框架中播放声音的更高级别的方式理论上可以实现复调,但实际上它们的工作效果非常糟糕(很多故障、口吃和失真)。”

这对Android有意义吗?答案令人沮丧。

所以我的问题。真的没有办法在Android上实现10 ms的音频延迟吗?

老实说,我并不指望很快就能找到解决办法,我只希望一个伟大的头脑对这个问题有一个答案。

EN

回答 3

Stack Overflow用户

发布于 2013-03-08 19:18:36

android 4.1+有低延迟音频api,应该给你低于10毫秒的延迟。然而,其价值因硬件而异(欢迎加入丰富多样的android世界)。

此外,"android.hardware.audio.low_latency“的特性描述符也可用于过滤那些缺乏低延迟支持的设备。

查看de%20tailpage#t=1366s

这个:http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/

票数 4
EN

Stack Overflow用户

发布于 2011-12-12 15:00:34

目前,在不修改操作系统的情况下,在Android设备上无法获得低延迟音频,即使这样,很多延迟也可能来自硬件实现,因此软件无法修复。这是可悲的,因为Linux内核非常具有<5ms的音频延迟能力,而许多ARM硬件能够提供良好的延迟。我有一个定制的运行在旧Palm上的Linux构建,它实际上有相当好的延迟。

票数 3
EN

Stack Overflow用户

发布于 2016-09-28 21:22:15

接下来,从Android 6开始的android.hardware.audio.pro的特性保证了<20 as的往返时间,我们可以希望这意味着单程<10 as。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8424208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档