私は会議関連のアプリケーションに取り組んでいます。最初に CaptureSession でオーディオをキャプチャしましたが、ファイルに保存せずにオーディオ データを動的に再生したいと考えています。AVQueue
両方試してみましたが、キューを開始するCaptureSession
とAVQueue
キャプチャが停止するため、両方が機能しないようです。CaptureSession でキャプチャされたオーディオを再生するにはどうすればよいですか?
助けてくれてありがとう
私は会議関連のアプリケーションに取り組んでいます。最初に CaptureSession でオーディオをキャプチャしましたが、ファイルに保存せずにオーディオ データを動的に再生したいと考えています。AVQueue
両方試してみましたが、キューを開始するCaptureSession
とAVQueue
キャプチャが停止するため、両方が機能しないようです。CaptureSession でキャプチャされたオーディオを再生するにはどうすればよいですか?
助けてくれてありがとう
AudioUnit メソッドを使用して問題を修正しました。注: AudioUnit を使用して AVCapturesession でキャプチャされたオーディオ データを処理する場合、AudioUnit がキャプチャ デバイス (私の場合はマイク) にアクセスしようとしていないことを確認する必要があります。これがキャプチャ コールバックを停止した理由です。 .
あなたがする必要がありconvert
ます:audioData
NSData
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer: (CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection {
NSData *audioData = yourFunction here to convert//[self audioFromSampleBuffer:sampleBuffer];
dispatch_async(dispatch_get_main_queue(), ^{
NSError *e;
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:data error:&e];
NSLog(@"%@",[e description]);
[player setDelegate:self];
[player play];
}
}
編集: Recording_Audio_on_an_iPhone_with_AVAudioRecorderリンクを参照してください。