Используйте фронтальную камеру, но вспышка по-прежнему включена
Я хочу, чтобы вспышка на телефоне была включена, а также включена фронтальная камера при отображении вида. Мой текущий код не включает вспышку, хотя он должен camera
в коде относится к фронтальной камере.
Я считаю, что это не работает, потому что нет вспышки, связанной с фронтальной камерой. Мой другой способ сделать это - открыть переднюю камеру и включить ее вспышку, но, насколько мне известно, это будет невозможно, так как вы можете открыть только одну камеру за раз, а открытие задней камеры отключит переднюю камеру и его отображение.
Parameters params = camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_ON);
camera.setParameters(params);
camera.startPreview();
camera.autoFocus(new Camera.AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
}
});
2 ответа
Я думаю, что это должно быть возможно.
ВАРИАНТ № 1: Попробуйте использовать код от Torch, приложения для фонарика Android.
ВАРИАНТ № 2: В соответствии с этим некоторым устройствам необходим SurfaceView для включения светодиода.
Согласно сайту разработчика Android, ваше приложение должно иметь одновременно только один активный объект Camera для конкретной аппаратной камеры. Чтобы использовать вспышку, она должна создать объект камеры, обращенной назад, и поэтому вам нужно создать два объекта камеры одновременно, чтобы сделать то, что вы хотите сделать. В настоящее время это не поддерживается. Последние телефоны Samsung в состоянии сделать это, однако я предполагаю, что они переписали все методы камеры Android.
http://developer.android.com/guide/topics/media/camera.html
http://developer.android.com/reference/android/hardware/Camera.html