Foros del Web » Programando para Internet » Android »

Linterna usando el flash

Estas en el tema de Linterna usando el flash en el foro de Android en Foros del Web. Hola! Estoy viendo poca informacion sobre el uso de parametros de camara... Mi idea es tener un boton que prenda el flash y otro que ...
  #1 (permalink)  
Antiguo 14/11/2011, 16:10
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 15 años, 9 meses
Puntos: 2
Linterna usando el flash

Hola!
Estoy viendo poca informacion sobre el uso de parametros de camara...
Mi idea es tener un boton que prenda el flash y otro que lo apague.
En realidad. Estaria bueno que directamente uno entra a la aplicacion prenda el flash y haya un boton para apagarlo dentro de la misma.
Entonces cuando entro a la aplicacion el FLASH_MODE_ON deberia estar activado y cuando presiono el boton, lo apago.


Button boton1 = (Button) findViewById(R.id.button1);

boton1.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

Parameters params = camera.getParameters();
params.set("flash-mode", "off");
camera.setParameters(params);
}

Tienen alguna idea al respecto como seria activar el flash, y luego desactivarlo?

Muchas gracias!
  #2 (permalink)  
Antiguo 15/11/2011, 18:18
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Linterna usando el flash

Aquí tengo el codigo, agregando los permisos necesarios en el AndroidManifiest.xml, pero me da error al probarlo.
Alguna idea?

Código Android:
Ver original
  1. public class LinternaActivity extends Activity {
  2.     /** Called when the activity is first created. */
  3.    
  4.     Camera cam;
  5.    
  6.     @Override
  7.     public void onCreate(Bundle savedInstanceState) {
  8.         super.onCreate(savedInstanceState);
  9.         setContentView(R.layout.main);
  10.  
  11.         Camera.open();
  12.         Parameters par = cam.getParameters();
  13.        
  14.         par.setFlashMode(Parameters.FLASH_MODE_ON);
  15.        
  16.         cam.setParameters(par);
  17.         cam.startPreview();
  18.         cam.autoFocus(new AutoFocusCallback() {
  19.            
  20.             @Override
  21.             public void onAutoFocus(boolean success, Camera camera) {
  22.                 // TODO Auto-generated method stub
  23.                
  24.             }
  25.         });
  26.        
  27.         Button boton1 = (Button) findViewById(R.id.button1);
  28.        
  29.           boton1.setOnClickListener(new OnClickListener() {
  30.                  
  31.             public void onClick(View v) {
  32.            
  33.                 cam.stopPreview();
  34.                 cam.release();
  35.             }
  36.         });
  37.          
  38.          
  39.     }
  40. }
  #3 (permalink)  
Antiguo 16/11/2011, 13:20
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Respuesta: Linterna usando el flash

Hola Alemanarg !

Esta raro, así debería funcionarte el Flash, de hecho ahorita estoy terminando una implementación para activar o desactivar el flash, es que luego tomaban fotos en la noche y pues no salian.

Lo que podría hacer es pasarte parte del código para que te des una idea.

Un saludo y suerte !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #4 (permalink)  
Antiguo 17/11/2011, 06:29
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Linterna usando el flash

Si, gracias!
Quiza es problemas de versiones.
Yo lo puedo probar en android 2.1.

El tema de prueba en las maquinas virtuales es imposible no? Porque a mi me da error y si no daria error no tengo manera de ver si el flash esta activado o no...

Si te funciona a vos, habria que ver si exista alguna diferencia en cuanto a mi codigo...

Gracias!
  #5 (permalink)  
Antiguo 17/11/2011, 11:35
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Respuesta: Linterna usando el flash

Cita:
Iniciado por Alemanarg Ver Mensaje
Si, gracias!
Quiza es problemas de versiones.
Yo lo puedo probar en android 2.1.

El tema de prueba en las maquinas virtuales es imposible no? Porque a mi me da error y si no daria error no tengo manera de ver si el flash esta activado o no...

Si te funciona a vos, habria que ver si exista alguna diferencia en cuanto a mi codigo...

Gracias!
Hola Alemanarg !

Pues si esa funcionalidad del flash no la pude probar en el emulador, la tuve que probar directamente en el dispositivo que por cierto tiene android 2.1 así que no creo que tengas ningún problema con el código que has publicado.

Un saludo y suerte !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #6 (permalink)  
Antiguo 18/11/2011, 19:47
 
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires, Mar del plata
Mensajes: 250
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Linterna usando el flash

Cita:
Iniciado por jahepi Ver Mensaje
Hola Alemanarg !

Pues si esa funcionalidad del flash no la pude probar en el emulador, la tuve que probar directamente en el dispositivo que por cierto tiene android 2.1 así que no creo que tengas ningún problema con el código que has publicado.

Un saludo y suerte !

Me sigue tirando el error en tiempo de ejecucion...
Habrá problemas con los permisos?
Lo tenes igual el codigo?

Es raro, porque estos mensajes ARN no se como repararlos...

Gracias!!!

Etiquetas: flash, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:33.