如何将通过套接字接收的数据放入音频队列并播放

时间:2012-02-23 15:24:43

标签: objective-c ios core-audio audio-streaming

有人可以建议我将通过套接字接收的音频数据放入音频队列进行播放。 目前我正在使用GCDAsyncSocket来发送和接收数据。我在socket录音机中发送数据回调方法。我在GCDAyncSocket didReadData:方法中接收数据,但之后我不知道如何播放它。

此外,我想知道如何同时录制和播放音频队列。

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:2)

您无法将数据直接放入音频队列。您可以做的是将从网络接收的任何数据放入您自己的缓冲区,然后如果有足够的数据,则从音频队列缓冲区回调中的缓冲区中复制数据。

如果您正确设置音频会话,则可以使用标准音频队列API同时播放和录制,但音频队列的延迟可能远远高于使用RemoteIO音频单元API进行录制和播放。音频单元还包括最近版本iOS中的回声消除单元,可能在同时播放和录制情况下非常有用。