Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone上的音频硬件延迟_Iphone_Avfoundation_Core Audio_Audioqueue - Fatal编程技术网

iPhone上的音频硬件延迟

iPhone上的音频硬件延迟,iphone,avfoundation,core-audio,audioqueue,Iphone,Avfoundation,Core Audio,Audioqueue,我目前正在开发一个应用程序,它可以播放音频文件(mp3,但可以改为WAV以减少解码时间),同时录制音频。 出于同步目的,我想估计音频开始播放的确切时间 使用AudioQueue控制每个缓冲区,我可以估计第一个缓冲区耗尽的时间。我的问题是: 音频队列缓冲区耗尽和实际播放之间的硬件延迟是多少 是否有较低级别的API(特别是AudioUnit)具有更好的性能(在硬件延迟度量方面) 是否可以使用AudioQueue或w/o解码缓冲区来设置硬件延迟的上限?5ms似乎是我可以使用的,更多的是需要一种不同的方

我目前正在开发一个应用程序,它可以播放音频文件(mp3,但可以改为WAV以减少解码时间),同时录制音频。
出于同步目的,我想估计音频开始播放的确切时间

使用AudioQueue控制每个缓冲区,我可以估计第一个缓冲区耗尽的时间。我的问题是:

  • 音频队列缓冲区耗尽和实际播放之间的硬件延迟是多少
  • 是否有较低级别的API(特别是AudioUnit)具有更好的性能(在硬件延迟度量方面)
  • 是否可以使用AudioQueue或w/o解码缓冲区来设置硬件延迟的上限?5ms似乎是我可以使用的,更多的是需要一种不同的方法
    谢谢

    音频队列API在音频单元上运行,因此使用原始未压缩音频的RemoteIO音频单元将允许更低和更确定的延迟。某些iOS设备(使用音频会话API)上可以设置的最短RemoteIO缓冲区持续时间约为6到24毫秒,具体取决于应用程序状态。这可能会设置播放和录制延迟的下限,具体取决于您使用的延迟测量点事件

    从解码开始,解码压缩音频会增加大约一个数量级或两个以上的延迟