Рисование на AVCaptureVideoPreviewLayer занимает некоторое время, прежде чем оно отобразится - PullRequest
0 голосов
/ 19 октября 2018

У меня есть AVCaptureSession с AVCaptureVideoDataOutput .Я рисую слой и добавляю его в слой предварительного просмотра методом captureOutput .Проблема в том, что для отображения нарисованного слоя в слое предварительного просмотра требуется около 160 кадров.Как я могу заставить нарисованный слой появляться в слое предварительного просмотра, начиная с кадра № 1?

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

    i += 1
    print("\(i)")

    layer.removeFromSuperlayer
    layer.path = UIBezierPath(roundedRect: CGRect(x: 64, y: 64, width: 160, height: 160), cornerRadius: 50).cgPath
    layer.fillColor = UIColor.red.cgColor
    previewLayer.layer.addSublayer(layer)

}
...