3

マイクからオーディオを取得し、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 を他のデバイスで実行する方法がわかりません。その他のことは、オーディオを継続的に取得する方法です。すべてのバッファーがいっぱいになると、データを受信しなくなり、バッファーをクリーンアップする必要があると思います。

どんなアイデアでも大歓迎です、ありがとう!

4

0 に答える 0