Включите / выключите светодиод камеры / вспышку в Samsung Galaxy Ace 2.2.1 & Galaxy Tab - PullRequest
17 голосов
/ 04 августа 2011

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

Samsung Galaxy Ace имеет только три режима вспышки: вкл, выкл и авто.

FLASH_MODE_TORCH не работает в Samsung Galaxy Tab и Samsung Galaxy Ace 2.2.1

Вот мой код, как я включаю светодиод камеры

    Camera cam;
    cam = Camera.open();     
    Parameters params = cam.getParameters();
    params.setFlashMode(Parameters.FLASH_MODE_ON);
    cam.setParameters(params);
    cam.startPreview();
    cam.autoFocus(new AutoFocusCallback() {
                public void onAutoFocus(boolean success, Camera camera) {
                }
     });

И отключить его с помощью:

cam.stopPreview();
cam.release();

Код ссылки: Использование фонарика камеры в Android

Но проблема в том, что светодиодный свет остается включенным только на 5 секунд. Затем он автоматически выключается.

Может кто-нибудь подсказать, в чем может быть проблема. ИЛИ любой способ непрерывно включать светодиод до тех пор, пока не будет запрошено его останов.

1 Ответ

10 голосов
/ 17 марта 2012

Я скоро выпустлю новую версию своего приложения для поддержки galaxy ace.

Вы можете скачать здесь: https://play.google.com/store/apps/details?id=droid.pr.coolflashlightfree

Чтобы решить вашу проблему, вы должны сделать следующее:

this._camera = Camera.open();     
this._camera.startPreview();
this._camera.autoFocus(new AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
}
});

Parameters params = this._camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_ON);
this._camera.setParameters(params);

params = this._camera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_OFF);
this._camera.setParameters(params);

не беспокойтесь о FLASH_MODE_OFF, потому что это будет держать свет, странно, но это правда

чтобы выключить светодиод, просто отпустите камеру

...