Ich verwende Standard-AVFoundation-Klassen, um Videos aufzunehmen und eine Vorschau anzuzeigen ( Ссылка ) )
Hier ist mein Code:
%Vor%Alles funktioniert, aber manchmal hat es einige Probleme:
Irgendwelche Ideen, was ein Problem sein kann? Das erste Thema ist definitiv wichtiger.
Die alte Frage könnte trotzdem jemanden frustrieren. Bevor Sie setFocusMode
aufrufen, ist es wichtig, den gewünschten Punkt festzulegen, andernfalls wird die Kamera den Fokus auf den vorherigen Fokuspunkt setzen. Denken Sie an setFocusMode
als COMMIT . Gleiches gilt für setExposureMode
.
AVCam Probe von Apple ist völlig falsch und kaputt.
Einige Punkte, ich habe festgestellt, dass Video-Voreinstellungen länger als die Foto-Voreinstellung initialisieren.
Machst du Videos oder machst du Fotos?
Ich habe festgestellt, dass Sie eine mittlere Qualitätseinstellung haben, aber mit 32BGRA könnte es besser sein, den Aufnahmemodus auf Foto zu setzen und das Bild nach der Aufnahme zu verkleinern. Stellen Sie auch AVVideoCodecJPEG statt 32BGRA ein.
%Vor%Anstelle von:
%Vor%Sie können sich auch für Benachrichtigungen an registrieren subjectAreaChangeMonitoring und Erzwingen einer Neuausrichtung, wenn Sie den Fokusmodus zu irgendeinem Zeitpunkt auf AVCaptureFocusModeAutoFocus ändern.
Sie können auch Code hinzufügen, um den Autofokus manuell einzustellen und ihn auf automatisch zurückzusetzen, wie dies manchmal erforderlich ist.
Ich habe den Code geändert, um einen Fokuspunkt von Interesse zu setzen und die Kamera-Konfigurationsfehlerausgabe an eine Delegate-Methode zu protokollieren.
%Vor%Tags und Links iphone camera avfoundation avcapturesession autofocus