我正在使用AVFoundation框架开发视频捕获应用程序,该应用程序基于Apple的AVCam示例。我想实现设置最大视频长度的功能,并在达到此限制时自动停止捕获(类似于UIImagePickerController.videoMaximumDuration)。
我假设我需要在捕获记录时注册一些通知,并检查此回调中的时间戳。我浏览了AV基础编程指南并做了一些谷歌搜索,我找不到一种方法来检索AVCaptureSession,AVCaptureMovieFileOutput或AVCaptureSomethingElse的已用时间。
任何见解都会有所帮助。谢谢!
答案 0 :(得分:1)
您可以设置maxRecordedDuration
或maxRecordedFileSize
。但是,您需要确保在captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error:
委托调用上正确处理错误,以检测录制是由于错误还是由于达到最大持续时间/文件大小而停止。
检查错误代码,如:
if (([error code] == AVErrorMaximumDurationReached)) {
[delegate captureSessionMaxDurationReached];
}