Cómo obtener la longitud focal de la cámara en Android utilizando Java.
Debo obtener la longitud focal de la cámara. Mi versión de API objetivo es 21+. Intenté lo siguiente con la ayuda de la documentación:
import android.hardware.Camera;
private float getFocalLengthHere() {
float focalLength = Camera.Parameters.getFocalLength ();
return focalLength;
}
Me encontré con el siguiente error:
Non-static method ‘getFocalLength()’ cannot be referenced from a static context
Aquí está adjunta la imagen.
En la documentación, no encontré información para llamar a la longitud focal con camera2.
davy.ai
El mensaje de error “No se puede hacer referencia al método no estático ‘getFocalLength ()’ desde un contexto estático” especifica que el método getFocalLength () no es un método estático, lo que significa que debe ser llamado en una instancia de la clase Camera.Parameters, no en la clase en sí.
Para obtener la longitud focal de la cámara utilizando la clase Camera, debe seguir estos pasos:
1. Obtener una instancia de Camera y abrirla:
Camera.Parameters parameters = camera.getParameters ();
Use el método getFocalLength () en la instancia de Camera.Parameters:
float focalLength = parameters.getFocalLength ();
camera.release ();
Sin embargo, tenga en cuenta que este método está obsoleto y no se recomienda su uso en el nivel de API 21+. En su lugar, debe usar la API Camera2 , que proporciona un mejor rendimiento y flexibilidad. La API Camera2 proporciona características de lente que se pueden usar para obtener información sobre la lente de la cámara, incluida la longitud focal. Puede encontrar más información sobre cómo usar la API Camera2 en la documentación de Android para desarrolladores.