CameraX – Übersicht Teil von Android Jetpack

CameraX ist eine Jetpack-Bibliothek, die die Entwicklung von Kamera-Apps erleichtert. Für neue Apps empfehlen wir, mit CameraX zu beginnen. Sie bietet eine konsistente, benutzerfreundliche API, die auf den meisten Android-Geräten funktioniert und abwärtskompatibel mit Android 5.0 (API-Ebene 21) ist. Wenn Sie eine App von Camera1 migrieren, lesen Sie unsere Migrationsanleitung von Kamera1 zu CameraX.

Hauptvorteile

CameraX verbessert die Entwicklererfahrung in mehreren wesentlichen Punkten.

Kompatibilität mit zahlreichen Geräten

CameraX unterstützt Geräte mit Android 5.0 (API-Level 21) und höher. Dies entspricht über 98% aller vorhandenen Android-Geräte.

Nutzerfreundlichkeit

CameraX konzentriert sich auf Anwendungsfälle, mit denen Sie sich auf die zu erledigende Aufgabe konzentrieren können, anstatt gerätespezifische Details zu verwalten. Die gängigsten Anwendungsfälle für Kameras werden unterstützt:

  • Vorschau: Sehen Sie sich ein Bild auf dem Display an.
  • Bildanalyse: Greifen Sie nahtlos auf einen Zwischenspeicher zur Verwendung in Ihren Algorithmen zu, z. B. für die Übergabe an ML Kit.
  • Bildaufnahme: Sie können Bilder speichern.
  • Videoaufnahme: Speichert Video und Audio.

Geräteübergreifende Konsistenz

Abbildung 2: Das automatisierte CameraX-Testlabor sorgt für eine einheitliche API-Nutzung auf vielen Gerätetypen und -herstellern.

Es ist schwierig, ein konsistentes Kameraverhalten aufrechtzuerhalten. Dabei müssen Sie das Seitenverhältnis, die Ausrichtung, die Drehung, die Vorschaugröße und die Bildgröße berücksichtigen. Mit CameraX funktionieren diese grundlegenden Funktionen einfach.

Wir betreiben ein automatisiertes CameraX-Testlabor, in dem verschiedene Kameraverhalten auf einer Reihe von Geräten und allen Betriebssystemversionen seit Android 5.0 getestet werden. Diese Tests werden fortlaufend durchgefü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 hat eine optionale Extensions API, die es Ihnen ermöglicht, mit nur zwei Zeilen Code auf dieselben Funktionen wie mit einer nativen Kamera-App eines Geräts zuzugreifen.

Zu den Erweiterungen gehören Bokeh (Hochformat), High Dynamic Range (HDR), Nachtmodus und Gesichtsretusche. All diese Erweiterungen müssen Geräte unterstützen.

Fallstudie

Informationen dazu, wie CameraX die Entwicklung für Monzo vereinfacht hat, findest du in der Fallstudie.

Dokumentation

Weitere Informationen

Weitere Informationen zu CameraX finden Sie in den folgenden zusätzlichen Ressourcen.

Codelab

  • Erste Schritte mit CameraX
  • Codebeispiel

  • CameraX-Beispiel-Apps