问题:
正如您可能已经听说的,Android不提供低延迟音频API。我所说的低延迟音频的意思是,你应该能够从麦克风获得音频信号并播放声音,而不需要有很大的时间间隔(例如5-7ms)。
我尝试过旧java (使用AudioRecord和AudioTrack)和“新”OpenSL ES。它们是可怕的,使应用程序无法使用。这个问题在这里有很好的记录。 BTW,iOS API可以产生大约5-7 ms的延迟.
寻找解决办法:
但我正在尝试做低延迟音频无论如何。像这样的答案描述了。
“然而,我只能通过编写自己的代码来令人满意地实现这一点,这些代码在内部进行混合,并且只为播放最终的混合输出而访问低级别的音频回放API。在理论上,.Net紧凑框架中播放声音的更高级别的方式理论上可以实现复调,但实际上它们的工作效果非常糟糕(很多故障、口吃和失真)。”
这对Android有意义吗?答案令人沮丧。
所以我的问题。真的没有办法在Android上实现10 ms的音频延迟吗?
老实说,我并不指望很快就能找到解决办法,我只希望一个伟大的头脑对这个问题有一个答案。
发布于 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/
发布于 2011-12-12 15:00:34
目前,在不修改操作系统的情况下,在Android设备上无法获得低延迟音频,即使这样,很多延迟也可能来自硬件实现,因此软件无法修复。这是可悲的,因为Linux内核非常具有<5ms的音频延迟能力,而许多ARM硬件能够提供良好的延迟。我有一个定制的运行在旧Palm上的Linux构建,它实际上有相当好的延迟。
发布于 2016-09-28 21:22:15
接下来,从Android 6开始的android.hardware.audio.pro的特性保证了<20 as的往返时间,我们可以希望这意味着单程<10 as。
https://stackoverflow.com/questions/8424208
复制相似问题