web-dev-qa-db-fra.com

Caméra frontale Android

Il me faut UNE fonction pour vérifier si la caméra frontale existe et, le cas échéant - afficher un aperçu. J'ai trouvé quelques liens, mais chacun d'entre eux parle d'un périphérique spécifique:

Quelqu'un peut-il fournir un code générique pour cela? Ou peut-être un code combiné qui fonctionnera avec tous les appareils?

19
OkyDokyman

Pour les API> = 9 , vous pouvez utiliser la classe Camera: http://developer.Android.com/reference/Android/hardware/Camera.html pour voir si elle en possède plusieurs. caméra, et interroger la CameraInfo

  • getNumberOfCameras 

  • getCameraInfo:

http://developer.Android.com/reference/Android/hardware/Camera.CameraInfo.html

Constantes

int CAMERA_FACING_BACK La face de la caméra est opposée à celle de l'écran.

int CAMERA_FACING_FRONT Le recto de la caméra est identique à celui de l'écran.


Pour les API> = 5 , une option consiste à lire public List<Camera.Size> getSupportedPictureSizes (). Les caméras frontales ont généralement une résolution maximale beaucoup plus basse que les caméras arrières.

http://developer.Android.com/reference/Android/hardware/Camera.Parameters.html

20
Aleadam

Cela a été posté par kcoppock , mais j’ai pensé que ce message serait aussi rencontré par quelqu'un de temps en temps. Je l'ai testé personnellement et ai très bien travaillé sur 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);
11
JustAGuy

en 2.3 c'est possible. http://developer.Android.com/sdk/api_diff/9/changes/Android.hardware.Camera.html

Mais avant cela, Android sdk n’avait pas d’API générique pour trouver et utiliser le deuxième appareil photo frontal. 

2
Aniket Awati

Je pense que vous pouvez parcourir les caméras disponibles sur le téléphone et consulter les informations de faisant face à caméra pour en trouver une (mais cette option est disponible uniquement à partir de l'API de niveau 9).

cette réponse pourrait vous aider: Comment puis-je ouvrir la "caméra frontale" sur la plate-forme Android?

0
BFil