【发布时间】:2014-03-03 22:43:02
【问题描述】:
我正在尝试使用 AVCaptureSession 每秒拍摄 5 张照片,但我不确定我是否理解 AVFrameRange 的含义。目前我有一些设置设备的代码:
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
并尝试将activeVideoMinFrameDuration 和activeVideoMaxFrameDuration 设置为自定义值CMTimeMake(1, 5)。 Apple 告诉我我只能使用他们提供的 AVFrameRanges 之一。
当我对它们进行 NSLogged 时,我得到 (2, 30)、(2,60) 和 (2,24)。我首先想知道这意味着什么?这是相机运行的帧速率还是捕获帧的间隔(即我正在尝试做的事情)?
如果不是,我该怎么做才能在我的 sampleBufferDelegate 方法上每秒保存 5 帧?目前它给了我每一帧,因为每次有帧时都会调用该方法,所以我只需要一些关于如何每秒抓取 5 帧的指针。
【问题讨论】:
-
您不只是设置
min和max帧速率,如下所述:developer.apple.com/library/ios/documentation/AVFoundation/… -
我认为他们不允许我将其设置为自定义值,例如每秒 5 帧。
标签: ios objective-c avcapturesession avcapturedevice