CameraX – Übersicht   Teil von Android Jetpack.

CameraX 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

Zusätzliche Ressourcen

Weitere Informationen zu CameraX findest du in den folgenden zusätzlichen Ressourcen.

Codelab

  • Erste Schritte mit CameraX
  • Codebeispiel

  • CameraX-Beispiel-Apps