Problem:
您可能听说过,Android 不提供低延迟音频 API。我所说的低延迟音频是指您应该能够从麦克风获取音频信号并播放声音,中间没有太多时间间隔(例如 5-7 毫秒)
我尝试过旧的java(带有AudioRecord和AudioTrack)和“新的”OpenSL ES。它们太糟糕了,导致应用程序无法使用。这个问题在这里有详细记录。 http://code.google.com/p/android/issues/detail?id=3434顺便说一句,iOS API 可能会产生大约 5-7 毫秒的延迟。
寻找解决方法:
但无论如何我都在尝试做低延迟音频。像这个答案所描述的那样。 https://stackoverflow.com/a/1448707/931170
“然而,只有通过写下我的作品,我才能令人满意地实现这一目标。
自己的代码在内部进行混合并访问低级
音频播放API仅用于播放最终的混合输出。这
在 .Net Compact Framework 中播放声音的高级方法是
理论上可以复调,但实际上效果很糟糕
(很多小故障、卡顿和失真)。”
这对于 Android 来说有意义吗?答案令人沮丧。 https://stackoverflow.com/a/5452854/931170
所以我的问题。 Android 真的没有办法实现 10 毫秒的音频延迟吗?
老实说,我并不期待很快就能找到解决方案,只是希望有一位伟大的思想家能够回答这个问题。
android 4.1+ 具有低延迟音频 api,应为您提供低于 10 毫秒的延迟。然而,该值因硬件而异(欢迎来到丰富多样的 Android 世界)。
“android.hardware.audio.low_latency”的特征描述符还可用于过滤掉缺乏低延迟支持的设备。
查看
和这个:http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/ http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)