Obtenir L'ID de la caméra actuellement ouverte

Comment puis-je obtenir l'ID de la caméra android actuellement ouverte à partir d'une instance de caméra android? Je ne peux pas le voir dans les paramètres et getCameraInfo nécessite l'id en tant que paramètre.

22
demandé sur mbdavis 2014-02-04 21:49:06

3 réponses

Il n'y a pas moyen d'obtenir l'id de la caméra android actuellement ouverte. J'ai fini par stocker l'id quand je l'ai ouvert.

26
répondu mbdavis 2014-02-12 12:57:05

Il est juste un certain nombre de la caméra, si vous boucle à travers la recherche de la caméra que vous voulez.

Voici un extrait pour trouver la caméra frontale:

int cameraId = -1;
int numberOfCameras = Camera.getNumberOfCameras();
for (int i = 0; i < numberOfCameras; i++) {
  CameraInfo info = new CameraInfo();
  Camera.getCameraInfo(i, info);
  if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
    Log.d(DEBUG_TAG, "Camera found");
    cameraId = i;
    break;
  }
}
17
répondu James Black 2014-02-04 17:56:45
  private int findFrontFacingCameraID() {
        int cameraId = -1;
        // Search for the front facing camera
        int numberOfCameras = Camera.getNumberOfCameras();
        for (int i = 0; i < numberOfCameras; i++) {
          CameraInfo info = new CameraInfo();
          Camera.getCameraInfo(i, info);
          if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
            Log.d(TAG, "Camera found");
            cameraId = i;
            break;
          }
        }
        return cameraId;
     }
2
répondu supersabbath 2014-06-16 10:17:37