Swithing на камеру вспышка света динамически в Android

Все

Я делаю приложение для сканирования штрих-кода в Android. В этом я должен динамически включить вспышку камеры, и я делаю это с помощью следующего кода

mCamera = Camera.open();     
Camera.Parameters params = mCamera.getParameters();
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(params);
mCamera.startPreview();

Но это показывает исключение, как

ERROR/AndroidRuntime(17291): java.lang.RuntimeException: Fail to connect to camera service

на линии

mCamera = Camera.open();  

Я думаю, что исключение из-за того, что во время сканирования штрих-кода камера уже находится в открытом режиме, и здесь я пытаюсь снова открыть камеру.

Есть ли способ включить вспышку, не открывая камеру снова? и как?

3 ответа

Вы получаете доступ к настройкам камеры и камеры. Проверьте, есть ли у вас android.permission.CAMERA в AndroidMainfest.xml использует-разрешения.

Использовали ли вы вид поверхности для включения вспышки, какое устройство вы используете, поскольку для некоторых из них требуется вид поверхности, чтобы вспышка работала в ней.

Вот ссылка!

Вы можете повторно использовать существующий объект камеры и просто установить для него параметры. Обратите внимание, что не все устройства поддерживают режим вспышки. Также некоторые, такие как очаровательный / эпический (кто на самом деле использует режим вспышки) не могут изменить состояние без отключения и повторного подключения к камере.

Другие вопросы по тегам