マイクからオーディオを取得し、tcp 接続を使用して他のデバイスに渡す必要があります。AudioQueue から AudioBuffer を再生できるかどうかはわかりません。
現在、私は以下のコードでバッファを取得しています:
void AudioInputCallback(
void *inUserData,
AudioQueueRef inAQ,
AudioQueueBufferRef inBuffer,
const AudioTimeStamp *inStartTime,
UInt32 inNumberPacketDescriptions,
const AudioStreamPacketDescription *inPacketDescs)
{
AudioRecorder *self = (AudioRecorder *)inUserData;
if(!self.recordState.recording)
{
NSLog(@"[ AudioRecorder ] AudioInputCallback not recording");
return;
}
if(inNumberPacketDescriptions > 0)
{
NSData *data = [[NSData alloc] initWithBytes:inBuffer->mAudioData length:inBuffer->mAudioDataByteSize * 2];
[self.delegate didReceivedAudioData:data];
[data release];
}
}
このブロックは、mAudioData を NSData にプッシュするだけです。NSData は、デバイス間でデータを転送するための重要なデータ型です。
この mAudioData を他のデバイスで実行する方法がわかりません。その他のことは、オーディオを継続的に取得する方法です。すべてのバッファーがいっぱいになると、データを受信しなくなり、バッファーをクリーンアップする必要があると思います。
どんなアイデアでも大歓迎です、ありがとう!