3

オーディオとビデオを録音しながら同時にスピーカーにオーディオを出力できる iOS アプリを作成しようとしています。

録画とプレビューを行うために、ビデオとオーディオの両方に each を使用し、ビデオとオーディオの両方に each を使用してAVCaptureSessionAVCaptureConnectionますAVAssetWriterInput。私は基本的に、RosyWriter のサンプル コードに従ってこれを実現しました。

この方法で録音をセットアップする前は、AVAudioPlayerオーディオの再生に使用していました。

ここで、キャプチャの途中で (記録するのではなく、プレビュー用にキャプチャするだけです)、 を使用しようとするとAVAudioPlayer、クラスのcaptureOutputコールバックが呼び出されなくなります。AVCaptureAudioDataOutputSampleBufferDelegate

これに対する回避策はありますか?

キャプチャを停止しないオーディオを再生するために使用する必要がある別の低レベルのサービスはありますか?

MC.

4

1 に答える 1

0

最初にAVAudioSessionとそのカテゴリを設定します。たとえば、viewDidLoadメソッドでは、

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord  withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];

したがって、BGMを再生できます

    self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:music_url error:nil];
    [self.player setDelegate:self];
    [self.player play];

そしてムービーを録画

    self.captureSession = [[AVCaptureSession alloc] init];
    /* ... addInput AVCaptureDeviceInput AVMediaTypeVideo & AVMediaTypeAudio */
    /* ... addOutput */
    [self.captureSession startRunning];
    AVCaptureMovieFileOutput *m_captureFileOutput =[self.captureSession.outputs objectAtIndex:0];
    [m_captureFileOutput startRecordingToOutputFileURL:saveMovieURL recordingDelegate:self];
于 2014-04-18T11:40:37.260 に答える