Einstellen der Fokusfokusentfernung in Android
Im manuellen Modus kann ich mit der Kamera-App meines Xperia XA (Sony F3113) die Fokusentfernung für die Rückfahrkamera mithilfe eines Schiebereglers einstellen. (Siehe Screenshot hier .)
Gibt es eine Möglichkeit, den Code zu sehen oder damit herumzuspielen, den die App verwendet, um dies zu tun?
Gibt es eine Möglichkeit, die Fokusentfernung (NICHT den Autofokus) in einer eigenen App einzustellen?
Vielen Dank!!!
Hinweis 1: Ich glaube, dass die Camera2-API auf diesem Telefon keine Option ist. (Bitte korrigiere mich wenn ich falsch liege.)
Anmerkung 2: Meine Frage (und letzte Absicht) ist sehr ähnlich wie diese , die nicht zufriedenstellend beantwortet worden.
Antworten
Sofern das Gerät die Kamera2-Funktion MANUAL_SENSOR nicht unterstützt , gibt es keine Standardmethode für die manuelle Fokussierung. Wenn diese Funktion unterstützt wird, können Sie einfach LENS_FOCUS_DISTANCE verwenden , um den Fokus zu ändern.
Wenn dies nicht aufgeführt ist, hat der Hersteller wahrscheinlich eine benutzerdefinierte Steuerung für die Fokusentfernungssteuerung hinzugefügt. Wenn es sich bei dem Gerät um eine LEGACY- Kamera handelt, handelt es sich android.hardware.Camera.Parametershöchstwahrscheinlich um eine benutzerdefinierte Zeichenfolge. Wenn Sie den Steuerwert kennen, können Sie ihn mit Parameters.set () anpassen.
Möglicherweise können Sie dies für dieses bestimmte Gerät herausfinden, indem Sie die Standard-App ausführen, den manuellen Fokus anpassen und während die App noch aktiv ist, adb zum Ausführen verwenden adb shell dumpsys media.cameraund die aktuellen aufgelisteten Kameraparameterwerte anzeigen. Es kann sein, dass zusätzlich zur eigentlichen Fokusentfernungssteuerung mehrere Einstellungen angepasst werden müssen (z. B. AF-Modus).
Dies gilt natürlich nur für dieses bestimmte Gerät. Da es nicht dokumentierte Schnittstellen gibt, können sie sich je nach OEM, Gerät oder sogar nach Betriebssystemaktualisierung ändern. Also abhängig von ihnen ist sehr zerbrechlich.