0

我正在使用音频单元录制音频,然后将该数据写入一个 NSOutputStream,它是我用来通过 HTTP 发布该数据的绑定对的一部分。我的问题是音频单元录制回调和 NSOutputStream hasSpaceAvailable 回调完全相互独立,所以我很快就会遇到缓冲区不足。有没有办法同步这两者或将录音回调直接映射到 NSOutputStream?

4

1 回答 1

0

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

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

于 2017-02-12T21:57:02.797 回答