0

Привет Я разрабатываю пользовательское видео приложение. Я могу получить currentCameraId поКак обнаружить переднюю камеру и флэш-память

currentCameraId = Camera.CameraInfo.CAMERA_FACING_BACK; 

У меня есть два вопроса, чтобы спросить:

1) Как обнаружить андроид устройства с единственной фронтальной камерой.

Поскольку на таблетки только с передней камеры, как на вкладке Micromax, то currentCameraId 0.

2) Как проверить камеру вспышки наличие как ниже код не работает на некоторых телефонах

flash = this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH); 

Пожалуйста, помогите.

Спасибо!

ответ

7

Для Check Flash Light доступен или не

boolean hasFlash = getApplicationContext().getPackageManager() 
       .hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH); 

Чтобы Проверить Камера доступна или нет

PackageManager pm = context.getPackageManager(); 

if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) { 

} 

Если вы используете уровень API 9 (Android 2.3) или выше, вы можете сделать следующее для расчета индекса (первой) фронтальной камеры:

int getFrontCameraId() { 
    CameraInfo ci = new CameraInfo(); 
    for (int i = 0 ; i < Camera.getNumberOfCameras(); i++) { 
     Camera.getCameraInfo(i, ci); 
     if (ci.facing == CameraInfo.CAMERA_FACING_FRONT) return i; 
    } 
    return -1; // No front-facing camera found 
} 

вы можете использовать индекс для Camera.open

Для например

int index = getFrontCameraId(); 
if (index == -1) error(); 
Camera c = Camera.open(index); 
+0

спасибо за ответ. Как проверить, поддерживается ли вспышка для передней камеры? – sanjana

+0

Check This May This Help You .. http://stackoverflow.com/questions/16400910/android-test-if-front-camera-supports-flash –

+0

ja moj kar ganda :) –

0

Вы можете попробовать это

public boolean hasFlash() { 
     if (camera == null) { 
      return false; 
     } 

     Camera.Parameters parameters = camera.getParameters(); 

     if (parameters.getFlashMode() == null) { 
      return false; 
     } 

     List<String> supportedFlashModes = parameters.getSupportedFlashModes(); 
     if (supportedFlashModes == null || supportedFlashModes.isEmpty() || supportedFlashModes.size() == 1 && supportedFlashModes.get(0).equals(Camera.Parameters.FLASH_MODE_OFF)) { 
      return false; 
     } 

     return true; 
    } 

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

  • Нет связанных вопросов^_^