0 votos
Buenas noches por favor si me podrían ayudar con un problema q tengo, bueno hice una aplicacion con la camara de android pero no con Intent sino con la otra forma que dice en la pagina de desarrolladores que es con Fragment, bueno todo esta bien ya logro que salga la imagen pero lo q sucede es que la imagen esta lenta y no se como hacerla mas rapida si enfoco algo y eso se mueve se torna lenta la imagen, lo que no ocurre cuando uso la aplicacion de la camara que ya viene en Android.
Muchas gracias de antemano y espero pudan ayudarme con esto.

Saludos
preguntado por Gabriel Dic 22, 2014 en Android

1 Respuesta

0 votos
Mejor respuesta

Hola Gabriel,

el problema de lentitud puede venir de muchos factores. ¿Qué código utilizas para utilizar la cámara? Puedes probar a ajustar la calidad de captura de las imágenes (echa un vistazo a los parámetros en http://developer.android.com/reference/android/hardware/Camera.Parameters.html).

respondido por Jarroba [Admin] Dic 22, 2014

Hola y gracias por la respuesta y el codigo que utilizo es:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.vista_camara);

// Crea la instancia de la camara
mCamera = getCameraInstance();

// Abre la vista de la camara
mPreview = new CameraPreview(this, mCamera);
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
preview.addView(mPreview);

}

//Para crear la instancia de la camara
public static Camera getCameraInstance(){
Camera c = null;
try {
c = Camera.open(0); // Coge la camara trasera, si se pone uno coge la camara delantera
}
catch (Exception e){
// Camera is not available (in use or does not exist)
}
return c; // returns null if camera is unavailable
}

Y bueno creo la clase que extiende a SurfaceView y se implementa SurfaceHolder.Callback tal como esta en la pagina de Android Developers, lo que no se donde pongo los parámetros para mejorar la calidad de la imagen?

El código que estás usando parece correcto. Lo mejor que puedes hacer es utilizar el método de setParameters() para poner los Parameters e ir jugando con ellos hasta que veas que se mejora la velocidad de respuesta. También puedes probar con la cámara delantera, que suele tener menos calidad de imagen y debería de ir algo más deprisa.
Muchas gracias Ramón por tu respuesta ya voy a probar lo que me dices a ver que tal me va, espero logre mejorar la imagen.

Saludos