Je veux développer une application pour appareil photo Android pour moi-même (peut la partager s'il y a des personnes intéressées) qui a une mise au point manuelle pendant l'enregistrement vidéo.Mise au point manuelle à l'aide de la caméra Android2 API
J'ai ajouté un SeekBar à l'échantillon google Camera2 app mais je ne peux pas trouver le moyen de mettre en œuvre la mise au point manuelle.
J'ai trouvé Manual focus in camera2, android mais cela ne fonctionne pas sur mon LG G4. L'application de caméra de stock est presque parfaite car elle ne permet pas la mise au point manuelle en mode vidéo.
Est-ce que quelqu'un d'entre vous a une idée?
EDIT: voici le code de l'auditeur SeekBar:
@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);
}
Il y a un APK (https: //play.google.com/store/apps/details?id=com.sdgsystems.camera2probe) pour savoir si un périphérique prend en charge l'API Camera2 et si LG G4 dispose d'un support complet et si MANUAL_SENSOR est répertorié. J'ai essayé de régler le mode autofocus sur OFF mais lorsque j'ai réglé la distance de mise au point de l'objectif sur la valeur du SeekBar, cela ne fait rien. J'ai édité mon post principal pour ajouter le code que j'ai. – Rallph
Où appelez-vous mSession.setRepeatingRequest (mPreviewBuilder.build()) après avoir mis à jour les valeurs du générateur de prévisualisation? –
En fait, je ne l'appelle pas mais ça marche quand j'ai essayé 'onProgressChanged()', merci beaucoup! – Rallph