使用NSOutputStream同步AudioUnit回调

问题描述:

我使用音频单元录制音频,然后将数据写入NSOutputStream,该数据是绑定对的一部分,用于通过HTTP POST数据。我的问题是音频单元录音回调和NSOutputStream hasSpaceAvailable回调是完全独立的,所以我得到缓冲区欠速很快。有什么办法来同步这两个或者将音频记录回调直接映射到NSOutputStream?使用NSOutputStream同步AudioUnit回调

根据Apple DTS,您不应该在实时线程音频单元回调中进行任何联网或任何其他同步。

但是,您不必直接在网络流的hasSpaceAvailable回调中发布数据。您可以在该回调函数退出后发布数据,现在您知道空间可用,并且数据可用。您还可以在循环队列或FIFO中缓冲一些额外的音频数据,以便通常可以发送一些数据来覆盖网络速率变化和延迟抖动。