CameraX – Übersicht Teil von Android Jetpack.
Android-Fähigkeiten
Auf GitHub ansehenCameraX
android skills add cameraxCameraX ist eine Jetpack-Bibliothek, die die Entwicklung von Kamera-Apps vereinfacht. Für neue Apps empfehlen wir, mit CameraX zu beginnen. Sie bietet eine einheitliche, nutzerfreundliche API, die auf den meisten Android-Geräten funktioniert und abwärtskompatibel mit Android 5.0 (API-Level 21) ist. Wenn Sie eine App von Camera1 migrieren, lesen Sie unsere Migrationsanleitung von Camera1 zu CameraX.
Hauptvorteile
CameraX verbessert die Entwicklererfahrung in mehreren wichtigen Bereichen.
Kompatibilität mit zahlreichen Geräten
CameraX unterstützt Geräte mit Android 5.0 (API-Level 21) und höher, was mehr als 98% der vorhandenen Android-Geräte entspricht.
Nutzerfreundlichkeit
CameraX legt den Schwerpunkt auf Anwendungsfälle, sodass du dich auf die zu erledigende Aufgabe konzentrieren kannst, anstatt dich mit gerätespezifischen Nuancen zu befassen. Die gängigsten Anwendungsfälle für Kameras werden unterstützt:
- Vorschau: Sie können sich ein Bild auf dem Display ansehen.
- Bildanalyse: Sie können nahtlos auf einen Zwischenspeicher zugreifen, um ihn in Ihren Algorithmen zu verwenden, z. B. um ihn an ML Kit zu übergeben.
- Bilderfassung: Bilder speichern.
- Videoaufnahme: Video und Audio speichern.
Konsistenz auf allen Geräten
Abbildung 2: Das automatisierte CameraX-Test Lab sorgt für eine einheitliche API-Nutzung auf vielen Gerätetypen und bei vielen Herstellern.
Es ist schwierig, ein einheitliches Kameraverhalten beizubehalten. Sie müssen das Seitenverhältnis, die Ausrichtung, die Drehung, die Vorschaugröße und die Bildgröße berücksichtigen. Mit CameraX funktionieren diese grundlegenden Verhaltensweisen einfach.
Wir betreiben ein automatisiertes CameraX-Testlabor, in dem verschiedene Kamerafunktionen auf einer Reihe von Geräten und allen Betriebssystemversionen ab Android 5.0 getestet werden. Diese Tests werden fortlaufend ausgeführt, um eine Vielzahl von Problemen zu erkennen und zu beheben.
Kameraerweiterungen
Abbildung 3: Ein Bild, das mit dem Bokeh-Effekt (Porträt) mit CameraX aufgenommen wurde.
CameraX bietet eine optionale Extensions API, mit der Sie mit nur zwei Codezeilen auf dieselben Funktionen wie die native Kamera-App eines Geräts zugreifen können.
Zu den Erweiterungen gehören Bokeh (Porträt), High Dynamic Range (HDR), Nachtmodus und Gesichtsretusche, die alle vom Gerät unterstützt werden müssen.
Fallstudie
In dieser Fallstudie erfährst du, wie CameraX die Entwicklung für Monzo vereinfacht hat.
Dokumentation
- CameraX-Architektur
- Konfigurationsoptionen
- Vorschau implementieren
- Bildanalyse
- Bilderfassung
- Videoaufnahme
- Kameraerweiterungen
- Transformationsausgabe
- Anwendungsfallrotationen
- Im Labor getestete Geräte
Zusätzliche Ressourcen
Weitere Informationen zu CameraX findest du in den folgenden zusätzlichen Ressourcen.
Codelab
Codebeispiel