我正在尝试使用Swift中的AVCaptureDevice捕获时设置每秒10帧的帧速率.
我相信这是通过设置AVCaptureDevice的activeVideoMaxFrameDuration来实现的,但也许我这样做是错误的,并且有不同的方式.
这是我当前的代码,它运行时没有错误,但对预览或捕获的视频中的帧速率没有任何影响,它仍然显示为全动态.
var devices = AVCaptureDevice.devicesWithMediaType(mediaType);
var captureDevice: AVCaptureDevice = devices[0] as AVCaptureDevice;
captureDevice.lockForConfiguration(&error)
captureDevice.activeVideoMinFrameDuration = CMTimeMake(1,10)
captureDevice.activeVideoMaxFrameDuration = CMTimeMake(1,10)
captureDevice.unlockForConfiguration()
Run Code Online (Sandbox Code Playgroud)
我已经检查了AVCaptureDeviceFormat videoSupportedFrameRateRanges minFrameRate并且应该支持每秒10帧.
将CMTime更改为videoSupportedFrameRateRanges之外的某些内容会引发错误,因此我知道代码正在使用,它只是没有效果.
在此先感谢您的帮助