blackberry java-me blackberry-jde

Activar Flash como Luz en Blackberry



java-me blackberry-jde (3)

el problema relevante para el control del flash ha sido resuelto por mí

como estoy usando el control del flash en mi reciente aplicación en

cámara.

Aquí está el código que utilicé:

public Camera(int j) { k = j; try { Player player = Manager.createPlayer("capture://video"); player.realize(); _videoControl = (VideoControl) player.getControl("VideoControl"); flashControl = new FlashControl() { public void setMode(int mode) { // TODO Auto-generated method stub } public boolean isFlashReady() { // TODO Auto-generated method stub return false; } public int[] getSupportedModes() { // TODO Auto-generated method stub return null; } public int getMode() { // TODO Auto-generated method stub return 0; } }; flashControl = (FlashControl) player .getControl("javax.microedition.amms.control.camera.FlashControl"); try { if (k == 1) { flashControl.setMode(FlashControl.AUTO); Dialog.alert("slect Auto"); } else if (k == 2) { flashControl.setMode(FlashControl.OFF); Dialog.alert("slect No"); } } catch (Exception e) { System.out.println(e); } if (_videoControl != null) { _videoField = (Field) _videoControl.initDisplayMode( VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field"); // _videoControl.setDisplaySize(330, 420); // _videoControl.setDisplayLocation(getContentWidth(), // getContentHeight()); _videoControl.setVisible(true); add(_videoField); capture = new ButtonField("Capture", Field.FIELD_HCENTER); capture.setChangeListener(this); add(capture); player.start(); } } catch (Exception e) { System.out.println(e); } }

esta lógica se ha implementado simultáneamente con Pinkesh como mi compañera

en la compañía

Soy nuevo en el desarrollo de aplicaciones de BlackBerry e intento hacer una aplicación simple para encender mi flash como una antorcha. Sé que ya hay varias aplicaciones que hacen esto, pero me gustaría intentarlo por mi cuenta.

He instalado eclipse y todo lo necesario para ejecutar mi entorno de desarrollo. También he creado con éxito la aplicación estándar estándar hello world.

Sin embargo, estoy luchando por saber cómo hacer esto. He estado leyendo la documentación de API y comencé a jugar con FlashControl , VideoControl y SnapshotControl .
Sin embargo, estos no parecen exponer los métodos para hacer esto.

Sé a través de la cámara de video que puedo ir a las opciones y encender la luz del flash y esto es exactamente lo que intento imitar.

El código que he utilizado hasta ahora, que parece simplemente configurar el flash de la cámara para forzarlo, es:

Player p = javax.microedition.media.Manager.createPlayer("capture://video"); p.realize(); p.start(); FlashControl flashControl = (FlashControl) p.getControl("javax.microedition.amms.control.camera.FlashControl"); flashControl.setMode(FlashControl.FORCE);


Pruebe algo como esto

LED.setState(LED.STATE_ON); // for LED Backlight.enable(true); // for Screen this.setMode(FlashControl.ON); // for flash light.

o bien importa este paquete

package lsphone.flash.microfireps;


La clase FlashControl , disponible desde OS 5.0, le permite encender el flash. Simplemente configure un control de flash en su reproductor con la bandera de FUERZA:

FlashControl flash = (FlashControl)player.getControl("javax.microedition.amms.control.camera.FlashControl"); if(flash!=null) { try { flash.setMode(FlashControl.FORCE); } catch(IllegalArgumentException iae){} }

Para que esto funcione, es probable que necesites abrir un reproductor para grabar un video o tomar una foto. No mostraré eso en mi código por razones de brevedad, pero aquí puede leer un tutorial. Si su aplicación solo trata de encender el flash, probablemente le gustaría tener el campo de video oculto.