でマイクデバイスを追加しましたAVCaptureSession
。delegateMethod を介してオーディオが必要です。このメソッドは、取得するたびにサーバーにオーディオを書き込みます。しかし、AUDIO FORMAT が正しくありません。PCM で必要なサーバー。では、PCM 形式のオーディオ データを取得するにはどうすればよいでしょうか。サーバーにデータを書き込む方法は次のとおりです。
(void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection
{
AudioBufferList audioBufferList;
NSMutableData *data=[[NSMutableData alloc] init];
CMBlockBufferRef blockBuffer;
CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(sampleBuffer, NULL, &audioBufferList, sizeof(audioBufferList), NULL, NULL, 0, &blockBuffer);
for( int y=0; y<audioBufferList.mNumberBuffers; y++ )
{
AudioBuffer audioBuffer = audioBufferList.mBuffers[y];
Byte *frame = (Byte*)audioBuffer.mData;
[data appendBytes:frame length:audioBuffer.mDataByteSize];
}
CFRelease(blockBuffer);
blockBuffer=NULL;
[outputStream write:[data bytes]maxLength:[data length]];
}
要件に応じてデータを取得できるように、このフェーズ コードにオーディオ設定を追加する理由はありますか?