2

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

我假设我需要在捕获记录时注册一些通知,并检查此回调中的时间戳。我查看了 AV Foundation Programming Guide 并进行了一些谷歌搜索,但我找不到一种方法来检索 AVCaptureSession、AVCaptureMovieFileOutput 或 AVCaptureSomethingElse 的经过时间。

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

4

1 回答 1

1

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

检查错误代码,如:

if (([error code] == AVErrorMaximumDurationReached)) {
    [delegate captureSessionMaxDurationReached];
}
于 2011-10-25T09:00:29.063 回答