Что такое Android CameraX?

Что такое Android CameraX?

В Google I/O 2019 запланирован сеанс о CameraX. Что это? Это новый фреймворк API? Это новая библиотека? https://events.google.com/io/schedule/events/8d400240-f31f-4ac2-bfab-f8347ef3ab3e

Означает ли это, что Camera2 API устарела? https://github.com/googlesamples/android-Camera2Basic

3 ответа

Решение

Что такое Android CameraX?

CameraX - это новая библиотека Jetpack, которая позволяет разработчикам управлять камерой устройства и фокусируется на совместимости между устройствами, начиная с уровня API 21 (Lollipop). Это было объявлено на Google I/O 2019 и имеет специальную страницу документации наряду с официальным образцом.

Означает ли это, что Camera2 API устарела?

Camera2 API не является устаревшим; фактически это основа, на которой построен CameraX. CameraX также предоставляет интерфейс взаимодействия Camera2, который позволяет разработчикам расширять реализацию CameraX с помощью кода Camera2.

Для получения дополнительной информации, официальная документация доступна на https://developer.android.com/camerax

В Google IO 2019, Google добавлен еще один мощный инструмент для разработки камеры в разработке Android под названием CameraX в составе джетпака

Несколько особенностей CameraX

  • Он обратно совместим до Android 5.0 / Lollipop (API 21) и работает как минимум с 90% устройств на рынке.
  • Под капотом он использует и использует API-интерфейсы Camera 2. По сути, он обеспечивает ту же согласованность, что и API-интерфейс Camera 1 через слой Camera 2 Legacy, и устраняет множество проблем на устройстве.
  • Он также имеет множество удивительных расширенных функций, таких как портрет, HDR, ночной режим и т. Д. (При условии, что ваше устройство поддерживает это).
  • CameraX также представила варианты использования, которые позволяют вам сосредоточиться на задаче, которая вам нужна, чтобы выполнить ее, а не тратить время на использование определенных устройств. Немногие из них - Предварительный просмотр, Анализ изображений, Захват изображений.
  • У CameraX нет специальных методов call/stop в onResume() и onPause(), но он привязывается к жизненному циклу View с помощью CameraX.bindToLifecycle()
  • Ниже приведено несколько списков известных проблем, исправленных с помощью CameraX,

что еще можно сделать с CameraX

  • Вы также можете создать приложение Video Recorder с помощью CameraX
  • Добавьте несколько расширений, таких как Портретный режим, HDR и т. Д.
  • Мы также можем использовать анализ изображений для выполнения Computer Vision, ML. Таким образом, он реализует метод Analyzer для запуска на каждом кадре.

Чтобы узнать больше о CameraX, обратитесь сюда

для начала работы с CameraX

Вы можете проверить официальный документ:

CameraX - это дополнение к Android Jetpack, которое упрощает добавление возможностей камеры в ваше приложение. Библиотека предоставляет ряд исправлений совместимости и обходных путей, помогающих обеспечить согласованность работы разработчика на многих устройствах.

Вы можете использовать cameraX для взаимодействия с камерой устройства через абстракцию, называемую прецедентом. В настоящее время доступны следующие варианты использования:

  • Предварительный просмотр: готовит предварительный просмотр SurfaceTexture
  • Анализ изображений: предоставляет доступные для процессора буферы для анализа, например, для машинного обучения
  • Захват изображения: захватывает и сохраняет фотографию

Варианты использования могут быть объединены и активны одновременно.

Просто добавьте зависимости:

dependencies {
  // CameraX core library
  def camerax_version = "1.0.0-alpha01"
  implementation "androidx.camera:camera-core:$camerax_version"
  // If you want to use Camera2 extensions
  implementation "androidx.camera:camera-camera2:$camerax_version"
}

Информацию о том, как использовать библиотеку CameraX, можно найти здесь.

Другие вопросы по тегам