Что такое 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 - это дополнение к 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, можно найти здесь.