2016-11-21 5 views
1

MAC OSXのオーディオビデオ録画アプリケーションをObjective-Cを使用して作成しています。AVfoundationクラスを使用すると、ビデオはボタンをクリックして録画を開始します。AVCaptureSessionは1〜2秒後に音声を録音します

オーディオレコードの開始時間が約1〜2秒遅れています。ここで

私は、セットアップのデバイスに使用されるコードは

deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:inputDevice error:&error]; 
mic = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio]; 
microphone_input = [AVCaptureDeviceInput deviceInputWithDevice:mic error:&error]; 

if(!deviceInput){ 
    NSLog(@"Error Message: %@", error); 
} 

if ([session canAddInput:deviceInput]) { 
    [session addInput:deviceInput]; 
} 

if([session canAddInput:microphone_input]){ 
    [session addInput:microphone_input]; 
} 

動画で、次のとおりです。

CMTime fragmentInterval = kCMTimeInvalid; 
[aMovieFileOutput setMovieFragmentInterval:fragmentInterval]; 
[aMovieFileOutput startRecordingToOutputFileURL:[NSURL fileURLWithPath:  [tempFileName stringByAppendingPathExtension:@"mov"]] recordingDelegate:self]; 

起動したときに、私はオーディオ録音の遅れの理由を特定するために助けてください。

答えて

2

initWithURL:settings:error:メソッドのurlパラメータで指定された場所にオーディオファイルを作成します。その場所にファイルがすでに存在する場合、このメソッドはファイルを上書きします。

このメソッドによって呼び出される準備は、recordを呼び出すと自動的に行われます。録音時にできるだけ早く録音を開始する場合は、prepareToRecordを使用してください。

+0

私はすでに 'movieFileOutput'を使ってビデオ+オーディオを録音していますが、オーディオを正しく録音するためにAVAudioRecordクラスを別途実装する必要はありません。私を明確にしてください。 @VatsalRaval –

+0

また、オーディオファイルを別にしたくない...出力はmovieFile(オーディオ+ビデオ)でなければなりません。 –

+0

私は解決策を見つけました。私はすぐにそれを更新します.. –