我所知道的两种方法是:
这两个中哪个更快?如果还有其他选择,请赐教。
更多细节:假设我的应用程序将播放易于使用本机硬件格式的声音。 E.G.,如果原生播放采样率是44.1KHz,我会给它一个44.1K的声音。如果原始采样率是48KHz,我会给它一个48KHz的声音。不需要系统混合器或重新采样器。
答案 0 :(得分:0)
上次检查Android源代码时,只有两个使用Jellybean中添加的低延迟路径的API是OpenSL ES
和SoundPool
(也可能是ToneGenerator
,但我猜这与此无关。)
如果你有一堆静态声音,使用SoundPool
将是最方便的选择。对于实时生成的音频,您必须使用OpenSL ES。
对于要选择低延迟路径需要满足的条件列表,我建议您使用libaudioflinger和libwilhelm的源代码。简短摘要:使用原生采样率,单声道或立体声线性PCM,无效果。