didOutputSampleBufferデリゲートで生データとして受信したオーディオを再生しようとしています。生データを処理する適切な方法は何ですか?
1 に答える
次の Apple のサンプル コードを見てください: AVCaptureTtoAudioUnitOSX
生のオーディオ データを適切に処理し、AudioUnit.
基本原則は次のとおりです。
形式に関する情報については、
SampleBufferを取得してくださいAudioStreamBasicDescriptionまず サンプルレート、チャンネルあたりのビット数、フレームあたりのチャンネル数、パケットあたりのフレーム数に関する情報を取得
CMFormatDescriptionRefできCMSampleBufferGetFormatDescription
ますAudioStreamBasicDescription。CMAudioFormatDescriptionGetStreamBasicDescriptionAudioBufferList実際の音声データで を取得するCoreAudio の Public Utility を使用するか、このメーリング リストエントリで正しい方法を 確認してください。
関数が呼び出されCMSampleBufferGetAudioBufferListWithRetainedBlockBufferます。3 番目のパラメーターは、希望するbufferListOutものでありAudioBufferList、たとえば AudioUnit など、必要なものを操作するために渡されます。実際の生データの取得
それぞれにデータが含まれてい
AudioBufferListますAudioBuffersstruct AudioBuffer { UInt32 mNumberChannels; UInt32 mDataByteSize; void *mData; };
これでうまくいくはずです。詳細については、Apple のサンプル コードを参照してください。