Descripción general de CameraX Parte de Android Jetpack.
CameraX es una biblioteca de Jetpack creada para que el desarrollo de una apps de cámara sea más fácil. Para las apps nuevas, te recomendamos que comiences con CameraX. Proporciona una API coherente y fácil de usar que funcione en la gran mayoría de los dispositivos Android y ofrece retrocompatibilidad con Android 5.0 (nivel de API 21). Si estás migrando una app desde Camera1, consulta nuestra guía de migración de Camera1 a CameraX.
Beneficios principales
CameraX mejora la experiencia de los desarrolladores de varias maneras importantes.
Amplia compatibilidad de dispositivos
CameraX es compatible con dispositivos que ejecutan Android 5.0 (nivel de API 21) y versiones posteriores, lo que representa más del 98% de los dispositivos Android existentes.
Facilidad de uso
CameraX destaca los casos de uso, que te permiten concentrarte en la tarea que debes completar en lugar de administrar variaciones específicas del dispositivo. Se admiten los casos de uso de la cámara más comunes:
- Vista previa: Permite obtener una imagen en la pantalla.
- Análisis de imágenes: Permite acceder a un búfer sin inconvenientes a fin de utilizarlo en tus algoritmos, por ejemplo, para pasar contenido a ML Kit.
- Captura de imágenes: Permite guardar imágenes.
- Captura de video: Permite guardar videos y audio.
Coherencia entre dispositivos
Mantener un comportamiento de cámara coherente es difícil. Debes tener en cuenta la relación de aspecto, la orientación, la rotación, el tamaño de la vista previa y el tamaño de la imagen. Con CameraX, los comportamientos básicos simplemente funcionan.
Mantenemos un Test Lab automatizado de CameraX que prueba una variedad de comportamientos de cámara en diferentes dispositivos y todas las versiones de sistemas operativos desde Android 5.0. Las pruebas se realizan de manera continua para identificar y corregir una amplia variedad de problemas.
Extensiones de la cámara
CameraX tiene una API de Extensions opcional que te permite acceder a las mismas funciones y capacidades que la app de cámara nativa de un dispositivo con tan solo dos líneas de código.
Las extensiones incluyen bokeh (vertical), alto rango dinámico (HDR), modo nocturno y retoque facial, que requieren compatibilidad con el dispositivo.
Caso de éxito
A fin de ver de qué manera simplificó CameraX el desarrollo para Monzo, consulta su caso de éxito.
Documentación
- Arquitectura de CameraX
- Opciones de configuración
- Cómo implementar una vista previa
- Análisis de imágenes
- Captura de imágenes
- Captura de video
- Extensiones de la cámara
- Resultado de la transformación
- Rotaciones de casos de uso
- Dispositivos probados en laboratorio
Recursos adicionales
Para obtener más información acerca de CameraX, consulta los siguientes recursos adicionales.
Codelab
Muestra de código