【问题标题】:AVCaptureSession recording audio only after 1 to 2 seconds delayAVCaptureSession 仅在延迟 1 到 2 秒后录制音频
【发布时间】:2016-11-21 06:37:21
【问题描述】:

我正在使用Objective-C 使用AVfoundation 类为MAC OSX 创建一个音频视频录制应用程序,视频在按钮单击时开始录制。

录音开始时间有大约 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];

请帮我找出开始时录音延迟的原因。

【问题讨论】:

    标签: objective-c macos avfoundation avcapturesession


    【解决方案1】:

    initWithURL:settings:error: 方法中的url 参数指定的位置创建一个音频文件。如果该位置已存在文件,则此方法将覆盖它。

    此方法调用的准备工作在您调用记录时自动进行。如果您希望在通话记录后尽快开始录音,请使用prepareToRecord

    【讨论】:

    • 因为我已经指定使用“movieFileOutput”录制视频+音频,是否需要单独实现 AVAudioRecord 类来正确录制音频。请澄清一下。 @VatsalRaval
    • 另外我不想要单独的音频文件...输出应该是一个movieFile(Audio+Video)。
    猜你喜欢
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2015-09-10
    • 1970-01-01
    相关资源
    最近更新 更多