No entanto, o que o Google recomenda usar o Camera2 Api> = 21, mas você pode ter problemas com as configurações manuais.
Quando você precisar implementar o aplicativo para tirar uma foto com o Modo de configuração automática, ele funcionará bem. Mas! Se for necessário criar um aplicativo com a implementação do Modo de configuração manual, para dispositivos com API> = 21, verifique primeiro o NÍVEL DE HARDWARE suportado:
Selecione a câmera (frontal, frontal), obtenha as características e verifique o NÍVEL DE HARDWARE.
mCameraCharacteristics = mCameraManager.getCameraCharacteristics(mCameraId)
val level = mCameraCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL)
CameraCharacteristics representa os próximos níveis suportados: LIMITED, FULL, LEGACY, LEVEL_3, EXTERNAL.
Em um nível alto, os níveis são:
Os dispositivos LEGACY operam em um modo de compatibilidade com versões anteriores para dispositivos Android mais antigos e possuem recursos muito limitados.
Os dispositivos LIMITADOS representam o conjunto de recursos da linha de base e também podem incluir recursos adicionais que são subconjuntos de COMPLETO.
Os dispositivos COMPLETOS também oferecem suporte ao controle manual por quadro das configurações de sensor, flash, lente e pós-processamento e captura de imagem a uma taxa alta.
Os dispositivos LEVEL_3 também oferecem suporte ao reprocessamento YUV e captura de imagem RAW, além de configurações adicionais de fluxo de saída.
Se você obteve o nível de supressão LEGACY , use a Camera Api antiga .