web-dev-qa-db-fra.com

Android - Basculer entre la caméra avant et la caméra arrière pendant l'enregistrement d'une vidéo

J'essaie d'implémenter une caméra personnalisée pour enregistrer une vidéo. J'ai suivi Cet échantillon et cela fonctionne bien.

Maintenant, je veux ajouter la fonctionnalité "Changer de caméra" sur un clic de bouton. Il devrait pouvoir basculer entre la caméra avant/arrière même pendant l'enregistrement de la vidéo.

Par conséquent, aidez-moi à savoir si c'est même possible ??

1. Si oui, alors comment?

2. Si non, veuillez suggérer une solution de contournement ??

Quelques exemples de codes ou de liens seraient très utiles ...

Remarque: J'ai fait une recherche sur Google à ce sujet et j'ai trouvé des réponses StackOverFlow comme

Android Camera2 API basculer en arrière - caméras avant

Android: changer d'appareil photo lorsque le bouton est cliqué

Mais aucun de ceux-ci ne donne la possibilité de changer la caméra lorsque la vidéo est en cours d'enregistrement .

Veuillez aider.

Le code est le même que Cet exemple . Et c'est l'API Camera2 .

13
iMDroid

En ce qui me concerne, cet appareil photo est un appareil et @ Selvin les caméras avant et arrière expliquées sont des appareils différents.

Certains appareils ont leurs propres fonctionnalités que vous pouvez changer d'appareil photo pendant l'enregistrement vidéo. Nexus 9 . Pour plus de détails, veuillez vous référer à cette question .

Vous pouvez également le faire en utilisant MediaRecorder . Vous pouvez implémenter comme la réponse à cette question. comment basculer entre la caméra avant et la caméra arrière lors de l'utilisation de MediaRecorder android?

Je n'ai plus d'idée à ce sujet mais si vous voulez le faire alors faites comme ça: -

1. Lorsque vous enregistrez une vidéo à l'aide de la caméra arrière et passez à la caméra avant, enregistrez temporairement cette vidéo en local et en étoile avec la caméra avant.
2. maintenant arrêtez l'enregistrement vidéo puis margez ce fichier et enregistrez-le en un seul fichier.

4
Shailesh
camera = Camera.open(currentCameraId);
// Pass 0 And 1 currentCameraId
setCameraDisplayOrientation(CameraActivity.this, currentCameraId, camera);
try {

    camera.setPreviewDisplay(previewHolder);
} catch (IOException e) {
    e.printStackTrace();
}
camera.startPreview();
}
0
PRATEEK BHARDWAJ