Estoy usando AVFoundation
para mostrar un video en mi UIView
a través de AVCaptureVideoPreviewOverlay
. Luego uso AVStillImageOutput
-
captureStillImageAsynchronouslyFromConnection :
para capturar una imagen fija del video con el valor predeterminado AVCaptureSessionPresetPhoto
.¿Cómo pauso el video en el momento exacto en que capturo una foto?
Me estoy congelando el vídeo usando AVCaptureSession
's -
stopRunning en el bloque de terminación -
captureStillImageAsynchronouslyFromConnection se mencionó anteriormente. Sin embargo, es demasiado tarde y el video continúa funcionando mientras se toma la imagen fija, por lo que la congelación es uno o dos segundos más tarde. Cuando visualizo la imagen, aparece un salto.
¿Cómo puedo congelar el video en el momento exacto en que se toma la foto?
¿Realiza '-stopRunning' como la primera acción en su bloque de finalización? Otras operaciones en ese bloque pueden llevar una cantidad significativa de tiempo, por lo que querrás que sea lo primero que suceda allí. –
stopRunning es la primera acción – user1130254
¿Está capturando sus marcos de video en el hilo principal o en el hilo de fondo? –