Ich möchte eine Android Camera App für mich selbst entwickeln (kann es teilen, wenn es interessierte Leute gibt), die einen manuellen Fokus während der Videoaufnahme hat.Manuelle Fokussierung mit Android Kamera2 API
Ich habe eine Google-Stichprobe Camera2 app eine SeekBar hinzugefügt, aber ich kann den Weg zum manuellen Fokus nicht finden.
Ich fand Manual focus in camera2, android, aber es funktioniert nicht auf meinem LG G4. Die Standard-Kamera-App ist fast perfekt, da sie den manuellen Fokus im Videomodus nicht erlaubt.
Hat jemand von euch eine Idee?
EDIT: Hier ist der Code des SeekBar Zuhörer:
@Override
public void onStopTrackingTouch(SeekBar seekBar) {}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
mPreviewBuilder.set(CaptureRequest.CONTROL_AF_MODE, CameraMetadata.CONTROL_AF_MODE_OFF);
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
float minimumLens = characteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE);
float num = (((float)progress) * minimumLens/100);
mPreviewBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, num);
}
Es gibt eine APK (https: //play.google.com/store/apps/details?id=com.sdgsystems.camera2probe), um festzustellen, ob ein Gerät die Camera2-API unterstützt und LG G4 eine vollständige Unterstützung hat und MANUAL_SENSOR aufgeführt ist. Ich habe versucht, den Autofokus-Modus auf AUS zu stellen, aber wenn ich den Fokusabstand des Objektivs auf den Wert der SeekBar stelle, macht das nichts. Ich habe meinen Hauptbeitrag bearbeitet, um den Code hinzuzufügen, den ich habe. – Rallph
Wo rufen Sie mSession.setRepeatingRequest (mPreviewBuilder.build()) auf, nachdem Sie die Preview Builder-Werte aktualisiert haben? –
Ich nenne es eigentlich nicht, aber es funktioniert, wenn ich es in 'onProgressChanged()' versuchte, vielen Dank! – Rallph