gpt4 book ai didi

Android AudioTrack 播放延迟

转载 作者:行者123 更新时间:2023-12-03 00:14:26 33 4
gpt4 key购买 nike

我正在尝试使用 AudioTrack 播放原始声音数据Android 中的类,我使用 write方法,但我注意到在 write 方法返回和播放实际声音之间存在延迟,为简单起见,让我们使用 AudioRecord类为以下psedu代码:

//init AudioTrack
//init AudioRecord
while(true){
byte [] buffer = new byte[1000];
int read = audioRecord(buffer,0,1000);
audioTrack.write(buffer,0,read);
}

我希望得到 read / sample rate 的延迟。秒,但实际声音是在大约 0.5 秒之后播放的,我真的需要以最小的延迟播放音频,所以有没有人解释正在发生的事情,是否有任何可用的解决方案,或者我应该接受这个作为这是硬件问题吗?

最佳答案

我假设您的目标是提出一些交互式音频解决方案(即播放声音以响应某些用户操作),因为在这种情况下,低延迟确实很重要。

在 Android 上,要实现最低延迟,您需要使用 Open SL ES API,该 API 可通过 NDK 用于 native (C++) 代码。唯一可以实现低延迟的 Java 端机制是 SoundPool类,但它对您可以播放的声音类型有限制。

如需更多信息,请参阅 the page on high-performance audio ,并查看这个 SO 答案:Low-latency audio playback on Android

关于Android AudioTrack 播放延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40321253/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com