2016-11-21 86 views
1

我正在使用Objective-C使用AVfoundation類創建一個音頻視頻錄製應用程序MAC OSX,視頻開始在按鈕單擊時錄製。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參數指定的位置創建音頻文件。如果文件已經存在於該位置,則此方法將覆蓋該文件。

當您調用記錄時,由此方法調用的準備工作會自動進行。當您希望記錄在呼叫記錄時儘快啓動時,請使用prepareToRecord

+0

正如我已經指定使用'movieFileOutput'錄製視頻+音頻,是否有任何需要單獨實施AVAudioRecord類以正確錄製音頻..請澄清我。 @VatsalRaval –

+0

另外我不想單獨的音頻文件...輸出應該是一個movieFile(音頻+視頻)。 –

+0

我找到了解決方案,我會盡快更新它.. –