2015-12-20 2 views
0

Я пытаюсь найти способ сказать, какие камеры у устройства есть. У меня есть количество камер, но я хотел бы точно знать, какие камеры они есть.Android: получите имя камеры (спереди, сзади, снаружи)

У моего планшета в настоящее время есть передняя и задняя камера, и я хотел бы подключить внешнюю камеру. У меня есть опции, которые позволят пользователю выбирать переднюю или внешнюю, если у устройства есть все 3. Если устройство имеет только заднюю камеру, я хочу только показать это как «вариант». Или, если он имеет только спереди и сзади, или спереди и внешний, и т.д.

меня это до сих пор:

CameraManager myCamera = (CameraManager) getSystemService(Context.CAMERA_SERVICE); 
final int numCameras = Camera.getNumberOfCameras(); 
Toast.makeText(StartPage.this, numCameras + " cameras", Toast.LENGTH_SHORT).show(); 
for(int i = 0; i <= numCameras; i++){ 
    Log.d("cameraNum", "Camera "+i) 
    CameraInfo cameraInfo = new CameraInfo(); 
    Camera.getCameraInfo(i, cameraInfo); 
} 

Итак, у меня есть несколько камер, я тост номера (показывая 2, Мне еще нужно выяснить, как показывать 3 с подключенной внешней камерой), и я начинаю цикл for, начиная с нуля.

Но я не знаю, как использовать последние две строки, чтобы сообщить мне, какая камера у меня есть. Как использовать переменную cameraInfo, чтобы сказать мне, есть ли она спереди, сзади или снаружи?

+0

У вас есть решение для этого? – user2988855

ответ

2

Как использовать переменную cameraInfo, чтобы сообщить мне, есть ли она спереди, сзади или снаружи?

Camera.CameraInfo имеет a facing field. Цитируя JavaDocs, это:

Направление, с которым сталкивается камера. Он должен быть CAMERA_FACING_BACK или CAMERA_FACING_FRONT.

Для внешних камер нет поддержки в Camera. Я не знаю, поддерживает ли Android 5.0+ android.hardware.camera2 API внешние камеры или нет.

+0

Ах, отлично! Спасибо! Будет приниматься, когда достигнут предел времени – ntgCleaner

+2

https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#LENS_FACING Да, API камеры2 поддерживает «внешний» как «объектив», – mawalker

Смежные вопросы