Android фронтальная камера - PullRequest
19 голосов
/ 23 мая 2011

Мне нужна ОДНА функция, чтобы проверить, существует ли фронтальная камера, и если да - показать предварительный просмотр. Я нашел несколько ссылок, но каждая из них рассказывает о конкретном устройстве:

Может ли кто-нибудь предоставить общий код для этого? Или, может быть, комбинированный код, который будет работать со всеми устройствами?

Ответы [ 4 ]

20 голосов
/ 23 мая 2011

Для API> = 9 , вы можете использовать класс Camera: http://developer.android.com/reference/android/hardware/Camera.html, чтобы увидеть, имеет ли он более одной камеры, и запросить CameraInfo

  • getNumberOfCameras

  • getCameraInfo:

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

Константы

int CAMERA_FACING_BACK Лицо камеры противоположно экрану.

int CAMERA_FACING_FRONT Внешний вид камеры такой же, как у экрана.


Для API> = 5 можно читать public List<Camera.Size> getSupportedPictureSizes (). Максимальное разрешение фронтальных камер обычно намного ниже, чем у задних камер.

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

11 голосов
/ 26 сентября 2012

Это сообщение было опубликовано kcoppock , но я подумал, что кто-нибудь тоже когда-нибудь встретит это сообщение. Я лично проверял, отлично работал на 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);
2 голосов
/ 23 мая 2011

в 2.3 это возможно.http://developer.android.com/sdk/api_diff/9/changes/android.hardware.Camera.html

Но до этого у Android sdk не было общего API для поиска и использования второй фронтальной камеры.

0 голосов
/ 23 мая 2011

Я думаю, что вы можете просмотреть доступные камеры на телефоне и проверить информацию о на камере, чтобы найти одну (но она доступна только для уровня API 9)

этот ответ можетпомочь вам: Как открыть «фронтальную камеру» на платформе Android?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...