Visão geral do CameraX Parte do Android Jetpack.
O CameraX é uma biblioteca do Jetpack criada para facilitar o desenvolvimento de apps de câmera. Para novos apps, recomendamos começar com o CameraX. Ela fornece uma API consistente e fácil de usar que funciona na grande maioria dos dispositivos Android, com compatibilidade com versões anteriores até o Android 5.0 (nível 21 da API). Se você estiver migrando um app do Camera1, consulte o guia de migração do Camera1 para o CameraX.
Principais benefícios
O CameraX melhora a experiência do desenvolvedor de várias maneiras importantes.
Ampla compatibilidade com dispositivos
A CameraX oferece suporte a dispositivos que executam o Android 5.0 (nível 21 da API) ou versões mais recentes, que representam mais de 98% dos dispositivos Android existentes.
Facilidade de uso
O CameraX enfatiza casos de uso, que permitem que você se concentre na tarefa que precisa concluir em vez de gerenciar nuances específicas do dispositivo. Ele oferece suporte aos casos de uso de câmera mais comuns:
- Visualização: ver uma imagem na tela.
- Análise de imagem: acessar facilmente um buffer para uso nos algoritmos, como ao transmitir para o Kit de ML.
- Captura de imagem: salvar imagens.
- Captura de vídeo: salvar vídeo e áudio.
Consistência entre dispositivos
![](https://developer.android.com/static/images/training/camera/camerax/testing-lab.png?authuser=6&hl=pt)
Figura 2. O laboratório de testes automatizado do CameraX garante uma experiência de API consistente entre muitos tipos de dispositivos e fabricantes.
É difícil manter um comportamento consistente da câmera. É preciso considerar a proporção, a orientação, a rotação e o tamanho da visualização e da imagem. Com a CameraX, esses comportamentos básicos funcionam sem problemas.
Temos um laboratório de testes automatizados da CameraX que testa vários comportamentos de câmera em diversos dispositivos e em todas as versões do sistema operacional desde o Android 5.0. Esses testes são realizados continuamente para identificar e corrigir vários problemas.
Extensões de câmera
![](https://developer.android.com/static/images/training/camera/camerax/portrait-mode.png?authuser=6&hl=pt)
Figura 3. Uma imagem capturada com o efeito bokeh (retrato) usando o CameraX.
O CameraX tem uma API Extensions opcional que permite acessar com apenas duas linhas de código os mesmos recursos do app de câmera nativo de um dispositivo.
A API Extensions incluem bokeh (retrato), High Dynamic Range (HDR), modo noturno e retoque facial. Tudo isso requer suporte do dispositivo.
Estudo de caso
Para saber como o CameraX simplificou o desenvolvimento do Monzo, consulte o estudo de caso.
Documentação
- Arquitetura do CameraX
- Opções de configuração
- Implementar uma visualização
- Análise de imagem
- Captura de imagem
- Captura de vídeo
- Extensões de câmera
- Saída de transformação
- Rotações de caso de uso
- Dispositivos testados em laboratório
Outros recursos
Para saber mais sobre o CameraX, consulte os recursos a seguir.
Codelab
Exemplo de código