Написание настраиваемой камеры в minSdk 17 - PullRequest
0 голосов
/ 14 июля 2020

Я работал над настраиваемым приложением камеры, оно меняет только макет показа камеры, но не меняет никаких основных функций камеры.

При поиске я обнаружил эти библиотеки: hardware.camera2, hardware.camera и cameraX. И мое приложение должно работать правильно на minSdk 17, поэтому мой вопрос: устарел ли API камеры, чтобы я мог использовать camera2 в моем приложении?

Как я видел в документах, вы можете использовать camera2 только с cameraManager на API 21 и выше.

Кто-нибудь может мне помочь с выбором библиотеки, которую я должен использовать и как ее реализовать?

1 Ответ

1 голос
/ 14 июля 2020
  • hardware.camera (также известная как Camera1) устарела на уровне API 21.
  • hardware.camera2 (также известная как Camera2) была представлена ​​на уровне API 21.
  • camerax является частью набора библиотек Jetpack и построен поверх Camera2, поэтому имеет обратную совместимость с уровнем API 21.

Если ваше приложение имеет версию minSdk 17, вы можете определить один интерфейс Camera для использования в вашем приложении, а затем предоставьте для него 2 реализации с использованием камеры camera1 на уровнях API ниже 21 и CameraX / Camera2 на уровнях API начиная с 21. Выбор камеры Camera2 или CameraX зависит в основном от характеристик вашей камеры. CameraX предоставляет довольно простые в использовании API-интерфейсы для предварительного просмотра, анализа изображений и захвата изображений, а также решает проблемы совместимости устройств. Вы можете взглянуть на его официальную документацию , чтобы узнать, соответствует ли он требованиям вашего приложения, если да, вы можете начать работу с этой codelab . Camera2 обеспечивает более детальный контроль над камерой, но с ней сложнее работать, вы можете посмотреть, что она предоставляет, в официальной документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...