2015-10-24 3 views
0

Могу ли я использовать предварительный просмотр камеры и фонарик одновременно в Android Camera2 API?Flashlight Camera2 API

Когда я пытаюсь использовать CameraManager.setTorchMode(String cameraId, boolean enabled), он работает нормально, когда камера не открывается. Но когда камера открыта, и я пытаюсь setTorchMode я получаю это исключение:

CameraService: setTorchMode: режим горелки камеры 0 не доступна, потому что камера используется

ответ

2

Нет, они взаимно исключают друг друга ,

Устройство камеры нуждается в эксклюзивном управлении вспышкой, когда камера открыта, чтобы она могла запускать ее по мере необходимости для фотографий и т. Д.

Если вы хотите включить факел, когда камера открыта, используйте режим вспышки API-интерфейса камеры. Для нового API Camera2 это устанавливает режим автоэкспозиции только на ON (CONTROL_AE_MODE_ON) и режим вспышки TORCH (FLASH_MODE_TORCH). А для старого API-камеры это Parameters.setFlashMode.

2

Я нашел решение:

CaptureRequest.Builder builder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); 
builder.set(CaptureRequest.FLASH_MODE, enable ? CameraMetadata.FLASH_MODE_TORCH : CameraMetadata.FLASH_MODE_OFF); 
CaptureRequest request = builder.build(); 
cameraCaptureSession.capture(request, null, null); 
Смежные вопросы