我目前正在开发一个播放音频文件(mp3,但可以更改为 WAV 以减少解码时间)并同时录制音频的应用程序。
出于同步目的,我想估计音频开始播放的确切时间。
使用 AudioQueue 控制每个缓冲区,我可以估计第一个缓冲区被耗尽的时间。我的问题是:
- AudioQueue 缓冲区被耗尽和实际播放之间的硬件延迟是多少?
- 是否有更低级别的 API(特别是 AudioUnit),具有更好的性能(在硬件延迟测量中)?
- 是否可以使用 AudioQueue 对硬件延迟设置上限,w 或 w/o 解码缓冲区?5ms 似乎是我可以使用的,更多的是需要不同的方法。
谢谢!