Ich habe den Code für die Kamera2 von Ссылка .
Das Problem, vor dem ich stehe, ist, dass ich, wenn ich mich an meine Frontkamera gewandt habe, keine Bilder aufnehmen kann, aber mit der Rückkamera gut funktioniert.
Hat jemand die Camera2 Api implementiert, bitte helft!
Hier ist das Code-Snippet:
%Vor% Das Problem ist, dass viele nach vorne gerichtete Kameras eine feste Fokusentfernung haben. Nach dem Autofokus-Trigger in lockFocus()
verbleibt der Autofokus-Status ( CONTROL_AF_STATE ) INAKTIV und der Autofokus-Auslöser tut nichts.
Damit es funktioniert, müssen Sie überprüfen, ob Autofokus unterstützt wird oder nicht. Fügen Sie dazu setUpCameraOutputs()
:
Schließe schließlich den Fokus nicht, wenn er nicht unterstützt wird, wenn du ein Bild aufnehmen willst:
%Vor%Das Video-Beispiel von Google für Camera2 Api eignet sich sowohl für die vordere als auch für die hintere Kamera. Für die Bildaufnahme funktioniert das Beispiel von Google jedoch nur für die hintere Kamera und nicht für die vordere Kamera Lösung, die für mich funktioniert, ist
In der Methode lockFocus()
ersetzen Sie die Zeile
mit
%Vor%Hoffe, das wird helfen !!
@ ArvindSinghs Lösung ist nicht die beste, weil Sie auch die Fokusfunktionalität für die Rückkamera deaktivieren würden. Eine bessere Lösung wäre, eine Kamera in der takePicture so zu überprüfen:
%Vor% Für diese Lösung müssen Sie nur die aktuell verwendete Fläche wie hier in mSelectedFacing
Ersetzen Sie in der lockFocus () -Methode die Zeile
%Vor%mit
%Vor%Und um unerwünschte Ausrichtung zu verhindern, können Sie
verwenden/ ** * Umwandlung von Bildschirmrotation in JPEG-Ausrichtung. * /
%Vor%Tags und Links android