不推荐使用 IOBufferDuration 的 AudioSessionAddPropertyListener
AudioSessionAddPropertyListener deprecated for IOBufferDuration
我需要确定我的 RemoteIO 回调何时更改缓冲区大小。在 iOS 7 之前,我们可以使用 AudioSessionAddPropertyListener
添加会话 属性 侦听器,然后使用 属性 kAudioSessionProperty_PreferredHardwareIOBufferDuration
。现在已弃用。有替代品吗? AVAudioSession
旨在符合 KVO,但不适用于 IOBufferDuration
或 preferredIOBufferDuration
属性。
这里的替换是什么?
缓冲持续时间以 frameCount 的形式(与回调缓冲区中的样本数成正比)以已知采样率提供给 RemoteIO 回调。任何其他通知都将与此回调信息异步,因此与实际更改相比可能在错误的时间收到(发生在音频线程中,而不是在 UI 主 运行 循环中)。
但是您的音频回调可能会更改某些可见状态(全局或在参数结构中),在缓冲区持续时间更新后,任何其他轮询线程或使用者线程都可以找到这些状态。
我需要确定我的 RemoteIO 回调何时更改缓冲区大小。在 iOS 7 之前,我们可以使用 AudioSessionAddPropertyListener
添加会话 属性 侦听器,然后使用 属性 kAudioSessionProperty_PreferredHardwareIOBufferDuration
。现在已弃用。有替代品吗? AVAudioSession
旨在符合 KVO,但不适用于 IOBufferDuration
或 preferredIOBufferDuration
属性。
这里的替换是什么?
缓冲持续时间以 frameCount 的形式(与回调缓冲区中的样本数成正比)以已知采样率提供给 RemoteIO 回调。任何其他通知都将与此回调信息异步,因此与实际更改相比可能在错误的时间收到(发生在音频线程中,而不是在 UI 主 运行 循环中)。
但是您的音频回调可能会更改某些可见状态(全局或在参数结构中),在缓冲区持续时间更新后,任何其他轮询线程或使用者线程都可以找到这些状态。