我注意到,Android中AudioTrackAudioRecord API的基础C++类都具有latency()方法,该方法未通过JNI公开。据我所知,latency()中的AudioRecord方法仍然没有考虑硬件延迟(它们对此有一个TODO注释),但是latency()中的AudioTrack方法确实增加了硬件延迟。

我绝对需要从AudioTrack获得此延迟值。有什么办法可以做到这一点?我不在乎只要不需要 Root 电话就需要哪种疯狂的骇客(生成的代码仍必须打包为市场上的应用程序)。

最佳答案

可以通过反射调用AudioTrack上的一种称为getLatency()的方法。例如,查看Exoplayer或https://developer.amazon.com/docs/fire-tv/audio-video-synchronization.html#section1-2

关于android - 如何从Android的AudioTrack类获取延迟信息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2597486/

10-12 12:22