根据显示不同视频过滤器所需的工作量,iOS应用程序中的帧速率不同。我注意到帧速率尚未立即建立,这可能会对设备的CPU和电池寿命产生巨大影响。我设置了 activeVideoMinFrameDuration 和 activeVideoMaxFrameDuration 。当它们实际建立时,是否有办法获得通知,因此我可以在设置视频过滤器之前提前设置帧速率?
let framesPerSec = filter.fps
do {
try device!.lockForConfiguration()
let timeValue = Int64((framesPerSec * 100) / framesPerSec)
let timeScale: Int64 = Int64(framesPerSec * 100)
device?.activeVideoMinFrameDuration = CMTimeMake(value: timeValue, timescale: Int32(timeScale))
device?.activeVideoMaxFrameDuration = CMTimeMake(value: timeValue, timescale: Int32(timeScale))
device!.unlockForConfiguration()
} catch {
print("\(error.localizedDescription)")
}