如何从Android的AudioTrack类中获取延迟信息?

时间:2010-04-08 03:58:33

标签: android audio

我注意到Android中AudioTrackAudioRecord API底层的C ++类都有latency()方法,不会通过JNI公开。据我所知,latency()中的AudioRecord方法仍未考虑硬件延迟(他们对此有TODO评论),但latency()方法AudioTrack 1}}会增加硬件延迟。

我绝对需要从AudioTrack获取此延迟值。有什么办法可以做到吗?我不关心需要什么样的疯狂黑客,只要它不需要root手机(结果代码仍然必须打包成市场上的应用程序)。

2 个答案:

答案 0 :(得分:1)

AudioTrack上有一个名为getLatency()的方法可以通过反射调用。例如,请查看Exoplayer或as expected

答案 1 :(得分:0)

很抱歉,你需要真正的缓冲区+硬件延迟吗? 不幸的是,你似乎无法获得这个价值,除非你使用谷歌不推荐的一些黑客,并且可以在新的Android版本中变成折痕。 你能分享为什么需要这样做吗?根据您的目标,可能会有其他解决方案。