Red de conocimiento informático - Material del sitio web - Cómo implementar el enfoque automático para las cámaras de teléfonos Android

Cómo implementar el enfoque automático para las cámaras de teléfonos Android

Activity_main);

SurfaceView = (SurfaceView) findViewById(R.id.setType(SurfaceHolder;

initCamera();

camera.surfaceView1), parece Puede que no sea lo suficientemente complicado usar un controlador para implementarlo todo, incluso si la capa inferior está implementada en C, pero en teoría setBackgroundColor(TRIM_MEMORY_ BACKGROUND

SurfaceHolder.addCallback(new Callback()); {

@Override

public void superficieDestroyed(SurfaceHolder titular) {

//.printStackTrace(); Implementar enfoque automático

autoFocus( new AutoFocusCallback()). {

@Override

public void onAutoFocus( éxito booleano, cámara cámara) {

if(éxito){

initCamera() ;/

SurfaceHolder;

Camera camera;

Camera. Creo que Google proporcionará un buen paquete para esto, así que decidí hacerlo. compruébalo DOC, descubrí que tiene esto open();

prueba {

camera.setPreviewDisplay(surfaceHolder); null;

}

@ Anular

superficie vacía públicaCreada (titular de SurfaceHolder) {

/:

1 La gente extrema hará esto, pero es para gente normal

3 En mi caso, aprendí que esto no funciona mirando la cámara nativa del sistema.

Temporizador ah; TODO Bloque de captura generado automáticamente

e; public class MainActivity extiende Actividad {

Private SurfaceView SurfaceView, int format.18px"//

Private boolean flag = false;

private String fileUrl="gt;

private SurfaceHolder SurfaceHolder: utilice el temporizador al que se hace referencia en el siguiente método

Según la información disponible , Hay varios ": El código es el siguiente

[java] ¿Ver impresión de texto sin formato?

lt;stronggt;lt;span style=", int ancho, int alto ){

p>

/// Implementar la inicialización del parámetro de la cámara

Cámara; solo después de agregar esto, automáticamente enfocará.stopPreview(), establecerá el tiempo y luego concéntrate continuamente.

2 El método del rol geek: use la capa del controlador para implementar .startPreview();

} catch (IOException e) {

//.takepicture ) ;

SurfaceHolder = SurfaceView; font -size; / TODO genera automáticamente códigos auxiliares

if(null==camera){

camera=Camera automáticamente; generar códigos auxiliares de método

cámara

Botón botón=(Botón) findViewById(R.id.release().Parameters parámetros;

}

}.

}

}

}

@Override

public void superficieChanged( SurfaceHolder titular;

superficieView;

@Override

vacío protegido onCreate(Bundle saveInstanceState) {

super.onCreate(savedInstanceState).SURFACE_TYPE_PUSH_BUFFERS

; p>

surfaceHolder.setKeepScreenOn(true);

surfaceView.setFocusable(true).camera.getParameters();

parámetros.setPictureFormat(PixelFormat.JPEG); p>

//parameters.setPictureSize(surfaceView.getWidth(), SurfaceView.getHeight()); // Algunos teléfonos móviles personalizados no pueden reconocer correctamente este método.

parámetros.setFlashMode(Parameters.FLASH_MODE_TORCH);

parámetros.setFocusMode(Camera.Parameters._PICTURE); //1 enfoque continuo

setDispaly(parameters, cámara);

cámara.setParameters(parámetros); //1 enfoque continuo

setDispaly(parámetro, cámara);

setParameters(parámetros); 1 Enfoque continuo setParameters(parameters);

camera.startPreview();

parámetros, cámara cámara)

{

if ( Integer.parseInt(Build.VERSION.SDK) gt; = 8){

setDisplayOrientation(camera, 90); < cámara, int i) {

Método downPolymorphic; >

intente{

downPolymorphic=camera.getClass().getMethod("setDisplayOrientation", new Class[]{int.class[]{int.class[]{int.class[]} ) nueva Clase[]{int.class});

if(downPolymorphic!=null) {

downPolymorphic.invoke(cámara, nuevo Objeto[]{i}); /p>

}

}

}

p> catch (Excepción e) {

Log.e(" Came_e", "Error de imagen");

}

}

Log.e("Came_e", "Error de imagen").

}

}

@Override

public boolean onCreateOptionsMenu(Menú menú) {

// Inflar el menú; agrega elementos a la barra de acciones si está presente.

getMenuInflater().inflate(R.menu.main, menu

Devuelve verdadero

}

}lt;/spangt;lt;/stronggt;;

Cámara.cancelAutoFocus()