我注意到,Android中AudioTrack
和AudioRecord
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/