如何获得AVCapture时间码?

时间:2011-06-14 14:35:26

标签: iphone uiimagepickercontroller avfoundation avcapturesession avcapture

我正在使用AVFoundation框架开发视频捕获应用程序,该应用程序基于Apple的AVCam示例。我想实现设置最大视频长度的功能,并在达到此限制时自动停止捕获(类似于UIImagePickerController.videoMaximumDuration)。

我假设我需要在捕获记录时注册一些通知,并检查此回调中的时间戳。我浏览了AV基础编程指南并做了一些谷歌搜索,我找不到一种方法来检索AVCaptureSession,AVCaptureMovieFileOutput或AVCaptureSomethingElse的已用时间。

任何见解都会有所帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以设置maxRecordedDurationmaxRecordedFileSize。但是,您需要确保在captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error:委托调用上正确处理错误,以检测录制是由于错误还是由于达到最大持续时间/文件大小而停止。

检查错误代码,如:

if (([error code] == AVErrorMaximumDurationReached)) {
    [delegate captureSessionMaxDurationReached];
}