2016-11-21 73 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

我找到了解决方案,我会尽快更新它.. –