我正在按照以下方法对框架进行某种处理

func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {}


但是我不想在所有框架中都这样做,例如我想要1/15或1/10,如何实现这一点?swift是否提供了任何预构建逻辑?

最佳答案

您可以在类中添加一个计数器,然后在captureOutput中将其递增

func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection){
i += 1
   if (i % 15 == 0) //every 15 frames
   {
   //process your frame
   }
}

09-07 14:20