Обзор CameraX Часть Android Jetpack.
Навыки работы с Android
Посмотреть на GitHubCameraX
android skills add cameraxCameraX – это библиотека Jetpack, которая упрощает разработку приложений для камеры. Для новых приложений мы рекомендуем использовать CameraX. Он предоставляет согласованный и простой в использовании API, который работает на подавляющем большинстве устройств Android и обратно совместим с Android 5.0 (уровень API 21). Если вы переносите приложение из Camera1, ознакомьтесь с руководством по переходу с Camera1 на CameraX.
Основные преимущества
CameraX улучшает работу разработчиков несколькими ключевыми способами.
Широкая совместимость с устройствами
CameraX поддерживает устройства с Android 5.0 (уровень API 21) и более поздними версиями ОС. Это более 98% всех устройств Android.
Удобство использования
CameraX делает упор на сценарии использования, что позволяет сосредоточиться на задаче, которую необходимо выполнить, а не на управлении нюансами, связанными с конкретным устройством. Поддерживаются наиболее распространенные сценарии использования камеры:
- Предварительный просмотр. Посмотрите, как изображение будет выглядеть на экране.
- Анализ изображений. Получайте доступ к буферу для использования в алгоритмах, например для передачи в ML Kit.
- Фотосъемка. Сохраняйте изображения.
- Запись видео. Сохранение видео и аудио.
Синхронизация между устройствами
Рисунок 2. Автоматизированная тестовая лаборатория CameraX обеспечивает стабильную работу API на устройствах разных типов и производителей.
Поддерживать стабильное поведение камеры сложно. Вам нужно учитывать соотношение сторон, ориентацию, поворот, размер предварительного просмотра и размер изображения. С CameraX эти базовые функции просто работают.
У нас есть автоматизированная лаборатория тестирования CameraX, в которой мы проверяем работу камеры на разных устройствах и во всех версиях операционной системы, начиная с Android 5.0. Эти тесты выполняются постоянно, чтобы выявлять и устранять различные проблемы.
Расширения камеры
Рисунок 3. Изображение, снятое с эффектом боке (портрет) с помощью CameraX.
В CameraX есть необязательный API Extensions, который позволяет получить доступ к тем же функциям и возможностям, что и в стандартном приложении камеры на устройстве. Для этого нужно добавить всего две строки кода.
Расширения включают боке (портрет), расширенный динамический диапазон (HDR), ночной режим и ретушь лица. Все они требуют поддержки устройства.
Пример использования
Узнайте, как библиотека CameraX упростила разработку для Monzo, из истории успеха.
Документация
- Архитектура CameraX
- Варианты конфигурации
- Как реализовать предварительный просмотр
- Анализ изображений
- Фотосъемка
- Запись видео
- Расширения камеры
- Преобразование выходных данных
- Примеры использования ротации
- Устройства, протестированные в лаборатории
Дополнительные ресурсы
Чтобы узнать больше о CameraX, ознакомьтесь со следующими дополнительными ресурсами.
Практическая работа
Пример кода