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

问题描述:

我注意到Android中AudioTrackAudioRecord API的C++类都有一个latency()方法,它不通过JNI公开。据我所见,AudioRecord中的latency()方法仍然没有考虑到硬件延迟(他们对此有一个TODO注释),但AudioTrack中的latency()方法确实增加了硬件延迟。如何从Android的AudioTrack类获得延迟信息?

我绝对需要从AudioTrack得到这个延迟值。有没有可能的方法可以做到这一点?我不在乎需要哪种疯狂的黑客攻击,只要它不需要根深蒂固的手机(所产生的代码仍然必须作为市场上的应用打包)。

对不起,你需要真正的buffer + hardwre延迟吗? 不幸的是,除非你使用一些非谷歌推荐的黑客手段,并且可能会在新的Android版本中变成折痕,否则你似乎无法获得此值。 你能分享为什么你需要这样做吗?根据您试图达到的目标,可能会有其他解决方案。

+0

你也提到什么黑客? – 2013-09-10 13:48:55