ios - AVFoundation 我使用 setActiveVideoMinFrameDuration 没有工作

标签 ios avfoundation avcapture

我在我的演示中使用 AVCaptureVideoDataOutput 来循环拍摄照片(如扫描仪)而没有声音, 所以我将 fps 设置为低级别

[device setActiveVideoMinFrameDuration:CMTimeMake(1, 1)];
[device setActiveVideoMaxFrameDuration:CMTimeMake(1, 1)];

在我的代码中,然后这样做

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
   fromConnection:(AVCaptureConnection *)connection
{
     NSLog(@"date");
}

检查它是否工作,我发现它每秒打印 24 次,而不是 1 次 1 秒

PS:设备版本为iPhone 5C和iOS 8.12

最佳答案

我刚遇到同样的问题,你应该看看setActiveVideoMinFrameDuration或setActiveVideoMaxFrameDuration的功能说明。 苹果说:

On iOS, the receiver's activeVideoMinFrameDuration resets to its default value under the following conditions:
- The receiver's activeFormat changes
- The receiver's AVCaptureDeviceInput's session's sessionPreset changes
- The receiver's AVCaptureDeviceInput is added to a session

因此,您应该在更改 activeFormat、sessionPreset 和 AVCaptureSession 的 addInput 后调用 setActiveVideoMinFrameDuration 和 setActiveVideoMaxFrameDuration。

关于ios - AVFoundation 我使用 setActiveVideoMinFrameDuration 没有工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29910400/

相关文章:

ios - 使用 drawInRect 对齐文本 :withAttributes:

ios - 连续语音识别1分钟后无需重启

swift - AVPlayer 自动播放但不应该(Swift)

ios - 为什么 jpegStillImageNSDataRepresentation 在样本缓冲区不为空时抛出异常?

ios - 如何使用 AVFoundation 将预览(缩放)图像保存为照片?

ios - `pod setup` 消耗大量磁盘空间

ios - iOS 12 中通知中心下拉时计时器会中断

ios - 获取 "Parent" View Controller 的当前实例

iphone - 旋转从视频帧获取的 CGImage

ios - AVCaptureStillImageOutput.pngStillImageNSDataRepresentation?