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 использует-разрешения.
Использовали ли вы вид поверхности для включения вспышки, какое устройство вы используете, поскольку для некоторых из них требуется вид поверхности, чтобы вспышка работала в ней.
Вот ссылка!
Вы можете повторно использовать существующий объект камеры и просто установить для него параметры. Обратите внимание, что не все устройства поддерживают режим вспышки. Также некоторые, такие как очаровательный / эпический (кто на самом деле использует режим вспышки) не могут изменить состояние без отключения и повторного подключения к камере.