example - Cámara frontal de android
camera api android (4)
Creo que puedes recorrer las cámaras disponibles en el teléfono y revisar la información de la cámara para encontrar una (pero solo está disponible para cantar API nivel 9)
Esta respuesta podría ayudarlo: ¿Cómo abro la "cámara frontal" en la plataforma Android?
Necesito UNA función para verificar si existe la cámara frontal, y si es así, mostrar vista previa. Encontré algunos enlaces, pero cada uno de ellos habla sobre un dispositivo específico:
- ¿Cómo abro la "cámara frontal" en la plataforma Android?
- http://developer.android.com/reference/android/hardware/Camera.html#open(int
- Cámara frontal en LG Optimus 2X Speed
- Cómo usar la cámara frontal en el Samsung Galaxy S
¿Alguien puede proporcionar un código genérico para esto? ¿O tal vez un código combinado que funcione con todos los dispositivos?
Esto fue publicado por kcoppock , pero me di cuenta de que alguien se encontrará con este mensaje también en algún momento. Lo probé personalmente, trabajé muy bien en Froyo.
PackageManager pm = getPackageManager();
boolean frontCam, rearCam;
//It would be safer to use the constant PackageManager.FEATURE_CAMERA_FRONT
//but since it is not defined for Android 2.2, I substituted the literal value
frontCam = pm.hasSystemFeature("android.hardware.camera.front");
rearCam = pm.hasSystemFeature(PackageManager.FEATURE_CAMERA);
en 2.3 es posible. http://developer.android.com/sdk/api_diff/9/changes/android.hardware.Camera.html
Pero antes de eso, Android SDK no tenía ninguna API genérica para encontrar y usar la segunda cámara frontal.
Para las API> = 9 , puede utilizar la clase Camera
: http://developer.android.com/reference/android/hardware/Camera.html para ver si tiene más de una cámara y consultar la CameraInfo
getNumberOfCameras
getCameraInfo
:
http://developer.android.com/reference/android/hardware/Camera.CameraInfo.html
Constantes
int CAMERA_FACING_BACK El frente de la cámara es opuesto al de la pantalla.
int CAMERA_FACING_FRONT El frente de la cámara es el mismo que el de la pantalla.
Para las API> = 5 , una opción es leer public List<Camera.Size> getSupportedPictureSizes ()
. Las cámaras frontales generalmente tendrán una resolución máxima mucho más baja que las cámaras traseras.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html