2012-02-07 8 views
3

私はスピーカーに同時にオーディオを出力しながらオーディオとビデオを記録できるiOSアプリケーションを作成しようとしています。AVCaptureSessionとオーディオを同時に再生するオーディオ/ビデオを録画するには?

録画とプレビューを行うには、AVCaptureSession、ビデオとオーディオの両方にそれぞれAVCaptureConnection、ビデオとオーディオの両方にそれぞれAVAssetWriterInputを使用しています。私は基本的にRosyWriterのサンプルコードに従うことでこれを達成しました。

このように録音を設定する前に、私はAVAudioPlayerを使ってオーディオを再生していました。私は(だけでも、プレビューのために捕捉し、記録していない)キャプチャーの真ん中にいる、とAVAudioPlayerを使用しようとすると、今、私のAVCaptureAudioDataOutputSampleBufferDelegateクラスストップで私のcaptureOutputコールバックが呼び出さ取得

回避策はありますか?

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

mc。

+0

これまでの任意の解決策を記録することができますか? – sajwan

+0

答え:http://stackoverflow.com/a/7219499/2700842 –

答えて

1

最初にとそのカテゴリを設定します。 viewDidLoad方法の例では、

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

は、したがって、あなたは

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

BGM

を再生し、映画

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]; 
関連する問題