Wie unterbreche ich das Video genau in dem Moment, in dem ich ein Foto aufnehme?

8

Ich verwende AVFoundation , um ein Video in meinem UIView über ein AVCaptureVideoPreviewOverlay anzuzeigen. Ich verwende dann AVStillImageOutput s - captureStillImageAsynchronouslyFromConnection : , um ein Standbild aus dem Video mit der Voreinstellung AVCaptureSessionPresetPhoto aufzunehmen.

Ich friere das Video ein, indem ich AVCaptureSession s - stopRunning im oben erwähnten Block c_de% captureStillImageAsynchronouslyFromConnection verwende. Es ist jedoch zu spät und das Video läuft weiter, während das Standbild aufgenommen wird. Das Einfrieren dauert also ein oder zwei Sekunden. Wenn ich das Bild anzeige, gibt es einen Sprung.

Wie kann ich das Video genau in dem Moment einfrieren, in dem das Foto aufgenommen wurde?

    
user1130254 27.07.2012, 13:52
quelle

1 Antwort

1

Fast ein Jahr später ... Ihr Vorgehen ist völlig falsch. Anstatt zu versuchen, das Video genau in dem Moment anzuhalten, in dem das Bild aufgenommen wurde, pausieren Sie das Video nicht und zeichnen Sie dann das angehaltene Bild auf. Für einen Benutzer spielt es keine Rolle, für einen Entwickler müssen Sie sich keine Gedanken über die exakte Genauigkeit machen.

Um meine Idee zu wiederholen: Wenn Sie ein Video pausieren und weißes Bild blinken lassen und einen Klick abspielen, wird der Benutzer denken, dass Sie gerade diesen Rahmen aufgenommen haben, egal ob Sie es sind oder nicht. Eigentlich könnte man es in Betracht ziehen, Video genauso zu pausieren wie ein Bild, ohne es zu speichern.

    
Gallonallen 07.06.2013 03:06
quelle

Tags und Links