【问题标题】:Synchronize AudioUnit callback with NSOutputStream将 AudioUnit 回调与 NSOutputStream 同步
【发布时间】:2017-02-10 16:35:38
【问题描述】:

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

【问题讨论】:

    标签: ios audiounit nsrunloop nsoutputstream audiosession


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-03-19
      • 2020-02-19
      • 1970-01-01
      • 2013-02-16
      • 2015-07-20
      • 1970-01-01
      • 2015-07-30
      • 2019-10-12
      • 1970-01-01
      相关资源
      最近更新 更多