2012-02-23 4 views
2

ソケットを介して受信したオーディオデータをAudio Queueに入れて再生する方法をお勧めします。 現在、GCDAsyncSocketを使用してデータを送受信しています。私は、オーディオレコーダーのコールバックメソッドでソケットを介してデータを送信しています。私はGCDAyncSocket didReadData:メソッドでデータを受け取りますが、その後はそれを再生する方法がわかりません。ソケットを介して受信したデータをAudio Queueに入れて再生する方法

また、オーディオキューと同時に録音と再生を行う方法を知りたいと思います。

本当にありがとうございました。

答えて

2

オーディオキューに直接データを入力することはできません。できることがあれば、ネットワークから受信したデータを自分のバッファに入れてから、オーディオキューバッファコールバック内のバッファからデータをコピーします。

オーディオセッションを適切に設定すると、標準のAudio Queue APIを使用して同時に再生して録音できますが、オーディオキューの待ち時間は、録音や再生のためにRemoteIO Audio Unit APIを使用する場合よりもはるかに高くなります。オーディオユニットには、最近のバージョンのiOSではエコーキャンセリングユニットも含まれています。これは、同時再生および録音の状況で役立ちます。

+0

こんにちは、ホットなお返事ありがとうございます。あなたは私がこのようなcirculerバッファを使うべきだと思いますか?http://atastypixel.com/blog/a-simple-fast-circular-buffer-implementation-for-audio-processing/ – prasad

+0

循環バッファリングは、データをストリーミングするための非常に一般的なテクニックです。ネットワークやリアルタイムオーディオなどのスレッド – hotpaw2

関連する問題