我是Android平台的新手,我想开发一个在后台运行的应用程序,读取麦克风输入,对其应用转换,并将结果音频输出到扬声器。
我想知道在这个过程中用户是否感觉到任何滞后,或者是否可以近乎实时地进行,以便用户可以听到与环境音频同步的变换后的音频。谢谢!
答案 0 :(得分:1)
Android上的音频处理并不是很棒,事实上说实话,它很糟糕。 Android设备上用于此类事情的开箱即用延迟非常糟糕。然而,您可以修改NDK并尝试将基于OpenSL ES的内容整合在一起,这些内容的延迟时间会非常短。
有类似的StackOverflow问题:Playing back sound coming from microphone in real-time
其他一些有用的链接:
答案 1 :(得分:1)
是的,用户将使用提供的API在当前未修改的Android设备上尝试实时音频时听到严重的延迟延迟或回声。
摘要是Android设备配置了相当长的音频缓冲区,据报道它位于100到400毫秒长的范围内,具体取决于特定设备及其运行的Android操作系统版本。 (Android设备上可能有更短的缓冲区,可以使用您自己的自定义音频驱动程序构建和安装修改后的自定义操作系统版本。)
(人类听到大约25 mS左右的回声.iOS上的音频缓冲区可以短至5.8 mS,因此您可以更好地尝试在不同的设备平台上开发近实时音频处理。 )
答案 2 :(得分:0)
另一方面,Android麦克风质量优于IOS质量。我有一个Galaxy s4和一个华为非常低端的手机,录音时都有很棒的麦克风质量。