gpt4 book ai didi

ios - AudioOutputUnitStart() 和 RemoteIO 的渲染回调之间的时间差异

转载 作者:行者123 更新时间:2023-11-29 00:07:01 28 4
gpt4 key购买 nike

这是一个关于时间的非常“细节”的问题......

我正在使用 iOS 的 RemoteIO 音频单元来做事。只是想知道系统如何准确地处理计时:调用 AudioOutputUnitStart() 后,该单元应该处于“on”状态,然后渲染回调将由下游单元拉动。让我猜一下:

可能性1:下一个渲染回调发生在AudioOutputUnitStart()执行之后,然后继续

可能性二:系统有自己的渲染回调节奏。调用 AudioOutputUnitStart() 后,下一个渲染回调捕捉到系统的“下一个”刻度之一,然后从那里开始

1 还是 2?或者有 3 个?提前致谢!

最佳答案

音频延迟似乎取决于特定的设备型号、 Audio Session 和选项、请求的采样率和缓冲区大小,以及是否有任何其他音频(后台或最近关闭的应用程序)正在或最近在系统上播放或录制.内部音频放大器电路(等)是否需要通电或已经打开可能会产生最大的差异。由于操作系统重采样和混频器代码可能需要缓冲,请求某些采样率似乎也会导致额外的时间。

很可能是(2)或(3)。

使用 RemoteIO 时最小化延迟的最佳方法是在 Audio Session 设置中请求非常短的缓冲区(1 到 6 毫秒),提前启动 Audio Session 和音频单元(在应用程序启动、查看加载等时) .),然后用零填充回调缓冲区(或丢弃记录的回调数据),直到需要声音为止。

关于ios - AudioOutputUnitStart() 和 RemoteIO 的渲染回调之间的时间差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47718742/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com