KameraX

CameraX ist eine Ergänzung zu Jetpack und vereinfacht das Hinzufügen einer Kamera zu Ihrer App hinzufügen. Die Bibliothek bietet eine Reihe von Kompatibilitätskorrekturen. und Behelfslösungen, um die Entwicklung auf vielen Geräte.

In dieser Tabelle sind alle Artefakte in der Gruppe androidx.camera aufgeführt.

Artefakt Stabile Version Releasekandidat Beta-Ausgabe Alpha-Release
Kamera-Kamera2 1.3.4 1.4.0–rc01 - 1.5.0-alpha01
Kamerakern 1.3.4 1.4.0–rc01 - 1.5.0-alpha01
Kameraeffekte - 1.4.0–rc01 - 1.5.0-alpha01
Kameraerweiterungen 1.3.4 1.4.0–rc01 - 1.5.0-alpha01
Kamera-Lebenszyklus 1.3.4 1.4.0–rc01 - 1.5.0-alpha01
Kamera-mlkit-Vision - 1.4.0–rc01 - 1.5.0-alpha01
Kameraansicht 1.3.4 1.4.0–rc01 - 1.5.0-alpha01
Kamerasucher - - 1.3.0-beta02 1.4.0-alpha07
Kamera-Video 1.3.4 1.4.0–rc01 - 1.5.0-alpha01
Letzte Aktualisierung dieser Mediathek: 4. September 2024

Gerätetests

CameraX wird in unserem Labor auf vielen Geräten getestet. Um eine Liste der Geräte aufzurufen, derzeit im Labor, siehe CameraX im Labor getestet Geräte.

Abhängigkeiten deklarieren

Um eine Abhängigkeit von CameraX hinzuzufügen, müssen Sie das Maven-Repository von Google zu für Ihr Projekt. Gelesen Maven-Repository von Google für weitere Informationen Informationen.

Fügen Sie der Datei build.gradle die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen Ihre App oder Ihr Modul:

Cool

dependencies {
  // CameraX core library using the camera2 implementation
  def camerax_version = "1.5.0-alpha01"
  // The following line is optional, as the core library is included indirectly by camera-camera2
  implementation "androidx.camera:camera-core:${camerax_version}"
  implementation "androidx.camera:camera-camera2:${camerax_version}"
  // If you want to additionally use the CameraX Lifecycle library
  implementation "androidx.camera:camera-lifecycle:${camerax_version}"
  // If you want to additionally use the CameraX VideoCapture library
  implementation "androidx.camera:camera-video:${camerax_version}"
  // If you want to additionally use the CameraX View class
  implementation "androidx.camera:camera-view:${camerax_version}"
  // If you want to additionally add CameraX ML Kit Vision Integration
  implementation "androidx.camera:camera-mlkit-vision:${camerax_version}"
  // If you want to additionally use the CameraX Extensions library
  implementation "androidx.camera:camera-extensions:${camerax_version}"
}

Kotlin

dependencies {
    // CameraX core library using the camera2 implementation
    val camerax_version = "1.5.0-alpha01"
    // The following line is optional, as the core library is included indirectly by camera-camera2
    implementation("androidx.camera:camera-core:${camerax_version}")
    implementation("androidx.camera:camera-camera2:${camerax_version}")
    // If you want to additionally use the CameraX Lifecycle library
    implementation("androidx.camera:camera-lifecycle:${camerax_version}")
    // If you want to additionally use the CameraX VideoCapture library
    implementation("androidx.camera:camera-video:${camerax_version}")
    // If you want to additionally use the CameraX View class
    implementation("androidx.camera:camera-view:${camerax_version}")
    // If you want to additionally add CameraX ML Kit Vision Integration
    implementation("androidx.camera:camera-mlkit-vision:${camerax_version}")
    // If you want to additionally use the CameraX Extensions library
    implementation("androidx.camera:camera-extensions:${camerax_version}")
}

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie für ein vorhandenes Problem abstimmen: indem Sie auf die Sternschaltfläche klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung. .

Compose-Version im Kamerasucher Version 1.0

Version 1.0.0-alpha02

12. Juni 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 wurde veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Version 1.0.0-alpha01

14. Mai 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 wurde veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Neue Bibliothek. Diese Bibliothek enthält eine native zusammensetzbare Funktion für den Sucher, die mit CameraX und Camera2 verwendet werden kann. Der zusammensetzbare Sucher unterstützt verschiedene Seitenverhältnisse und die Verarbeitung von Berührungsereignissen.

Kamerasucher Version 1.4

Version 1.4.0-alpha07

12. Juni 2024

androidx.camera:camera-viewfinder:1.4.0-alpha07 und androidx.camera:camera-viewfinder-core:1.4.0-alpha07 wurden veröffentlicht. Version 1.4.0-alpha07 enthält diese Commits.

Version 1.4.0-alpha06

14. Mai 2024

androidx.camera:camera-viewfinder:1.4.0-alpha06 und androidx.camera:camera-viewfinder-core:1.4.0-alpha06 wurden veröffentlicht. Version 1.4.0-alpha06 enthält diese Commits.

API-Änderungen

  • Benennen Sie die ImplementationMode-Enums von Viewfinder um, damit sie die zugrunde liegenden Implementierungen besser widerspiegeln, und fügen Sie feste Konstanten für TransformationInfo.sourceRotation hinzu. (IC6149)
  • ZoomGestureDetector.ZoomEvent wurde hinzugefügt, um die Zustände einer Zoom-Geste zu kapseln. (I84cdf)

Kamera-Version 1.5

Version 1.5.0-alpha01

4. September 2024

androidx.camera:camera-*:1.5.0-alpha01 wurde veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.

API-Änderungen

  • Stellen Sie eine API bereit, um Kompositionseinstellungen für die Videoaufzeichnung bei zwei gleichzeitigen Kameras festzulegen. Die Einstellungen umfassen den Alphawert für die Überlagerung, den Versatz in x- und y-Koordinaten sowie die Skalierung der Breite und Höhe des Anzeigefensters des Kamerarahmens. Versatz, Breite und Höhe werden in normalisierten Gerätekoordinaten angegeben. (Ia2b8a)
  • CameraProvider.getCameraInfo wurde als formale API bereitgestellt. (I901cd)
  • Die API PendingRecording.withAudioEnabled(boolean initialMuted) zur Steuerung der anfänglichen Stummschaltung wurde hinzugefügt. (I635c3, b/354829267)

Fehlerkorrekturen

  • Der Absturz beim Aufrufen von bindToLifecycle mit einem gelöschten LifecycleOwner wurde behoben. (I6e6d8)
  • Feststehende Vorschau zeigt einen schwarzen Bildschirm in der Frontkamera beim Binden mit VideoCapture auf dem Motorola Edge 20 Fusion. (I1fe88)
  • Die Konfiguration für die Erkennung von Zoomgesten in PreviewView wurde optimiert, um die Flüssigkeit zu verbessern. (I04ffc)

Kamera-Version 1.4

Version 1.4.0-rc01

7. August 2024

androidx.camera:camera-*:1.4.0-rc01 wurde veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.

Neue Funktionen

  • Eine experimentelle CameraInfo.getCameraInfo wurde hinzugefügt, um spezifische Kamerainformationen bereitzustellen, ohne dass Anwendungsfälle an die Kamera gebunden werden müssen. (I550d1)

API-Änderungen

  • Es wurden die APIs PreviewView.getScreenFlash und PreviewView.setScreenFlashOverlayColor für Fälle hinzugefügt, in denen ScreenFlashView nicht explizit hinzugefügt wird. (I43945)

Fehlerkorrekturen

  • Probleme mit Belichtung und Farbfärbung wurden behoben, wenn Bilder mit aktiviertem Blitz bei wenig Licht und in Verbindung mit dem VideoCapture-Anwendungsfall aufgenommen wurden. (IC9814)
  • Beheben Sie das Problem, dass das Unterbrechen einer takePicture-Anfrage mit aktivierten Erweiterungen möglicherweise kein Ergebnis liefert und die nächste takePicture-Anfrage möglicherweise nicht mehr funktioniert. (Iae78f)
  • Ein Speicherleck wurde behoben, das bei aktivierten Erweiterungen auftrat. (Iab276)
  • Eine Fehlfunktion der CameraX-Erweiterungen auf Geräten wie Pixel 7/8 und Samsung Galaxy S24 wurde behoben. Das Problem, das auf ein Camera2OutputConfigImpl-Konvertierungsproblem im Releasemodus zurückzuführen ist, trat nach dem Upgrade von AGP auf 8.5.1 und der Aktivierung der Reduzierung auf. (I99598, b/354824993)

Version 1.4.0-beta02

12. Juni 2024

androidx.camera:camera-*:1.4.0-beta02 wurde veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.

API-Änderungen

  • Ähnlich wie bei „VideoCapture“ wird für den Anwendungsfall „Vorschau“ setMirrorMode hinzugefügt. Sie unterstützt das Ein- und Ausschalten des Spiegelungsmodus für Vorschaustreams über OutputConfiguration.setMirrorMode ab API 33. Bei älteren APIs ist dies kein Betrieb. (I821f4)

Fehlerkorrekturen

  • Das Problem, dass Apps auf dem Samsung Tab A8 keine Bilder aufnehmen konnten, wenn ImageCapture unter Preview + VideoCapture + ImageCapture UseCase das Format 1920 x 1080 auswählte, wurde behoben. (I5a463, b/336925549)
  • Ein Problem wurde behoben, durch das die dauerhafte Aufnahme nach einem Wechsel der Kamera möglicherweise nicht fortgesetzt wird. (Icb0a1)

Version 1.4.0-beta01

14. Mai 2024

androidx.camera:camera-*:1.4.0-beta01 wurde veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.

API-Änderungen

  • ZoomGestureDetector.ZoomEvent wurde hinzugefügt, um die Zustände einer Zoom-Geste zu kapseln. (I84cdf)

Fehlerkorrekturen

  • Es wurde ein Fehler behoben, bei dem beim Erfassen und Tippen zum Fokussieren nicht die sich wiederholenden Werte für den FPS/Stabilisierungsmodus für Anfragen verwendet wurden. Dadurch kann es bei einigen Geräten zu Latenzproblemen oder einem Einfrieren der Vorschau kommen. (I7dc0b)
  • Es wurde ein Fehler behoben, bei dem hohe Auflösungen nicht ausgewählt werden konnten, wenn CameraEffect auf einigen Geräten aktiviert war. (z. B. 4.000 × 3.000 auf einem Samsung A32 5G). (Ie3ed3, b/337336152)
  • Ein Absturz bei der Bildaufnahme mit der Vorschau wurde behoben. ImageCapture und VideoCapture(UHD) sind an Pixel 4 XL API29 gebunden. (I5b288)
  • Virtuelle Geräte unterstützen: Der an ProcessCameraProvider übergebene Kontext behält die Geräte-ID bei, um die Funktionalität in einer virtuellen Geräteumgebung sicherzustellen. (I5ba48)

Version 1.4.0-alpha05

17. April 2024

androidx.camera:camera-*:1.4.0-alpha05 wurde veröffentlicht. Version 1.4.0-alpha05 enthält diese Commits.

Neue Funktionen

  • ProcessCameraProvider wurde in eine Kotlin-Implementierung konvertiert. (I46d4f)
  • Es wurden ImageCapture.takePicture-Sperrfunktionen hinzugefügt, um einen Kotlin-idiomatischen Aufruf zu ermöglichen. (I920be)

API-Änderungen

  • Fügen Sie ImageCapture APIs für das Ausgabeformat hinzu und fügen Sie die Methode getSupportedOutputFormats zu ImageCaptureCapabilities hinzu, um die Gerätefunktion abzufragen. Der Standardwert für das Ausgabeformat ist OUTPUT_FORMAT_JPEG. Damit werden SDR-Bilder im JPEG-Format erfasst. Wenn das Gerät Ultra HDR unterstützt und das Ausgabeformat auf OUTPUT_FORMAT_JPEG_ULTRA_HDR eingestellt ist, nimmt CameraX komprimierte Bilder mit Ultra HDR im JPEG/R-Bildformat auf. Das Format ist abwärtskompatibel mit dem SDR-JPEG-Format und unterstützt die HDR-Wiedergabe von Inhalten. Das bedeutet, dass Bilder in älteren Apps und auf älteren Geräten nahtlos als normales JPEG-Bild angezeigt werden. In Apps und auf Geräten, die aktualisiert wurden, um das Format vollständig zu unterstützen, werden Bilder als HDR angezeigt. (I5de50)
  • Fügen Sie PhysicalCameraInfo in CameraInfo hinzu, um Informationen zur physischen Kamera abzufragen, und fügen Sie ID-Setter/Getter für physische Kameras in CameraSelector hinzu (Ic5b90).
  • Ersetzen Sie CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED durch ImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED. Der Wert der Konstante bleibt gleich. Dies dient der Konsolidierung aller Konstanten an einem Ort. (I890bb)
  • Mit der neuen RetryPolicy API können Entwickler das Wiederholungsverhalten für die CameraX-Initialisierung anpassen. (I36dd2)
  • Erstellen eines ImageCaptureLatencyEstimate-Objekts zur Unterstützung der Testbarkeit aktivieren (Iaba99)
  • Fügen Sie ein ImageAnalysis#COORDINATE_SYSTEM_SENSOR hinzu. In diesem Fall gibt der MlKitAnalyzer Koordinaten im Koordinatensystem des Kamerasensors zurück. (I3ec61)
  • Offengelegte Erweiterungsmetadaten-API. Mit den neuen CameraExtensionsInfo- und CameraExtensionsControl-Oberflächen können Anwendungen die Einstellungen für die Erweiterungsstärke überwachen und anpassen. Anwendungen können die Instanz CameraExtensionsInfo oder CameraExtensionsControl über die neu hinzugefügten Methoden ExtensionsManager#getCameraExtensionsInfo() oder ExtensionsManager#getCameraExtensionsControl() abrufen. (I28e1a)
  • ProcessCameraProvider.awaitInstance wurde hinzugefügt. Dies ist eine vorübergehende Version von ProcessCameraProvider.getInstance (Ib22b9).
  • Fügen Sie eine PreviewView#getSensorToViewTransform() API hinzu. Die Matrix stellt die Transformation von Kamerasensorkoordinaten in die Koordinaten der PreviewView dar. Damit können Koordinaten von einer UseCase in eine andere umgewandelt werden. Ein Beispiel dafür ist die Umwandlung der Koordinaten erkannter Objekte in ImageAnalysis in das Overlay PreviewView. (I947ab)
  • Gestalten Sie die camera-viewfinder-core API allgemeiner, damit sie von camera-viewfinder und camera-viewfinder-compose verwendet werden kann. (I1e295)
  • Die Funktion getSurface wurde zu ViewfinderSurfaceRequest hinzugefügt. (I781a0)
  • camera-viewfinder-core in camera-viewfinder verwenden und ViewfinderSurfaceRequest und CameraViewfinder verwerfen. (I6198c)
  • ZoomGestureDetector wurde hinzugefügt, die Skalierungsgesten interpretiert, die speziell für Zoomen durch Auseinander- und Zusammenziehen konfiguriert wurden. (Ifafbf)

Fehlerkorrekturen

  • Behoben: ImageAnalysis' Problem bei der Auswahl der Auflösung im Zusammenhang mit der Standard-Zielauflösungseinstellung des Analysegeräts: Die Zielauflösung wurde fälschlicherweise als 640 x 480 beibehalten, auch wenn in Anwendungen eine andere Standardauflösungseinstellung für den Analysator festgelegt wurde. Wenn Anwendungen auf dieses Problem (1.3.0 bis 1.3.2) stoßen und kein Upgrade auf die neueren Versions-Releases durchführen kann, die diese Lösung enthalten, kann das Problem möglicherweise umgangen werden, indem direkt ResolutionSelector mit der bevorzugten Auflösung und einem passenden AspectRatioStrategy mit ImageAnalysis UseCase festgelegt wird. (I81f72, b/330091012)
  • Es wurde ein Problem behoben, durch das takePicture-Anfragen in der Warteschlange möglicherweise nicht ausgeführt werden konnten, wenn die aktuelle Anfrage fehlgeschlagen war. (IE0801)
  • Legen Sie die Prüfung auf ungültige JPEG-Daten auf Vivo X60- und X60 Pro-Geräten fest. Dadurch kann ein Problem mit ungewöhnlich großen Bildern auf diesen Geräten behoben werden. (I82247, b/288828159)
  • Das Problem mit den falschen Metadaten von JPEG-Bildern auf Samsung A24-Geräten wurde behoben. Nach der Korrektur kann CameraX das JPEG-Bild erfolgreich speichern oder die korrekten Bitmap-Objekte können beim Aufrufen der ImageProxy.toBitmap()-Funktion auf Samsung A24-Geräten zurückgegeben werden. (I8d6eb, b/309005680)
  • Legen Sie die Prüfung auf ungültige JPEG-Daten auf allen Samsung-Geräten fest, wenn das aufgenommene Bild größer als 10 MB ist. Dadurch kann ein ungewöhnlich großes Bildproblem auf Samsung-Geräten behoben werden. (Ic2a65, b/288828159)
  • Die Unterstützung von ImageAnalysis für CameraX-Erweiterungen wurde so vieler OEMs entfernt Die Implementierung von Erweiterungen funktioniert nicht richtig mit ImageAnalysis und kann zu inkonsistenten Problemen führen. (I2d926)

Version 1.4.0-alpha04

24. Januar 2024

androidx.camera:camera-*:1.4.0-alpha04 wurde veröffentlicht. Version 1.4.0-alpha04 enthält diese Commits.

Neue Funktionen

  • Neues Artefakt: Kameraeffekte: Eine Bibliothek zum Anwenden von Echtzeiteffekten auf CameraX-Ausgabe, einschließlich Preview, VideoCapture und/oder ImageCapture. Dieses Artefakt enthält OpenGL-Implementierungen der CameraEffect API, mit denen die Kameraausgabe effizient bearbeitet wird.
  • OverlayEffect: zum Zeichnen von Overlays mit der Canvas API von Android So kann die App ein Wasserzeichen anwenden oder erkannte Objekte in den Kameraausgaben hervorheben.
  • DynamicRange-APIs für den Anwendungsfall „Vorabversion“: Der dynamische Bereich kann jetzt unabhängig vom Anwendungsfall „Vorschau“ für den Anwendungsfall „Vorschau“ festgelegt werden. Dadurch sind dynamische HDR-Bereiche wie HLG10 allein für die Vorabversion möglich. Neue APIs sind auch in CameraInfo verfügbar, um abzufragen, welche dynamischen Bereiche jede Kamera unterstützt.

API-Änderungen

  • ScreenFlashUiCompleter wurde in ScreenFlashListener umbenannt und ScreenFlashUiCompleter#getExpirationTimeMillis wurde in den expirationTimeMillis-Parameter von ScreenFlash#apply verschoben. (I13944)
  • Es wurden neue APIs hinzugefügt, damit der dynamische Bereich für den Anwendungsfall „Vorabversion“ festgelegt werden kann und um dynamische Bereiche abzufragen, die von jeder Kamera unterstützt werden. Dadurch können dynamische HDR-Bereiche wie HLG10 nur im Anwendungsfall „Vorabversion“ verwendet werden, sodass nicht mehr gleichzeitig ein VideoCapture gebunden werden muss. (If25e3)
  • getMirroring() wurde in isMirroring() umbenannt (I47063)
  • In CameraX wird weiterhin die Unterstützung von Schätzungen der Latenz in Echtzeit erfasst. Mithilfe von Kameraerweiterungen können Anwendungen eine API verwenden, die eine Schätzung der Dauer einer Aufnahme liefert. Die Schätzung berücksichtigt die aktuellen Umgebungsbedingungen, den Kamerastatus und die Zeit, die für die Verarbeitung von Multiframe-Erfassungsanfragen aufgewendet wurde, sowie gegebenenfalls zusätzliche Zeit für die Codierung verarbeiteter Zwischenspeicher. (I05c3a)
  • ScreenFlashUiControl wurde in ScreenFlash umbenannt, ScreenFlashUiControl#applyScreenFlashUi in ScreenFlash#apply, ScreenFlashUiControl#clearScreenFlashUi in ScreenFlash#clear und die Methode getScreenFlashUiApplyTimeoutSeconds wurde hinzugefügt, anstatt SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS direkt offenzulegen. (Iccdd0)

Fehlerkorrekturen

  • Ein Speicherleck wurde behoben, bei dem Aktivitäten oder Fragmente nicht freigegeben wurden, wenn Erweiterungen aktiviert waren (I14215).
  • Das Problem, bei dem getZoomRatio fälschlicherweise einen niedrigeren Wert zurückgegeben hat, wenn ein ansteigendes Zoomverhältnis angewendet wurde, wurde behoben. (I4aa0d, b/317543616)
  • Das ImageCapture#ScreenFlash#clear-Ereignis wird sofort ausgelöst, wenn die Bindung von ImageCapture aufgehoben oder die Kamera geschlossen wird. Außerdem werden einige Fehler behoben, bei denen es nie aufgerufen wird, weil Aufnahmen in diesen Szenarien nicht ordnungsgemäß abgeschlossen wurden. (If99f9)
  • Der Absturz, der auftrat, wenn der Lebenszyklus beendet wurde, bevor die takePicture-Anfrage abgeschlossen war, wurde behoben (Idf017, b/306202751).
  • Ein Problem wurde behoben, durch das die Kameravorschau auf einigen Geräten schwarz wurde, wenn Erweiterungen aktiviert waren (I1ffd0).
  • Die falsche Dauer der Videoaufnahme auf Geräten mit Snapdragon 778G-SoC wurde behoben. (If6aa7, b/316057919)

Version 1.4.0-alpha03

13. Dezember 2023

androidx.camera:camera-*:1.4.0-alpha03 wurde veröffentlicht. Version 1.4.0-alpha03 enthält diese Commits.

Neue Funktionen

  • CameraInfo.mustPlayShutterSound wurde hinzugefügt, um anzugeben, ob ein Auslösegeräusch gemäß regionalen Einschränkungen abgespielt werden muss. (Ifda84)
  • OnImageCapturedCallback.onCaptureStarted und OnImageSavedCallback.onCaptureStarted wurden hinzugefügt, um benachrichtigt zu werden, wenn die Kamera begonnen hat, einen Frame zu belichten. Es wird empfohlen, das Auslösegeräusch oder die Auslöseanimation an dieser Stelle abzuspielen. (IC49b3)
  • In CameraX wird die Funktion "Bildschirmblitz" für die Aufnahme von Bildern mit der Frontkamera unterstützt. CameraX übernimmt die Framework-seitige API-Verarbeitung und synchronisiert das Timing nach Bedarf mit den Änderungen an der Benutzeroberfläche der Anwendung (z.B. Trigger für die AE-Pre-Capture-Erfassung nach Änderung der Farbe und Helligkeit des App-Bildschirms). Apps müssen ihre UI-seitigen Implementierungen nur in der ScreenFlashUiControl-Schnittstelle hinzufügen, die für CameraX bereitgestellt wird. (I8ae84)
  • In CameraX wird die UI-seitige Implementierung der Bildschirm-Flash-Funktion unterstützt. Apps können eine einfache ImageCapture.ScreenFlashUiControl-Implementierung von PreviewView oder der neu hinzugefügten ScreenFlashView erhalten. Dadurch wird eine einfarbige Overlay-Ansicht hinzugefügt und die Bildschirmhelligkeit während der Aufnahme eines Bildschirmblitzes maximiert. (I1810e)

API-Änderungen

  • Unterstützt neue Erweiterungsfunktionen(Postview und Erfassung des Prozessfortschritts): Es wurden ImageCapture#getImageCaptureCapabilities()-APIs für Apps hinzugefügt, um die Funktionen des Postview abzufragen und den Callback des Prozessfortschritts zu erfassen. Apps können Postview mithilfe von ImageCapture.Builder#setPostviewEnabled() aktivieren. Die Postview-Größe kann mit ImageCapture.Builder#setPostviewResolutionSelector() ausgewählt werden. Beim Aufrufen von takePicture() können onPostviewBitmapAvailable und onCaptureProcessProgressed in OnImageSavedCallback oder OnImageCapturedCallback implementiert werden, um die PostView- und Prozessfortschrittsbenachrichtigung zu erhalten (falls unterstützt). (I5cd88)
  • APIs zur Berechnung der Koordinatentransformation vom Sensor in den aktuellen Zwischenspeicher, wobei ein Flag angibt, ob die Oberfläche Informationen zur Kameraausrichtung enthält. (I59096)
  • Machen Sie die API für die Abfrage von PreviewCapabitlity in der Vorschau UseCase verfügbar. (Ie5b6c)
  • Es wurden APIs zur Unterstützung weiterer Qualitäten für VideoCapture hinzugefügt. Recorder.Builder#setVideoCapabilitiesSource(int) kann mit VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES verwendet werden, um eine Recorder-Instanz zu erstellen, die mehr Qualitäten als VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE unterstützt. Ein häufiger Anwendungsfall ist, wenn die App versucht, UHD-Videos aufzuzeichnen, wann immer dies möglich ist, aber CamcorderProfile auf dem Gerät keine UHD-Einstellungen hat, obwohl der Codec UHD-Video aufzeichnen kann. (Iedbe2, b/263961771)
  • Fügen Sie CameraController den ImageAnalysis-Ausgabeformat-Getter/-Setter hinzu. (I9a96c, b/308240643)

Fehlerkorrekturen

  • Von Kamera 1.3.1: Die Leistung von ProcessCameraProvider#bindToLifecycle() wurde verbessert. Die wesentliche Änderung besteht darin, den Prozess zur Ermittlung der am besten geeigneten Größenkombinationen für UseCases zu optimieren. Die optimalen Ergebnisse variieren je nach den spezifischen UseCase-Kombinationen und der Anzahl der unterstützten Ausgabegrößen für die Zielgeräte. (I454f2)
  • Verwendung von VideoCapture zulassen, wenn Erweiterungen aktiviert sind. (I91f32)
  • Ein Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Serien Samsung A71 und M51 wurde behoben. Die erfassten JPEG-Bilder enthalten redundante Nullen Padding-Daten im komprimierten JFIF-Datensegment. Dies führt dazu, dass die aufgenommenen Bilder extrem groß sind. Diese redundanten Null-Padding-Daten werden entfernt, damit die erfassten Bilder normale Bilddateigrößen haben. (I01afc, b/288828159)
  • Deaktiviere die ImageAnalysis-Unterstützung für Pixel, um den Fehler auf Pixel zu vermeiden, der versehentlich die nicht leeren unterstützten ImageAnalysis-Größen zurückgibt. (I7ec31)
  • Ein Leistungsproblem wurde behoben, bei dem die CPU-Auslastung und der Stromverbrauch bei aktivierten Erweiterungen zunahmen. (Ibdccb)
  • Snapdragon 480 wurde zu CameraUseInconsistentTimebaseQuirk hinzugefügt. Dadurch wird auf Geräten mit diesem Chipsatz ein Problem behoben, bei dem der Ton in Aufnahmen mit der Zeit, in der das Gerät gesperrt ist, ausgeglichen wurde. (I58010)

Version 1.4.0-alpha02

18. Oktober 2023

androidx.camera:camera-*:1.4.0-alpha02 wurde veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.

API-Änderungen

  • Benennen Sie die API in setCameraOpenRetryMaxTimeoutInMillisWhileResuming um und benennen Sie das Argument um. (I72370)
  • Es werden APIs hinzugefügt, um die Gerätefunktion abzufragen und die Stabilisierung für Videos/Vorschauen zu aktivieren. (I87544)
  • Stellen Sie eine API bereit, um die maximale Zeitüberschreitung beim Öffnen der Kamera anzupassen. (I0c642)
  • ProcessCameraProvider.shutdownAsync wurde als öffentliche Test-API veröffentlicht, um den Prozesskameraanbieter in Testsuiten zu verwenden, bei denen CameraX zwischen den Tests möglicherweise auf unterschiedliche Weise initialisiert werden muss. (I9eca7)
  • Fügen Sie APIs hinzu, um den dynamischen Bereich bei der Videoaufnahme, die Framerate und den Spiegelmodus zu konfigurieren. (Ifb8f7)
  • OutputSize verwerfen und durch ResolutionSelector ersetzen. ResolutionSelector bietet eine umfassendere Möglichkeit zur Auswahl von Auflösungen und entspricht der API für den Kamerakern. (I93abd, b/286801438)

Fehlerkorrekturen

  • Das Problem mit der schwarzen Vorschau auf dem Samsung Galaxy S23 Ultra 5G wurde behoben, wenn „Bokeh-Erweiterungen“ oder „Gesichtsretusche“ mit ImageAnalysis auf der Rückkamera aktiviert war. (I2e8b1)
  • Vorschau und VideoCapture verzögerte Probleme auf Moto E5 Play wurden behoben. (73dce2)

Version 1.4.0-alpha01

20. September 2023

androidx.camera:camera-*:1.4.0-alpha01 wurde veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.

API-Änderungen

  • Neue API hinzufügen, um während der Aufzeichnung auf Informationen zur Audiostärke zuzugreifen. (ID4925)

Fehlerkorrekturen

  • Verbessern Sie die Stabilität der Erweiterungen, indem Sie dafür sorgen, dass die Initialisierungs- und Deinitialisierungsereignisse in der richtigen Reihenfolge ausgelöst werden. (Ib3b8e)
  • Der Konfigurationsfehler bei der Erfassungssitzung wurde behoben, weil die unterstützte Oberflächenkombination überschritten wurde, da intern eine zusätzliche wiederkehrende Oberfläche hinzugefügt wurde. (Id718c)
  • Ein Problem mit einem großen aufgenommenen JPEG-Bild auf dem Vivo S16-Gerät wurde behoben. Die erfassten JPEG-Bilder enthalten redundante Nullen Padding-Daten im komprimierten JFIF-Datensegment. Dadurch werden die aufgenommenen Bilder sehr groß. Diese redundanten Null-Padding-Daten werden entfernt, damit die erfassten Bilder normale Bilddateigrößen haben. (I79505, b/299069235)
  • Das Problem, dass ImageAnalysis nicht mit ImageCapture und der Vorschau gebunden werden kann, wenn auf einigen Geräten einige Erweiterungsmodi aktiviert waren, wurde behoben. Die Korrektur gibt den richtigen Wert zurück, wenn Apps die Verfügbarkeit von ImageAnalysis über ExtensionsManager#isImageAnalysisSupported() abfragen. (I7d538)
  • Aktualisieren Sie JavaDoc entsprechend dem Verhalten. Anstatt den Vorgang sofort abzuschließen, warten #setZoomRatio, #setLinearZoom und #enableTorch, bis die Kamera bereit ist. Außerdem wurden Informationen zum maximalen Sichtfeld mit der #takePicture API hinzugefügt. (I23588)

Version 1.3

Version 1.3.4

12. Juni 2024

androidx.camera:camera-*:1.3.4 wurde veröffentlicht. Version 1.3.4 enthält diese Commits.

Fehlerkorrekturen

  • Das Problem, bei dem getZoomRatio beim Anwenden eines ansteigenden Zoomverhältnisses fälschlicherweise einen niedrigeren Wert zurückgegeben hat, wurde behoben. (I4aa0d, b/317543616)
  • Es wurde ein Problem behoben, durch das die Aufnahme/das Tippen zum Fokussieren weiterhin bei nicht wiederholten Anfragewerten für FPS/Stabilisierungsmodus verwendet wurde. Dadurch kann es bei einigen Geräten zu einer Neuerstellung der Aufnahmesitzung und zu Latenzproblemen oder einem Einfrieren der Vorschau kommen. (I7dc0b)
  • Das Problem, dass die Framerate beim Aufrufen von setTargetFrameRate mit FRAME_RATE_RANGE_UNSPECIFIED auf einen niedrigeren Wert festgelegt wurde, wurde behoben. (I78c61)

Version 1.3.3

17. April 2024

androidx.camera:camera-*:1.3.3 wurde veröffentlicht. Version 1.3.3 enthält diese Commits.

Fehlerkorrekturen

  • Behoben: ImageAnalysis' Problem bei der Auswahl der Auflösung im Zusammenhang mit der Standard-Zielauflösungseinstellung des Analysegeräts: Die Zielauflösung wurde fälschlicherweise als 640 x 480 beibehalten, auch wenn in Anwendungen eine andere Standardauflösungseinstellung für den Analysator festgelegt wurde. Wenn Anwendungen auf dieses Problem (1.3.0 bis 1.3.2) stoßen und kein Upgrade auf die neueren Versions-Releases durchführen kann, die diese Lösung enthalten, kann das Problem möglicherweise behoben werden, indem direkt ResolutionSelector mit der bevorzugten Auflösung und einem passenden AspectRatioStrategy zum ImageAnalysis-Anwendungsfall festgelegt wird. (I81f72, b/330091012)

Version 1.3.2

6. März 2024

androidx.camera:camera-*:1.3.2 wurde veröffentlicht. Version 1.3.2 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem mit JPEG-Metadaten auf Samsung A24-Geräten wurde behoben. CameraX speichert Bilder jetzt genau und die ImageProxy.toBitmap()-Funktion gibt korrekte Bitmap-Objekte zurück. (I8d6eb, b/309005680)
  • Die Option für die Auflösung 9280 x 6944 auf Redmi Note 9 Pro-Geräten wurde aufgrund von Problemen entfernt. (Ia23da)

Version 1.3.1

13. Dezember 2023

androidx.camera:camera-*:1.3.1 wurde veröffentlicht. Version 1.3.1 enthält diese Commits.

Fehlerkorrekturen

Die Leistung von ProcessCameraProvider#bindToLifecycle() wurde verbessert. Die wesentliche Änderung besteht darin, den Prozess zur Ermittlung der am besten geeigneten Größenkombinationen für UseCases zu optimieren. Die optimalen Ergebnisse variieren je nach den spezifischen UseCase-Kombinationen und der Anzahl der unterstützten Ausgabegrößen für die Zielgeräte. (I454f2)

Hier sind einige Referenzergebnisse für verschiedene Szenarien:

  • Vier UseCases: Preview + ImageCapture + ImageAnalysis + VideoCapture

    • Google Pixel 7: ca. 430 ms bis 60 ms
    • Samsung Galaxy S23 Ultra: ca. 540 bis 45 ms
    • Samsung A53 5G: ca. 115 ms bis 70 ms
  • Drei UseCases: Preview + ImageCapture + ImageAnalysis

    • Google Pixel 7: ca. 9 ms bis 7 ms
    • Samsung Galaxy S23 Ultra: ca. 6 bis 5 ms
    • Samsung A53 5G: ca. 32 ms bis 12 ms
  • Snapdragon 480 wurde zu CameraUseInconsistentTimebaseQuirk hinzugefügt. Dadurch wird auf Geräten mit diesem Chipsatz ein Problem behoben, bei dem der Ton in Aufnahmen mit der Zeit, in der das Gerät gesperrt ist, ausgeglichen wurde. (I58010)

Version 1.3.0

18. Oktober 2023

androidx.camera:camera-*:1.3.0 wurde veröffentlicht. Version 1.3.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.2.0

Version 1.3.0-rc02

20. September 2023

androidx.camera:camera-*:1.3.0-rc02 wurde veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Verbessern Sie die Stabilität der Erweiterungen, indem Sie dafür sorgen, dass die Initialisierungs- und Deinitialisierungsereignisse in der richtigen Reihenfolge ausgelöst werden. Dadurch wurden einige Probleme mit der schwarzen Vorschau beim Wechsel des Erweiterungsmodus oder einer anderen Kamera behoben. (Iddaac)
  • Das Problem, dass ImageAnalysis nicht mit ImageCapture und der Vorschau gebunden werden kann, wenn auf einigen Geräten einige Erweiterungsmodi aktiviert waren, wurde behoben. Die Korrektur gibt den richtigen Wert zurück, wenn Apps die Verfügbarkeit von ImageAnalysis über ExtensionsManager#isImageAnalysisSupported() abfragen. (I7d538)
  • Das Problem, dass die aufgezeichneten Audio- und Videoinhalte nicht synchron waren, wenn der Spiegelungsmodus auf dem Xiaomi Poco X3 NFC aktiviert war, wurde behoben. (I20b4c)

Version 1.3.0-rc01

23. August 2023

androidx.camera:camera-*:1.3.0-rc01 wurde veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.

API-Änderungen

  • PendingRecording.asPersistentRecording wurde hinzugefügt, damit eine Aufnahme rund um die Uhr aufgezeichnet werden kann, während das VideoCapture, mit dem sie Rekorder verknüpft ist, Rebound ist. (I517c6)

Fehlerkorrekturen

  • Ein Absturz wurde behoben, der beim Teilen eines Streams mit VideoCapture und der Vorschau aufgetreten ist. Außerdem wurde ein schwarzer Bildschirm auf LEGACY-Geräten behoben, bei dem die Streamfreigabe aktiviert war.
  • Ein Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Serie Samsung S7 (SM-G930T, SM-G930V) wurde behoben. Die erfassten JPEG-Bilder enthalten redundante Nullen Padding-Daten im komprimierten JFIF-Datensegment. Dadurch werden die aufgenommenen Bilder sehr groß. Diese redundanten Null-Padding-Daten werden entfernt, damit die erfassten Bilder normale Bilddateigrößen haben. (I407b0, b/288828159)
  • Ein Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Serien Samsung S22 (SM-S901B, SM-S901B/DS) und S22+ (SM-S906B) wurde behoben. Die erfassten JPEG-Bilder enthalten redundante Nullen Padding-Daten im komprimierten JFIF-Datensegment. Die aufgenommenen Bilder haben auf dem S22 SM-S901B/DS-Gerät eine große Dateigröße von etwa 13 MB. Diese redundanten Null-Padding-Daten werden entfernt, damit die erfassten Bilder normale Bilddateigrößen haben. (I73be9, b/288828159)
  • Ein Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Serien Samsung A5, A52, A70 und A72 wurde behoben. Die erfassten JPEG-Bilder enthalten redundante Nullen Padding-Daten im komprimierten JFIF-Datensegment. Dies führt dazu, dass die aufgenommenen Bilder eine extreme Dateigröße haben (z. B. 32 MB oder sogar 96 MB). Diese redundanten Null-Padding-Daten werden entfernt, damit die erfassten Bilder normale Bilddateigrößen haben. (I97c4d, b/288828159)
  • Nativer Absturz beim Aufnehmen von Bildern mit aktivierten Erweiterungen behoben (I698f5)

Version 1.3.0-beta02

26. Juli 2023

androidx.camera:camera-*:1.3.0-beta02 wurde veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Taschenlampe als Blitz für Pixel 4- und 5-Varianten verwenden, um die Aufnahmequalität bei wenig Licht zu verbessern (I56ff5, b/280221967)
  • Ein Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Serie Samsung A5 (2017) wurde behoben. Die erfassten JPEG-Bilder enthalten redundante Nullen Padding-Daten im komprimierten JFIF-Datensegment. Die aufgenommenen Bilder haben eine Dateigröße von etwa 32 MB. Diese redundanten Null-Padding-Daten werden entfernt, damit die erfassten Bilder normale Bilddateigrößen haben. (I29837, b/288828159)
  • Ein Problem wurde behoben, durch das die Wiederholung bei Erfassungsfehlern bei problematischen Geräten, die in „CaptureFailedRetryQuirk“ erwähnt werden, nicht richtig ausgelöst wurde. (I7b589)

Version 1.3.0-beta01

21. Juni 2023

androidx.camera:camera-*:1.3.0-beta01 wurde veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.

API-Änderungen

  • Der Funktionsname ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) wurde in setAllowedResolutionMode umbenannt und die Konstanten ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON wurden in PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE umbenannt. (If84e8)
  • Die eingestellten APIs ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) und VideoCapture.setTargetRotationDegrees(int) wurden entfernt. (Id8e77)
  • Die Klasse DynamicRange steht für den dynamischen Bereich von Bildern. Damit können High Dynamic Range-Formate als Ausgabe von VideoCapture bis VideoCapture.Builder#setDynamicRange() ausgewählt werden. (Ib0377)
  • Der ExtensionsManager wurde eine isImageAnalysisSupported API hinzugefügt, mit der Apps feststellen können, ob ein ImageAnalysis-Anwendungsfall mit der Vorschau und ImageCapture verknüpft werden kann, wenn Erweiterungen aktiviert sind. (I1bc63)
  • Die neue Klasse VideoCapabilities aus dem Recorder kann verwendet werden, um unterstützte dynamische Bereiche und Qualitäten für Videoaufnahmen auf dem Gerät abzufragen. Die Methoden getSupportedQualities() und isQualitySupported() von QualitySelector werden eingestellt. Verwenden Sie stattdessen die Methoden getSupportedQualities() und isQualitySupported() von VideoCapabilities. (I04014)
  • CameraController#setVideoCaptureTargetQuality() wird in setVideoCaptureQualitySelector umbenannt und verwendet das Argument QualitySelector. Dadurch sind Sie beim Einrichten der Videoqualität flexibler. CameraController#getVideoCaptureTargetQuality() wird entsprechend in getVideoCaptureQualitySelector geändert. (I520ed)
  • Die experimentelle Anmerkung für Videofunktionen wurde entfernt. Die Videofunktionen sind jetzt stabil. (I1a113)

Fehlerkorrekturen

  • Du kannst die Taschenlampe auf Samsung SM-A320-Modellen als Blitz verwenden, um bei schwachem Licht die Geschwindigkeit und die Qualität der Aufnahmen zu verbessern. (I6a022, b/286190938)
  • ImageFormat.JPEG-Formatunterstützung für ImageProxy.toBitmap() hinzugefügt. Wenn das JPEG-Byte-Array nicht decodiert werden kann, wird ein UnsupportedOperationException ausgelöst. (I81958, b/282057603)

Version 1.3.0-alpha07

24. Mai 2023

androidx.camera:camera-*:1.3.0-alpha07 wurde veröffentlicht. Version 1.3.0-alpha07 enthält diese Commits.

Neue Funktionen

  • Mit der neuen VideoCapture.Builder# setTargetFrameRate(Range) API können Videoaufnahmen mit anderen Framerates als der Standardeinstellung des Geräts aufgenommen werden. Die verfügbaren Framerates für Aufzeichnungen können über die neue CameraInfo#getSupportedFrameRates() API abgefragt werden.

API-Änderungen

  • Die ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON-Konstanten wurden in ALLOWED_RESOLUTIONS_NORMAL/SLOW umbenannt und der Builder-Funktionsname setHighResolutionEnabledFlag wurde in setAllowedResolutionMode umbenannt. (Iae817)
  • CameraInfo#getSupportedFrameRateRanges() gibt jetzt Set statt List zurück, um besser darzustellen, dass die Bereiche ungeordnet sind. (I02f43)
  • Fügen Sie CameraEffect einen Fehler-Listener hinzu, um nicht behebbare Fehler zu verarbeiten (Ice471)
  • Öffentlichen Konstruktor in ResolutionInfo für bessere Testbarkeit hinzufügen (If6d1c)
  • Es wurde eine API-UseCase.snapToSurfaceRotation(int) bereitgestellt, um die Nutzung von setTargetRotationDegrees zu ersetzen und die API ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) und VideoCapture.setTargetRotationDegrees(int) einzustellen. (Ia9010)
  • Die neuen APIs Preview#getTargetFrameRate und Preview.Builder#setTargetFrameRate wurden hinzugefügt, um die Ziel-Framerate für den Anwendungsfall „Vorschau“ festlegen und abrufen zu können (If4f22)
  • VideoRecordEvent.Finalize wird jetzt mit dem Fehlercode ERROR_RECORDING_GARBAGE_COLLECTED ausgefüllt, wenn das Recording-Objekt aufgrund einer automatischen Speicherbereinigung gestoppt wird. (Iba974)

Fehlerkorrekturen

  • Das Problem NullPointerException wurde behoben, wenn die im Cache gespeicherten Ausgabegrößen in StreamConfigurationMapCompat null waren. (Idf124, b/282025204)
  • Das Problem, dass Preview.setSurfaceProvider(null) die Vorschau in den Erweiterungen nicht pausiert (Ia903e), wurde behoben.
  • Es wurde ein Problem behoben, bei dem ConcurrentModificationException beim Öffnen der Kamera ausgelöst wurde, wenn VideoCapture gebunden ist. (IC8ac4)

Version 1.3.0-alpha06

19. April 2023

androidx.camera:camera-*:1.3.0-alpha06 wurde veröffentlicht. Version 1.3.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Die Funktion „Gleichzeitige Kamera“ ist eine neue Funktion, die mit Android 11 eingeführt wurde. Sie unterstützt beispielsweise das gleichzeitige Streamen von Kamerageräten. So können auf einem Gerät sowohl die Front- als auch die Rückkamera gleichzeitig betrieben werden. CameraX unterstützt derzeit nur zwei gleichzeitige Kameras. Es können also zwei Kameras gleichzeitig betrieben werden, wobei jeweils maximal zwei {@link UseCase}s verbunden sind. Die maximale Auflösung ist 720p oder 1440p. Weitere Informationen findest du unter CameraManager#getConcurrentCameraIds().
  • Die neue ResolutionSelector API umfasst die folgenden Funktionen: <ph type="x-smartling-placeholder">
      </ph>
    • In Apps können Strategien für das Seitenverhältnis und die Auflösung festgelegt werden, um die beste Auflösung für ihre Anforderungen auszuwählen.
    • Alle Größen und Seitenverhältnisparameter werden in den Koordinaten des Kameragerätesensors ausgedrückt.
    • Apps können einen benutzerdefinierten Auflösungsfilter implementieren, um die unterstützten Größen in der gewünschten Reihenfolge anzuordnen.
    • Anwendungen können auch Aufnahmen mit hoher Auflösung aktivieren, um Bilder mit höherer Auflösung zu erhalten. Beachten Sie jedoch, dass die Verwendung einer hohen Auflösung zu längeren Aufnahmezeiten führen kann.
    • VideoCapture Spiegelungs-APIs wurden hinzugefügt. Von VideoCapture aufgenommene Videos werden nicht standardmäßig gespiegelt. Die Kameravorschau wird jedoch standardmäßig auf der Frontkamera gespiegelt. Mit VideoCapture-Spiegelungs-APIs ist es möglich, die Kamera an die Kameravorschau auszurichten, wenn die Frontkamera verwendet wird. Es gibt drei MirrorMode, OFF, ON und ON_FRONT_ONLY. Zum Ausrichten an der Kameravorschau empfehlen wir die Verwendung von ON_FRONT_ONLY. Das bedeutet, dass die Spiegelung für die Rückkamera nicht, jedoch für die Frontkamera aktiviert ist.

API-Änderungen

  • Neue ResolutionSelector API verfügbar. In Anwendungen können Strategien für das Seitenverhältnis und die Auflösung mit Fallback-Regeln oder benutzerdefinierten Auflösungsfiltern angegeben werden, um die gewünschten Ergebnisse zu erzielen. Anwendungen können ein Flag angeben, um Aufnahmen mit hoher Auflösung zu aktivieren. Dadurch kann CameraX höhere Auflösungen für Fotos und Videos auswählen. Beachten Sie jedoch, dass die Verwendung einer hohen Auflösung zu längeren Aufnahmezeiten führen kann. (Ibed95)
  • Die vom AE-Algorithmus unterstützten FPS-Bereiche können jetzt über CameraInfo#getSupportedFrameRateRanges() abgefragt werden. (Iaa67f)
  • Fasse die Namen aller Framerate-Methoden in „FrameRate“ zusammen. Javadoc-Fehler in VideoCapture#getTargetFrameRate() korrigieren (I83304)
  • Die Legacy-API setTargetAspectRatio und setTargetResolution wurden verworfen. Verwenden Sie stattdessen die neue ResolutionSelector API. (I542c3)
  • Öffentliche APIs für gleichzeitige Dual-Kamera wurden hinzugefügt, einschließlich <ph type="x-smartling-placeholder">
      </ph>
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() und ConcurrentCameraConfig, SingleCameraConfig und ConcurrentCamera (Iab1c1)
  • ImageProcessor.Response#getOutputImage auf null setzen (Ib9c60)
  • VideoCapture-Spiegelungs-APIs wurden hinzugefügt, einschließlich VideoCapture.Builder.setMirrorMode(int) und VideoCapture.getMirrorMode(). Die APIs sind nützlich für Anwendungen, bei denen die Videoaufzeichnung mit dem üblichen Verhalten der Kameravorschau übereinstimmt, d.h., die Vorschau der Rückkamera wird nicht gespiegelt, die Vorschau der Frontkamera. (I713b6, b/194634656)
  • Fügen Sie die setTargetFrameRate() API in die VideoCapture.Builder und die getTargetFramerate() API in VideoCapture (I109d4) ein
  • Erweitern Sie mit „SurfaceOutput“ die Erweiterung „Closable“ und blenden Sie den öffentlichen Konstruktor von SurfaceOutput.Event aus. (I60ea8)
  • Recording.mute wurde hinzugefügt, um eine laufende Aufzeichnung dynamisch stummzuschalten oder die Stummschaltung aufzuheben. RecordingStats enthält AudioStats.AUDIO_STATE_MUTED, wenn die Aufzeichnung, die gerade verarbeitet wird, explizit stummgeschaltet ist. (Ie17fc)
  • Der Parameter #setEffects() wurde auf "null" gesetzt. Füge eine #clearEffects() API zum Löschen von Effekten hinzu. Die App sollte #clearEffects() aufrufen, um Effekte zu entfernen. (I4b4d9)
  • Fügen Sie einen zweiten Konstruktor für ViewfinderSurfaceRequest.Builder hinzu, um einen Builder für den Textkonstruktor zu verwenden (I621a7).

Fehlerkorrekturen

  • Das Problem, dass Apps, die die Extensions API aufrufen, abstürzten, wenn die Kamera geschlossen wurde (Ib27e5), wurde behoben.
  • VideoCapture konnte auf einigen Geräten nicht mit der Frontkamera funktionieren. Dieses Problem wurde behoben. Beispiel: Samsung Galaxy S23 und Xiaomi 2107113SG. (Ibec7e, b/270656244)
  • In Android 10 oder höher schlug das Aufnehmen von Bildern über die Datei im öffentlichen Ordner des externen Speichers immer fehl. Dieses Problem wurde behoben. Hinweis: Wenn Sie unter Android 10 Bilder über die Datei im öffentlichen Ordner des externen Speichers aufnehmen möchten, muss requestLegacyExternalStorage im App-Tag auf „true“ gesetzt sein. (I11b2c)
  • Ein RejectedExecutionException-Absturz in DefaultSurfaceProcessor wurde behoben. Der Absturz kann auftreten, wenn VideoCapture gebunden ist und die Aktivität pausiert wird. (Idb46a, b/273713906)

Version 1.3.0-alpha05

22. März 2023

androidx.camera:camera-*:1.3.0-alpha05 wurde veröffentlicht. Version 1.3.0-alpha05 enthält diese Commits.

API-Änderungen

  • VideoCapture-Rotations-APIs wurden hinzugefügt, einschließlich VideoCapture.Builder.setTargetRotation(int), VideoCapture.setTargetRotation(int), VideoCapture.setTargetRotationDegrees(int) und VideoCapture.getTargetRotation(). Die APIs sind für Anwendungen nützlich, bei denen die Geräteausrichtung gesperrt wird. ImageCapture.setTargetRotationDegrees(int) und ImageAnalysis.setTargetRotationDegrees(int) wurden ebenfalls hinzugefügt. (Id3ffe, b/205242781)
  • VIDEO_CAPTURE und PREVIEW|VIDEO_CAPTURE als Effektziel zulassen. Effekte, die auf VIDEO_CAPTURE ausgerichtet sind, werden auf den Anwendungsfall VideoCapture angewendet. Effekte, die auf „PREVIEW|VIDEO_CAPTURE“ ausgerichtet sind, werden auf einen freigegebenen Stream angewendet, bevor sie in die Vorschau und in den Stream „VideoCapture“ kopiert werden. (Iee6f3)

Fehlerkorrekturen

  • Von Kamera 1.2.2: Das Problem, dass CameraX-Erweiterungen nicht richtig funktionierten, wenn Proguard auf einigen Geräten wie Pixel (I90aa2) aktiviert war.
  • Ein PreviewView-Fehler wurde behoben, der bei der Verarbeitung der Bildschirmausrichtung durch die App selbst aufgetreten ist. kann die Vorschau bei der Drehung verzerrt werden. Das passiert nur auf bestimmten Geräten. Es kann auf Pixel A4, Pixel 5 und Pixel 6a reproduziert werden. (I14340, b/223488673)

Version 1.3.0-alpha04

22. Februar 2023

androidx.camera:camera-*:1.3.0-alpha04 wurde veröffentlicht. Version 1.3.0-alpha04 enthält diese Commits.

Neue Funktionen

Eine neue Funktion zur Unterstützung zuvor nicht unterstützter Oberflächenkombinationen, indem ein Stream für mehrere Anwendungsfälle freigegeben wird.

  • Bisher gab CameraX beim Binden von „Preview, VideoCapture, ImageAnalysis“ auf der Kamerahardwareebene FULL und niedriger oder beim Binden von „Preview, VideoCapture, ImageCapture“ auf der Hardwareebene LEGACY IllegalArgumentException aus.
  • Das neue Verhalten besteht darin, dass die Bindungen funktionieren, ohne Ausnahmen auszulösen. Stattdessen verwendet CameraX OpenGL, um einen freigegebenen Stream sowohl in die Vorschau als auch in VideoCapture zu kopieren.
  • Da die Kosten für den Puffer liegen, können die Latenz und der Stromverbrauch der Anwendung steigen.

API-Änderungen

  • Fügen Sie eine API hinzu, um ImageProxy in Bitmap zu konvertieren. Die unterstützten Formate für ImageProxy sind ImageFormat.YUV_420_888 und PixelFormat.RGBA_8888. Wenn das Format ungültig ist, wird IllegalArgumentException ausgegeben. (IC7110)
  • CoroutineCameraViewfinder wurde hinzugefügt, um die Konfiguration des Suchers mithilfe von Aussetzenfunktionen in Kotlin zu unterstützen. (I657bc)
  • Neuen öffentlichen Konstruktor für ViewfinderSurfaceRequest hinzufügen. Es bietet die Flexibilität, wenn der Nutzer CameraCharacteristics nicht angeben kann. (IE6549)

Fehlerkorrekturen

  • Der Absturz der Erweiterungen wurde behoben, der auf einigen Samsung-Geräten bei zu schnellem Pausieren/Fortsetzen der App auftrat (Iaca26).

Version 1.3.0-alpha03

25. Januar 2023

androidx.camera:camera-*:1.3.0-alpha03 wurde veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.

API-Änderungen

  • CameraInfo.getIntrinsicZoomRatio wurde hinzugefügt, um Informationen zum Blickwinkel relativ zur Standardkamera bereitzustellen. (Ib300c)
  • CameraInfo.getLensFacing mit Informationen zur Objektivrichtung hinzugefügt. „CameraSelector#LENS_FACING_EXTERNAL“ wurde als experimentelle Funktion zur Auswahl externer Kameras hinzugefügt. (Icaf3e)
  • Füge #setEffect() zu CameraController hinzu, um der Kameraausgabe Effekte hinzuzufügen. (I1d21f)
  • Methode invalidate() zu SurfaceRequest hinzufügen. Der Anbieter der Oberfläche kann benachrichtigen, dass die zuvor bereitgestellte Oberfläche nicht mehr gültig ist. (Idc649)
  • Fügen Sie eine ImageProcessor API hinzu. Diese Schnittstelle dient zum Einfügen von Nachbearbeitungseffekten in die ImageCapture-Pipeline. (I575c6)
  • Es wurde die API Recorder.Builder.setAspectRatio() hinzugefügt, die mit QualitySelector kombiniert werden kann, um mehr Videoauflösungen zu unterstützen. (I8a082)
  • Recorder.Builder#setTargetVideoEncodingBitRate wurde hinzugefügt, um die Ziel-Videocodierung auf BitRate festzulegen, und Recorder#getTargetVideoEncodingBitRate, um die Bitrate für die Ziel-Videocodierung zu erhalten. (I5984d)

Fehlerkorrekturen

  • ImageCapture schlug fehl, wenn keine Flash-Einheit vorhanden und der Blitzmodus aktiviert war. Dieses Problem wurde behoben. (I9e8b4, b/263391112)
  • Das Problem, dass JPEG-Bilder beim Schreiben von EXIF-Standortdaten auf einigen Samsung-Geräten mit Android 12 beschädigt wurden, wurde behoben. (Ib7086, b/263747161, b/263289024)
  • beim Einstellen des Taschenlampens/Zooms vor dem Initialisieren der Kamera, z.B. Durch Aufrufen von CameraController#enableTorch wird die ausstehende Aktion im Cache gespeichert und gesendet, sobald die Initialisierung abgeschlossen ist. (I11e92, b/264157663)

Version 1.3.0-alpha02

7. Dezember 2022

androidx.camera:camera-*:1.3.0-alpha02 wurde veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.

API-Änderungen

  • Hinzufügen einer neuen API zur Anwendung eines Nachbearbeitungseffekts auf die Vorschauausgabe. (IC17d5)
  • OutputOptions.getDurationLimit wurde in OutputOptions.getDurationLimitMillis und OutputOptions.setDurationLimit in OutputOptions.setDurationLimitMillis umbenannt. (I91f0c)
  • Fügen Sie die Klasse AudioConfig hinzu, um die audiobezogene Einstellung bei der Videoaufzeichnung zu übernehmen. Die Anmerkung @RequiresPermission wird von startRecording-Funktionen nach AudioConfig verschoben, um unnötige Berechtigungsanfragen für Fälle zu vermeiden, in denen keine Audioinhalte benötigt werden. (I28755)
  • Entfernen Sie die Klassen Metadata, OnVideoSavedCallback, OutputFileOptions und OutputFileResults, die nach Anwendung der neuen Video Capture API nicht mehr verwendet werden. (I38cd8)
  • Wenden Sie die neue Video Capture API an. Die Methoden getVideoCaptureTargetSize und setVideoCaptureTargetSize werden entsprechend durch die Methoden getVideoCaptureTargetQuality und setVideoCaptureTargetQuality ersetzt, da setTargetResolution nicht mehr unterstützt wird. (I2a1d5)

Fehlerkorrekturen

  • Eingestellte core.VideoCapture API entfernen. (I531e0)
  • Das Problem, dass der onError-Callback beim Aufnehmen von Bildern ohne die Speicherberechtigung nicht aufgerufen wurde, wurde behoben.(I936db, b/244807669)
  • Qualität und Zuverlässigkeit von Kameraerweiterungen verbessern Kameraerweiterungen sind auf Motorola-Geräten mit Kameraerweiterungen ab Version 1.1.0 deaktiviert, da Probleme mit der Bokeh-Unterstützung, bei der Bilderfassung und der Vorschau nicht fortgesetzt werden. (Id3ce3)
  • Ein Fehler wurde behoben, durch den der native Absturz behoben wurde, wenn das Zuschneiden von Videos über ViewPort auf älteren Geräten aktiviert war. (I16b8a, b/251357665)

Version 1.3.0-alpha01

9. November 2022

androidx.camera:camera-*:1.3.0-alpha01 wurde veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Camera-viewfinder wurde offiziell veröffentlicht. Camera-viewfinder bietet ein Basis-Widget für den Sucher, mit dem sich der Kamerafeed für Kamera 2 anzeigen lässt. Im Beispielcode finden Sie ein Beispiel.

API-Änderungen

  • OutputOptions.setDurationLimit wurde hinzugefügt, um das Festlegen eines Limits für die Videodauer zu ermöglichen. Die Aufzeichnung wird automatisch abgeschlossen, sobald die angegebene Dauer überschritten wird. (I902a0)
  • Audiofehlerstatus „AudioStats.AUDIO_STATE_SOURCE_ERROR“ bei der Videoaufnahme hinzufügen. Wird gesendet, wenn die Einrichtung der Audioquelle fehlschlägt oder ein Fehler auftritt. (I37410)

Fehlerkorrekturen

  • Füge einen Fehler hinzu, damit einige problematische Geräte die Aufnahme einmal wiederholen können, wenn Erfassungsfehler auftreten. (ID4795)
  • Problem bei der Implementierung des schwarzen Bildschirms bei PreviewView SurfaceView unter ViewPager2 behoben. Im Rahmen der Fehlerbehebung verwendet PreviewView die SurfaceView wieder, wenn die angeforderte Auflösung nicht geändert wird. (Ib3f27)
  • Unterstützt das Zuschneiden von Videos (WYSIWYG-Funktion), wenn die ViewPort oder CameraController API verwendet wird. (Ifbba8, b/201085351)
  • Ein Problem wurde behoben, durch das mit der Frontkamera aufgenommene Videos auf dem Huawei P40 Lite nicht aufgenommen werden konnten. (I87c57, b/250807400)

Version 1.2

Version 1.2.3

24. Mai 2023

androidx.camera:camera-*:1.2.3 wurde veröffentlicht. Version 1.2.3 enthält diese Commits.

Fehlerkorrekturen

  • VideoCapture konnte auf einigen Geräten nicht mit der Frontkamera funktionieren. Dieses Problem wurde behoben. Beispiel: Samsung Galaxy S23 und Xiaomi 2107113SG. (Ibec7e, b/270656244)

Version 1.2.2

22. März 2023

androidx.camera:camera-*:1.2.2 wurde veröffentlicht. Version 1.2.2 enthält diese Commits.

Fehlerkorrekturen

  • Auf einigen Geräten wie Pixel (I90aa2) funktionierten CameraX-Erweiterungen nicht richtig, wenn Proguard aktiviert ist. Dieses Problem wurde behoben.

Version 1.2.1

25. Januar 2023

androidx.camera:camera-*:1.2.1 wurde veröffentlicht. Version 1.2.1 enthält diese Commits.

Fehlerkorrekturen

  • Das Problem mit JPEG-Bildern wurde behoben, die auf einigen Samsung-Geräten mit Android 12 beim Schreiben von EXIF-Standortdaten aufgetreten sind. (b/263289024)

Version 1.2.0

7. Dezember 2022

androidx.camera:camera-*:1.2.0 wurde veröffentlicht. Version 1.2.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.1.0

  • Neue Bibliothek mit camera-mlkit-vision. Integrieren Sie CameraX problemlos in viele MLKit-Funktionen, darunter Barcode-Scanning, Gesichtserkennung, Texterkennung usw. MLKitAnalyzer wurde als neue APIs hinzugefügt.
  • Neue experimentelle Zero-Shutter-Lag-API Optimiert die Erfassungspipeline für eine bessere Latenz bei gleichbleibender Bildqualität. Wenn der Aufnahmemodus auf CAPTURE_MODE_ZERO_SHUTTER_LAG eingestellt ist, sollte die Latenz zwischen dem Klick auf den Auslöser und der Aufnahme des Bildes im Vergleich zu anderen Aufnahmemodi minimiert werden. Auf Geräten, die ZERO_SHUTTER_LAG nicht unterstützen, wird CAPTURE_MODE_MINIMIZE_LATENCY verwendet.
  • android.camera.core.VideoCapture einstellen.
  • setStreamUseCase() wurde als öffentliche Camera2Interop API hinzugefügt.
  • Für setOutputImageRotationEnabled muss ein API-Level hinzugefügt werden.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride() wurde in ImageAnalysis.Analyzer#getDefaultTargetResolution() umbenannt.
  • Es wurde eine API zum Festlegen von Standortmetadaten für das gespeicherte Video hinzugefügt.
  • Problem mit niedriger Framerate behoben, die bei der Verwendung von VideoCapture und der Vorabversion mit einem Seitenverhältnis von 16:9 verwendet wurde
  • Das Problem mit der schwarzen Vorschau, das auftrat, wenn die BOKEH-Erweiterung auf einigen Samsung-Geräten aktiviert war und der Nutzer die Kameras wechselte, wurde behoben.
  • Das Problem mit den erweiterten Funktionen für Samsung J7 Prime (SM-G610M) und J7 (SM-J710MN) Preview/VideoCapture auf Geräten mit API-Level 27 wurde behoben.
  • Die Problemumgehung zum horizontalen Spiegeln des AF-Bereichs der Frontkameras auf Samsung Android T wurde deaktiviert, da das Problem behoben wurde

Version 1.2.0-rc01

24. Oktober 2022

androidx.camera:camera-*:1.2.0-rc01 wurde veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.

API-Änderungen

  • setStreamUseCase API für OutputConfiguration hinzufügen. Der Nutzer kann den Stream-Anwendungsfall für die Streamsitzung angeben. Dadurch wird die interne Logik von CameraX überschrieben, um den Stream-Anwendungsfall entsprechend den Anforderungen des Nutzers zu optimieren. (Ib1a95)

Fehlerkorrekturen

  • Das Problem mit den erweiterten Funktionen für Samsung J7 Prime (SM-G610M) und J7 (SM-J710MN) Preview/VideoCapture auf Geräten mit API-Level 27 wurde behoben. Bei einer Auflösung von 1920 x 1080 werden die Preview/VideoCapture-Bilder gestreckt. Es wurde eine Problemumgehung hinzugefügt, mit der nicht die Auflösung 1920 x 1080 für die Vorschau oder VideoCapture ausgewählt wird, um das Problem mit der Bildstreckung zu vermeiden. (I0e04e)
  • Die niedrige Framerate bei Verwendung von VideoCapture und Vorschaufunktion mit einem Seitenverhältnis von 16:9 auf einigen Huawei-Geräten wurde behoben. (If8c88, b/223643510)
  • Das Problem, dass die Kamera nicht geöffnet werden konnte, wenn SurfaceProvider für die Vorschau nicht festgelegt war, wurde behoben. Im Rahmen der Behebung dieses Problems wird die Vorschau ohne festgelegte SurfaceProvider jetzt nicht für die Kameraaufnahme konfiguriert. (I99681)

Version 1.2.0-beta02

21. September 2022

androidx.camera:camera-*:1.2.0-beta02 wurde veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.

API-Änderungen

  • API-Level-Anforderung für setOutputImageRotationEnabled hinzufügen (I26e3e, b/240993561)

Fehlerkorrekturen

  • Die Problemumgehung zum horizontalen Spiegeln des AF-Bereichs der Frontkameras auf Samsung Android T wurde deaktiviert, da das Problem behoben wurde. (I05f69)
  • Das Problem mit der schwarzen Vorschau, das auftrat, wenn die BOKEH-Erweiterung auf einigen Samsung-Geräten aktiviert war und der Nutzer die Kameras wechselte, wurde behoben. (If6168)

Version 1.2.0-beta01

24. August 2022

androidx.camera:camera-*:1.2.0-beta01 wurde veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.

Neue Funktionen

  • Neue Bibliothek: camera-mlkit-vision. Integrieren Sie CameraX problemlos in viele MLKit-Funktionen, darunter Barcode-Scanning, Gesichtserkennung, Texterkennung usw. Hier finden Sie den Beispielcode.
  • Neue experimentelle Zero-Shutter Lag API Optimiert die Erfassungspipeline für eine bessere Latenz bei gleichbleibender Bildqualität. Wenn der Aufnahmemodus auf CAPTURE_MODE_ZERO_SHUTTER_LAG eingestellt ist, sollte die Latenz zwischen dem Klick auf den Auslöser und der Aufnahme des Bildes im Vergleich zu anderen Aufnahmemodi minimiert werden. Auf Geräten, die ZERO_SHUTTER_LAG nicht unterstützen, wird CAPTURE_MODE_MINIMIZE_LATENCY als Fallback verwendet.
  • ImageAnalysis.Analyzer und MLKitAnalyzer wurden als offizielle APIs eingeführt.
  • Offengelegte API zum Festlegen von Standortmetadaten für das gespeicherte Video.
  • Benennen Sie ImageAnalysis.Analyzer#getTargetResolutionOverride() in ImageAnalysis.Analyzer#getDefaultTargetResolution() um.

Fehlerkorrekturen

  • Ein Problem bei der Bilderfassung in Alps k61v1_basic_ref wurde behoben. Die aufgenommenen JPEG-Bilder von HAL weisen falsche EXIF-Metadaten auf. Die EXIF-Metadaten enthalten nicht das Tag 0xffd9 oder 0xffda, damit ExifInterface die Attribute korrekt parst. Um dieses Problem zu umgehen, nehmen Sie die Bilder im YUV-Format auf und komprimieren sie dann als JPEG-Ausgabebilder. (I45abb)

Version 1.2.0-alpha04

27. Juli 2022

androidx.camera:camera-*:1.2.0-alpha04 wurde veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.

API-Änderungen

  • Benennen Sie ImageAnalysis.Analyzer#getTargetResolutionOverride() in ImageAnalysis.Analyzer#getDefaultTargetResolution() um. Das Verhalten wird ebenfalls so geändert, dass der von dieser Methode zurückgegebene Wert durch den Wert von ImageAnalysis#setTargetResolution() überschrieben werden kann. (If1d36)
  • Offengelegte API zum Festlegen von Standortmetadaten für das gespeicherte Video. Ein android.location.Location-Objekt kann über die neue API androidx.camera.video.OutputOptions.Builder.setLocation(Location) festgelegt werden. (I313a0, b/204197544)

Fehlerkorrekturen

  • Beheben Sie das Problem, um ein Bild mit nicht verbundener Vorschau aufzunehmen (Ie70b6, b/235119898).
  • Ein Absturz in Recorder bei dem Versuch, eine Aufnahme zu erstellen, wenn die Audioquelle nicht verfügbar war, wurde behoben. (I9f652)

Version 1.2.0-alpha03

29. Juni 2022

androidx.camera:camera-*:1.2.0-alpha03 wurde veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.

API-Änderungen

  • Die experimentelle Annotation für ImageAnalysis.Analyzer und MLKitAnalyzer wurde entfernt. (I0ff22)

Fehlerkorrekturen

  • Es wurde ein Standardzeitlimit von 5000 ms für den Autofokus hinzugefügt, das den AF-Teil mit isFocusSuccessful "false" abschließt, wenn FocusMeteringAction nicht abgebrochen wird und der AF-Teil in der Dauer nicht konvergiert ist. (Ibc2e3)
  • Beheben Sie das Problem, um ein Bild mit nicht verbundener Vorschau aufzunehmen (I1d3a2, b/235119898).
  • Die Implementierung der erweiterten Erweiterung wurde aktiviert und die Benutzeroberfläche der CameraX-Unterstützung für Erweiterungen wird auf Version 1.2 (I92256) aktualisiert.

Version 1.2.0-alpha02

1. Juni 2022

androidx.camera:camera-*:1.2.0-alpha02 wurde veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.

Neue Funktionen

  • CameraX Zero-Shutter Lag API als experimentell freigeben.

API-Änderungen

  • Füge den neuen Aufnahmemodus CAPTURE_MODE_ZERO_SHUTTER_LAG in ImageCapture und isZslSupported in CameraInfo hinzu, um die Gerätefunktion abzufragen. Im CAPTURE_MODE_ZERO_SHUTTER_LAG-Modus wird versucht, eine minimale Latenz für eine sofortige Aufnahme zu bieten. Sie wird basierend auf einem Ringzwischenspeicher implementiert, der Zwischenerfassungsergebnisse für die spätere erneute Verarbeitung im Cache speichert, wenn der Nutzer Tasten drückt, um Bilder aufzunehmen. Wenn {@link VideoCapture} gebunden ist oder der Blitzmodus nicht deaktiviert ist bzw. die OEM-Erweiterung aktiviert ist, wird dieser Modus automatisch deaktiviert. (I9ae74)
  • Methode ImageAnalysis.getBackgroundExecutor() hinzufügen (Icc945)

Fehlerkorrekturen

  • Das Problem mit der Aufnahmemethode „ImageCapture“ wurde behoben, bei der die Taschenlampe auf den gemeldeten Geräten deaktiviert wurde. (Ib5eb5, b/228272227)
  • Es wurde ein Fehler behoben, bei dem AssertionError beim Abrufen der CONTROL_ZOOM_RATIO_RANGE-Eigenschaft nicht verarbeitet wurde.(/Ia248a, b/231701345)

Version 1.2.0-alpha01

18. Mai 2022

androidx.camera:camera-*:1.2.0-alpha01 wurde veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Einführung der neuen Bibliothek „camera-mlkit-vision“

Fehlerkorrekturen

  • Das Problem, dass QualitySelector bei aktivierter Fallback-Strategie kein UHD-Video aufzeichnen konnte, wurde behoben. Das Problem tritt auf, wenn VideoCapture mit ImageCapture und der Vorschau auf einer Kamera mit VOLLSTÄNDIGKEIT oder einer höheren Hardwareebene verbunden ist. Die Fallback-Strategie QualitySelector führt dazu, dass VideoCapture fälschlicherweise eine FHD-Auflösung erhält. Die UHD-Auflösung wird für diese Anwendungsfallkombination unterstützt und sollte verwendet werden. (I0e788, b/230651237)
  • NullPointerException am ImageCapture.takePicture() korrigiert. (I92366, b/230454568, b/229766155)
  • Probleme beim asynchronen Pausenverhalten von androidx.camera.video.Recorder (Ia8ce8) beheben

Kamera-Kamera2, Kamerakern, Kamera-Lebenszyklus und Kamera-Video-Version 1.1.0

Version 1.1.0

29. Juni 2022

androidx.camera:camera-*:1.1.0 wurde veröffentlicht. Version 1.1.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.0.0

  • Landed View-, Erweiterungs- und Videoaufnahmebibliotheken als erste RC-Version. Ab 1.1.0-beta01 werden alle CameraX-Bibliotheken an dieselbe Versionsnummer angepasst. So können Entwickler Versionen viel einfacher verfolgen und die Komplexität großer Versionskompatibilitätsmatrizen reduzieren.
  • Einführung neuer öffentlicher APIs und Funktionen, darunter:
  • Füge die offizielle Mediathek mit Kameravideos hinzu, um Anwendungsfälle für Videoaufnahmen zu unterstützen.
  • Konvertierung und Rotation von YUV in RGB (ImageAnalysis.Builder.setOutputImageRotationEnabled und setOutputImageFormat)
  • Sie können den Mehrfenstermodus unterstützen, indem Sie CameraX-Apps erlauben, die Kamera wieder zu aktivieren, wenn sie von einer anderen App unterbrochen wird und der Fokus wieder liegt.
  • Sorgt dafür, dass CameraX auf faltbaren Geräten einwandfrei funktioniert, indem einige Vorschauprobleme behoben werden.
  • Es wurde eine CameraState API hinzugefügt, die über CameraInfo verfügbar gemacht wird.
  • Die API ProcessCameraProvider.getAvailableCameraInfos() wurde hinzugefügt, um Informationen zu den verfügbaren Kameras direkt abzurufen.
  • Ausgabe im JPEG-Format für ImageCapture#OnImageCapturedCallback, wenn Erweiterungen aktiviert sind
  • In CameraInfo wurde eine API isFocusMeteringSupported hinzugefügt, mit der Apps prüfen können, ob die angegebene FocusMeteringAction von der aktuellen Kamera unterstützt wird oder nicht.
  • getResolutionInfo API verfügbar, um Auflösungsinformationen für die Vorschau, ImageCapture und ImageAnalysis bereitzustellen.
  • Eine neue API ImageCapture.Builder#setJpegQuality wurde hinzugefügt, mit der die Komprimierungsqualität der JPEG-Ausgabebilder beim Aufnehmen von Bildern geändert werden kann.
  • CameraSelector#filter wurde der öffentlichen API hinzugefügt, um eine Liste von CameraInfos basierend auf einem CameraSelector zu filtern.
  • Camera2CameraControl.clearCaptureRequestOptions zum Löschen der vorhandenen Optionen für Aufnahmeanfragen hinzugefügt.
  • Eine experimentelle API zur Verwendung von CameraController mit externen Bildverarbeitungsbibliotheken wurde hinzugefügt. z.B. MLKit
  • Die experimentelle API CameraInfo#getCameraSelector() wurde hinzugefügt, die eine eindeutige CameraSelector für seine Kamera zurückgibt.
  • Mehrere experimentelle APIs wurden zu formalen öffentlichen APIs hochgestuft.
  • Die Annotation @Experimental durch @RequiresOptIn wurde in experimentelle APIs ersetzt. Verwenden Sie zum Aufrufen experimenteller APIs androidx.annotation.OptIn anstelle des eingestellten androidx.annotation.experimental.UseExperimental.
  • Die folgenden experimentellen APIs wurden zu offiziellen APIs hochgestuft: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(),
  • @ExperimentalCameraFilter-APIs
  • experimentelle APIs zur Belichtungskompensation.
  • Werbung für die experimentelle UseCaseGroup API für Kamerakern, Kamera-Lebenszyklus und Kameravideo ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection und ViewPort.Builder#setScaleType zum Anpassen des Darstellungsbereichs wurden hinzugefügt.
  • ExperimentalUseCaseGroupLifecycle wurde zu formalen öffentlichen APIs hochgestuft.
  • Änderungen an den vorhandenen APIs
  • Zum MediaStoreOutputOptions.getCollectionUri Renamed MediaStoreOutputOptions.getCollection.
  • ActiveRecording wurde in „Aufzeichnung“ umbenannt um die Ausführlichkeit zu reduzieren.
  • Die Creator API QualitySelector wurde in eine listbasierte API geändert

Fehlerkorrekturen

  • Das Problem YuvToJpegProcessor EOFException bei aktiviertem Erweiterungsmodus und ImageCapture#CAPTURE_MODE_MAX_QUALITY-Modus wurde behoben.
  • Die Codec-Konfiguration schlug fehl, weil die Videoaufzeichnung geschlossen wurde. Dieses Problem wurde behoben.
  • Problem mit gestrecktem Vorschau-/Video-Seitenverhältnis bei FHD-Aufnahmen behoben
  • Problem behoben, bei dem Audio und Video nach dem Pausieren und Fortsetzen auf einigen Geräten nicht synchron waren
  • Das Problem, bei dem der Blitz beim Tippen zum Fokussieren (startFocusAndMetering) ausgelöst wurde, wenn der Blitzmodus bei wenig Licht automatisch oder Always_on aktiviert war, wurde behoben.

Version 1.1.0-rc02

1. Juni 2022

androidx.camera:camera-*:1.1.0-rc02 wurde veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • NullPointerException am ImageCapture.takePicture() korrigiert. (I92366, b/230454568, b/229766155)
  • Es wurde ein Fehler behoben, bei dem AssertionError beim Abrufen der CONTROL_ZOOM_RATIO_RANGE-Eigenschaft nicht verarbeitet wurde. (Ia248a, b/231701345)

Version 1.1.0-rc01

11. Mai 2022

androidx.camera:camera-*:1.1.0-rc01 wurde veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.

Neue Funktionen

  • Veröffentliche die erste RC-Version für Kamera-Video, Kamera-Ansicht und Kameraerweiterung

Fehlerkorrekturen

  • Es wurde ein Problem behoben, bei dem der Video-Codec nicht freigegeben wurde, wenn VideoCapture<Recorder> nicht gebunden war. Dies führte dazu, dass spätere Verwendungen von VideoCapture<Recorder> bei der Aufzeichnung mit MediaCodec.CodecException fehlschlugen, insbesondere auf Geräten mit API 21–22. (Ie7f68)
  • Probleme mit aufgenommenen Bildern von CameraExtensionsActivity werden in ImageCaptureTest nicht gelöscht

Version 1.1.0-beta03

6. April 2022

androidx.camera:camera-*:1.1.0-beta03 wurde veröffentlicht. Version 1.1.0-beta03 enthält diese Commits.

API-Änderungen

  • Der Konstruktor CaptureRequestOptions wurde eingeschränkt. (I261b6)
  • Eine experimentelle API zur Verwendung von CameraController mit externen Bildverarbeitungsbibliotheken wurde hinzugefügt. z.B. MLKit (I4ea71)

Fehlerkorrekturen

  • Das Problem, dass die Vorschau in PreviewView seitlich verschoben wurde, wenn die Aktivität nach dem Drehen von Geräten im Mehrfenstermodus nicht neu gestartet wurde, wurde behoben. (I1ea36, b/223488673)
  • Ein Problem mit dem Mehrfenstermodus wurde behoben: Wenn der Fokus auf die App zurückwechselt, wird die Kamera nicht fortgesetzt, wenn (1) eine andere App mit hoher Priorität eine andere Kamera öffnet (2) ein Samsung-Gerät mit Android 12 verwendet wird. (I7e9f2)
  • Problemumgehung für Geräte enthalten, die bei der Überprüfung der Flash-Verfügbarkeit abstürzen. Für diese Geräte ist keine Taschenlampe verfügbar. (If26a3, b/216667482)
  • AbstractMethodError Problem wurde behoben, das auftrat, wenn Apps Erweiterungen verwendet und Proguard aktiviert haben. (I7cbaf, b/222726805)
  • Erzwingen Sie die Deaktivierung des Bokeh-Erweiterungsmodus auf dem Motorola razr 5G-Gerät. Dies führt zu einem Problem mit dem schwarzen Vorschaubildschirm. (I35d49)
  • Problem behoben, bei dem Audio/Video auf einigen Samsung-Geräten vor API-Version 29 nach dem Pausieren und Fortsetzen nicht synchron waren. (I64622, b/202798609, b/202798572)
  • Problem behoben, bei dem Audio/Video nach dem Pausieren und Fortsetzen auf dem Sony G3125 nicht synchron waren (I2a1a5, b/202799148)
  • Ein Absturz, bei dem der Rekorder auf ein InvalidConfigException stieß, wurde behoben. Diese Korrektur verhindert jedoch nur einen Absturz der App, behebt aber nicht die Ursache des InvalidConfigException-Fehlers. Wenn die Recorder immer noch nicht konfiguriert werden kann, erhalten Anwendungen zu Beginn der Aufzeichnung einen Fehler-Callback. (I89c29, b/213617227)

Externer Beitrag

  • :compose:ui:ui-test api (updateApi) aufgrund der Migration „test-coroutines-lib“ (I3366d) aktualisiert

Version 1.1.0-beta02

23. Februar 2022

androidx.camera:camera-*:1.1.0-beta02 wurde veröffentlicht. Version 1.1.0-beta02 enthält diese Commits.

API-Änderungen

  • Möglichkeit hinzufügen, die ID der physischen Kamera über Camera2Interop. (I5aed8)

Fehlerkorrekturen

  • Das Problem mit der gestreckten Vorschau auf Oppo Find N (I7d004) wurde behoben.
  • Ein Problem mit dem Galaxy J7 Prime wurde behoben, bei dem die Vorschau verzerrt war. (I4c500)
  • Verwende eine kompatible Bitrate, um den Videoencoder zu finden. (d969052)

Version 1.1.0-beta01

26. Januar 2022

androidx.camera:camera-*:1.1.0-beta01 wurde veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.

Neue Funktionen

  • Ab 1.1.0-beta01 werden alle CameraX-Bibliotheken an dieselbe Versionsnummer angepasst. So können Entwickler Versionen viel einfacher nachverfolgen und die Komplexität der Kompatibilitätsmatrix für große Versionen reduzieren.

API-Änderungen

  • Camera2CameraControl.clearCaptureRequestOptions hinzugefügt für Löschen der vorhandenen Optionen für die Erfassungsanfrage. (Ifa07d)

Fehlerkorrekturen

  • Der Absturz beim Aufzeichnen von Videos auf einigen Geräten vor Android O(API 26) wurde behoben. (I88fdf, b/212328261)
  • Falsches Problem mit AF-Bereich behoben, wenn bei Samsung-Geräten cameraControl#startFocusAndMetering() auf der Frontobjektiv-Kamera verwendet wurde (Ifbf59, b/210548792)
  • Mit der Taschenlampe auf Pixel 3a und Pixel 3a XL kannst du im Dunkeln Geschwindigkeit und Qualität verbessern (Ib12b6, b/211474332).
  • Aktivierte Apps zum Fortsetzen der Kamera, wenn die Kamera wird durch eine andere Anwendung mit höherer Priorität im und der Fokus wechselt wieder auf die App. Aufgrund eines Framework-Problems kann es zwischen einer Fokusänderung und dem erneuten Öffnen der Kamera zu einer Latenz(1 bis 10 Sekunden oder mehr) kommen. (I4d092)

Version 1.1.0-alpha12

15. Dezember 2021

androidx.camera:camera-*:1.1.0-alpha12 wurde veröffentlicht. Version 1.1.0-alpha12 enthält diese Commits.

API-Änderungen

  • Unnötige @RequiresApi(21)-Annotationen wurden aus den inneren Klassen/Schnittstellen entfernt. (I8e286, b/204917951)
  • Die Qualitäts- und Fallback-Strategiekonstanten von QualitySelector wurden so geändert, dass sie durch Klassenobjekte dargestellt werden. Beispielsweise wird QualitySelector.QUALITY_HD in Quality.HD geändert und QualitySelector.FALLBACK_STRATEGY_LOWER in die von FallbackStrategy.lowerQualityOrHigherThan(Quality) zurückgegebene Instanz geändert. Die zum Erstellen von QualitySelector verwendete API wurde in eine listbasierte API geändert. Die neue API QualitySelector.fromOrderedList(List<Quality>) bezieht sich auf die Reihenfolge der Eingabequalitätsliste und nicht auf die von QualitySelector.Procedure erstellte Reihenfolge. QualitySelector.Procedure Kurs wurde entfernt. (I43343)
  • PendingRecording.withEventListener() wurde entfernt und der Event-Listener muss jetzt an PendingRecording.start() übergeben werden. Diese Event-Listener-Anforderung soll die Verarbeitung asynchroner Fehler fördern, die im VideoRecordEvent.Finalize-Ereignis gemeldet werden. (I1e71d)
  • ActiveRecording wurde in Recording umbenannt, um die Ausführlichkeit zu verringern. (I77ceb)

Fehlerkorrekturen

  • Das Problem, dass im FLASH_AUTO-Modus aufgenommene Fotos bei Pixel 3a und Pixel 3a XL unterbelichtet wurden, wurde behoben (I13f19, b/205373142).
  • Beim Ermitteln der Resolution für die Vorschau wird immer die neueste Anzeigegröße verwendet. (I4a694)
  • Kameras ohne REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE herausgefiltert. Kameras mit REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE haben die minimalen Funktionen, die jedes Kameragerät unterstützt. Die Kamera ohne REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE unterstützt möglicherweise bestimmte Funktionen und unterstützt keine Standardfarbausgabe. CameraX kann die Anwendungsfälle Preview, ImageCapture, ImageAnalysis oder VideoCapture für diese Kameras nicht unterstützen. Daher sollten diese Kameras herausgefiltert werden, um eine falsche Verwendung zu vermeiden. (Ib8cda)
  • CameraSelector#filter gibt keinen IllegalArgumentException mehr aus, wenn die Ergebnismenge leer ist. (I27804)
  • Encoder-Einstellungen können jetzt mithilfe intelligenterer Heuristiken auf Grundlage der vom OEM angegebenen Profile ausgewählt werden. (Iaeef0)
  • Die feste Vorschau hat nach dem Start der UHD-Videoaufnahme auf Pixel1 verschachtelte Farblinien. (I833c6, b/205340278)

Version 1.1.0-alpha11

17. November 2021

androidx.camera:camera-*:1.1.0-alpha11 wurde veröffentlicht. Version 1.1.0-alpha11 enthält diese Commits.

API-Änderungen

  • CameraSelector#filter wurde zur öffentlichen API hinzugefügt, um eine Liste mit CameraInfos basierend auf einem CameraSelector zu filtern. (I105d0)
  • Fügen Sie die API „setOutputImageRotationEnabled“ für die ImageAnalysis-Konfiguration hinzu. Der Nutzer kann die Rotation für den YUV/RGB-Bildzwischenspeicher aktivieren. Der Rotationsgrad ist eine relative Drehung, die auf der Grundlage der Sensorrotation und der Zieldrehung berechnet wird, damit das Bild nach oben zeigt.

  • Fügen Sie die API „setOutputImageRotationEnabled“ für die ImageAnalysis-Konfiguration hinzu. Der Nutzer kann die Rotation für den YUV/RGB-Bildzwischenspeicher aktivieren. Der Rotationsgrad ist eine relative Drehung, die auf der Grundlage der Sensorrotation und der Zieldrehung berechnet wird, damit das Bild nach oben zeigt.

    Füge die getSensorToBufferTransformMatrix API in ImageInfo hinzu. Die zurückgegebene Matrix ist eine Zuordnung von Sensorkoordinaten zu Pufferkoordinaten, also vom Wert von CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE bis (0, 0, image.getWidth, image.getHeight). Mit der Matrix können die Koordinaten eines {UseCase} einem anderen {UseCase} zugeordnet werden. Zum Beispiel können die Koordinaten des mit ImageAnalysis erkannten Gesichts der Vorschau zugeordnet werden. (I9ff1e)

  • Eine neue API ImageCapture.Builder#setJpegQuality wurde hinzugefügt, mit der die Komprimierungsqualität der JPEG-Ausgabe bei der Bildaufnahme geändert werden kann. (I8dcf4)

  • MediaStoreOutputOptions.getCollection wurde umbenannt in MediaStoreOutputOptions.getCollectionUri. (I16639)

Fehlerkorrekturen

  • Das Problem, dass das Blitzlicht ausgelöst wurde, wurde behoben. Tap-to-Focus (startFocusAndMetering), wenn der Blitzmodus automatisch oder bei wenig Licht immer an. (Id4c11)
  • HDR+ wurde auf Pixel 2 XL / Pixel 3 XL deaktiviert in MINIMIZE_LATENCY, um die Latenz zu reduzieren. (Ib6270, b/203505523)

Externer Beitrag

Version 1.1.0-alpha10

13. Oktober 2021

androidx.camera:camera-*:1.1.0-alpha10 wurde veröffentlicht. Version 1.1.0-alpha10 enthält diese Commits.

Neue Funktionen

  • Veröffentlichung von androidx.camera:camera-video:1.1.0-alpha10 als erste Alphaversion für Video. In den späteren Versionen müssen mehrere bekannte Probleme behoben werden.

API-Änderungen

  • Die Anmerkung „@RequiresApi(21)“ wurde allen CameraX-Klassen hinzugefügt und "minSdkVersion" aus der Datei "AndroidManifest.xml" gelöscht. Dadurch können Sie Kamerakern zur einfachen Integration in Anwendungen mit minSdkVersion ist kleiner als 21, Sie möchten aber Codepfade bedingt verwenden. die API 21 und höher benötigen. Für jede Anwendung mit minSdkVersion 21 oder höher verwenden, ist bei dieser Änderung keine Maßnahme erforderlich. (Ie7f2e, b/200599470)

Fehlerkorrekturen

  • Lösen Sie eine InitializationException aus, damit die App den AssertionError, der beim Erstellen von CameraCharacteristics aufgetreten ist, ordnungsgemäß verarbeiten kann. (Ibec79)

Version 1.1.0-alpha09

29. September 2021

androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09 und androidx.camera:camera-lifecycle:1.1.0-alpha09 wurden veröffentlicht. Version 1.1.0-alpha09 enthält diese Commits.

API-Änderungen

  • Die Anmerkung „ExperimentalUseCaseGroup“ wurde entfernt, da die APIs nicht mehr experimentell sind. (I01ef5)

Fehlerkorrekturen

  • Problem beheben, bei dem die aufgenommenen Fotos unkenntlich gemacht wurden im MAXIMIZE_QUALITY-Modus. (I173a9, b/193823892)
  • Ein Samsung Galaxy J5-Problem behoben, bei dem die Kamera hängengeblieben ist, nachdem der Blitz bei eingeschaltetem/automatischer Blitz in einer dunklen Umgebung aufgenommen wurde (I3aab9)
  • Wenn für ImageCapture ein Zuschneiden erforderlich ist, wird das ausgegebene zugeschnittene Bild gemäß dem festgelegten Aufnahmemodus mit der angegebenen JPEG-Qualitätsstufe komprimiert. Ist der Aufnahmemodus CAPTURE_MODE_MINIMIZE_LATENCY, beträgt die JPEG-Komprimierungsqualität 95. Ist der Aufnahmemodus CAPTURE_MODE_MAXIMIZE_QUALITY, beträgt die JPEG-Komprimierungsqualität 100. (Ieb37c, b/142856426)

Version 1.1.0-alpha08

18. August 2021

androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08 und androidx.camera:camera-lifecycle:1.1.0-alpha08 wurden veröffentlicht. Version 1.1.0-alpha08 enthält diese Commits.

Neue Funktionen

  • Die setOutputImageFormat API für die Bildanalysekonfiguration wurde hinzugefügt. Nutzer können Sie „ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888“ oder ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. Standardmäßig ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 wird ausgewählt. (I7902d)

API-Änderungen

  • Die Annotation ExperimentalUseCaseGroupLifecycle wurde entfernt, da die APIs nicht mehr experimentell sind. (I17b85)

Fehlerkorrekturen

  • Der feste Vorschaubildschirm ist auf dem Huawei P20 Lite zu hell. Dieses Problem tritt nur auf, wenn bestimmte spezielle Vorschauauflösungen zusammen mit einem großen Zoomwert verwendet werden. (Idefce, b/192129158)
  • Flash funktionierte auf einigen Geräten nicht, wenn der Blitz aktiviert wurde. Dieses Problem wurde behoben. auf FLASH_MODE_ON, gefolgt von der Aufnahme von Fotos. (Ieb49b)
  • Das Problem, dass die Vorschau beim Aufnehmen von Bildern eine Zeit lang anhält, wenn VideoCapture, ImageCapture und Vorschau gebunden waren, wurde behoben. (I56197, b/193864120)
  • Erlaubt der Bildanalyse die Auswahl einer Auflösung von mehr als 1080p. Ein Gerät der Ebene LIMITED über einem Gerät kann eine Auflösung von RECORD für die Bildanalyse unterstützen, wenn es mit Preview und ImageCapture verbunden ist. Der Nachteil ist, dass die ausgewählte Auflösung für ImageCapture eine Auflösung in der Größe RECORD ist. Um eine RECORD-Größenauflösung für ImageAnalysis auswählen zu können, muss sowohl für ImageCapture als auch für ImageAnalysis eine Zielauflösung für RECORD festgelegt werden. Dies deutet darauf hin, dass die Anwendung die Vor- und Nachteile versteht und bevorzugt, dass ImageAnalysis eine höhere Auflösung hat als ImageCapture mit einer maximalen Auflösung. Definitionen für RECORD und MAXIMUM Größen und weitere Details findest du unter https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture. Die RECORD-Größe bezieht sich auf die maximal von der Kamera unterstützte Aufnahmeauflösung, die durch CamcorderProfile festgelegt wird. Die Größe MAXIMUM bezieht sich auf die maximale Ausgabeauflösung des Kamerageräts für dieses Format oder Ziel aus StreamConfigurationMap.getOutputSizes(int). (I1ee97, b/192911449)
  • Fügen Sie die EXIF-Informationen zum aufgenommenen Bild hinzu. (I01ff0, b/193342619)
  • Geben Sie in ImageCapture den URI des gespeicherten Bildes zurück, wenn der Speicherort "Datei" ist. (Ib5b49, b/149241379)
  • Bilder, die mit Blitz aufgenommen wurden, waren auf vielen Geräten dunkel. Dieses Problem wurde behoben. (I4e510)

Version 1.1.0-alpha07

21. Juli 2021

androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07 und androidx.camera:camera-lifecycle:1.1.0-alpha07 wurden veröffentlicht. Version 1.1.0-alpha07 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem mit der Kamera beim Samsung Galaxy Note 5 wurde behoben. bleibt nach dem Aufnehmen von Fotos mit aktiviertem Blitz/automatisch bei Dunkelheit hängen Umgebung (If6871)
  • Das EOFException-Problem YuvToJpegProcessor bei aktiviertem Erweiterungsmodus und ImageCapture#CAPTURE_MODE_MAX_QUALITY-Modus wurde behoben. (I538bd, b/192017012)

Version 1.1.0-alpha06

30. Juni 2021

androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06 und androidx.camera:camera-lifecycle:1.1.0-alpha06 wurden veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.

API-Änderungen

  • Die experimentellen APIs zur Belichtungskompensation für Kamerakern (I08ee8)
  • Die API isFocusMeteringSupported in CameraInfo mit können Anwendungen prüfen, ob die angegebene FocusMeteringAction- unterstützt wird oder nicht. (Ib45ae, b/188606490)
  • GetResolutionInfo-API verfügbar, um Auflösungsinformationen für Preview, ImageCapture und ImageAnalysis bereitzustellen. (I2b613, b/188600718)
  • Die folgenden experimentellen APIs wurden zu offiziellen APIs hochgestuft: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler() aufrufen. (I2ade2)
  • Die CameraProvider-Oberfläche wurde offengelegt, um Zugriff auf eine Reihe von Kameras zu ermöglichen. (I1a7b1)
  • Bewerben Sie die experimentelle UseCaseGroup API für Kamerakern, Kameralebenszyklus und Kameravideo. ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection und ViewPort.Builder#setScaleType zum Anpassen des Darstellungsbereichs wurden hinzugefügt. (I7cee8)

Version 1.1.0-alpha05

2. Juni 2021

androidx.camera:camera-camera2:1.1.0-alpha05, androidx.camera:camera-core:1.1.0-alpha05 und androidx.camera:camera-lifecycle:1.1.0-alpha05 wurden veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.

API-Änderungen

  • Camera2CameraFilter Kurs wurde entfernt. Vorschlag für Kameraauswahl nach CameraEigenschaften filtern und „CameraCharacteristics“ oder andere mit „Camera2“ zusammenhängenden abrufen über Camera2CameraInfo bei Bedarf Informationen. (Ib887c)
  • ExperimentalCameraFilter APIs sind jetzt nicht mehr experimentell und zu formellen APIs werden. Sie können ohne Opt-in-Hinweise verwendet werden. (I4bc94)
  • Kamerastatus-API wurde hinzugefügt, die über CameraInfo#getCameraState() verfügbar gemacht wird. (Ia86b4)
  • Die experimentelle API CameraInfo#getCameraSelector(), die einen für die Kamera eindeutigen CameraSelector zurückgibt (I77f9f) wurde hinzugefügt.

Fehlerkorrekturen

  • Das Problem, das ListenableFuture zurückgegeben hat, wurde behoben. setZoomRatio und setLinearZoom können auf einigen Android-Geräten nicht abgeschlossen werden 11 Geräte (I716d7)
  • Den Kamerawechsel beschleunigen und die Fehlerrate der Kamera verringern (I34c99)
  • ExperimentalUseCaseGroupLifecycle wurde ersetzt durch ExperimentalUseCaseGroup. (I3b2ef, b/159033688)

Version 1.1.0-alpha04

21. April 2021

androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04 und androidx.camera:camera-lifecycle:1.1.0-alpha04 wurden veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.

Fehlerkorrekturen

  • Ein Speicherleck wurde behoben, das durch gleichzeitigen Zugriff mehrerer Threads auf dieselbe Sammlung verursacht wurde. Das Speicherleck kann dazu führen, dass die Aktivität oder das Fragment von einer Vorschauinstanz beibehalten wird. (I7b4b8)
  • Die Annotation @Experimental durch @RequiresOptIn wurde in experimentelle APIs ersetzt. Verwenden Sie zum Aufrufen experimenteller APIs androidx.annotation.OptIn anstelle der verworfenen androidx.annotation.experimental.UseExperimental. (Iff226)
  • Fehlerkorrektur für ImageCapture mit aktiviertem Blitz/Automatische Aufnahme von verwaschenen Bildern auf dem Samsung Galaxy S7. (I30001)
  • Eine CameraState API wurde hinzugefügt, die über CameraInfo verfügbar gemacht wird. (I75392)

Version 1.1.0-alpha03

24. März 2021

androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03 und androidx.camera:camera-lifecycle:1.1.0-alpha03 wurden veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.

Fehlerkorrekturen

  • Ausgabe im JPEG-Format für ImageCapture#OnImageCapturedCallback, wenn die Erweiterungsmodi aktiviert sind. (I0d7b1)
  • Der Initialisierungsfehler bei UMIDIGI BISON-Geräten (I57d9e, b/180818665) wurde behoben.
  • Behebung eines Fehlers bei der gestreckten Vorschau auf dem Samsung A3 in PreviewView. (Iacb30, b/180121821)

Version 1.1.0-alpha02

24. Februar 2021

androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02 und androidx.camera:camera-lifecycle:1.1.0-alpha02 wurden veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.

API-Änderungen

  • Es wurde eine API-ProcessCameraProvider.getAvailableCameraInfos() hinzugefügt, um direkt Informationen zu den verfügbaren Kameras abzurufen. Dabei handelt es sich entweder um alle Kameras des Geräts oder um die Kameras, die von der CameraSelector in CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector) ausgewählt wurden. (Ieac08)

Fehlerkorrekturen

  • CameraX versucht nun beim ersten Versuch, das Öffnen einer Kamera zu erzwingen. Dies kann dazu führen, dass KameraX die Kamera von anderen Kameraclients fernhält, wenn ihre App eine höhere Priorität hat. (Iab069, b/175820568)
  • Der Robolectric-Testfehler wurde behoben, „setAvailableCamerasLimiter“ wird in CameraXConfig verwendet. (Ice307)
  • Mit dieser Änderung wird die Ausnahme abgefangen, wenn die Bildwarteschlange in ImageAnalysis voll ist. Anstatt also abzustürzen, kann es sein, dass andere Anwendungsfälle eingefroren oder langsam ausgeführt werden. z.B. eingefroren/langsam Vorschau anzeigen. (IC12da, b/175851631)
  • Der ExtensionsErrorListener, der Fehler meldete, wenn nur Vorschau oder ImageCapture gebunden waren, wurde behoben. (I5ae39)
  • Die Leistungsminderung von ImageCapture wurde behoben, indem die Validierung des gespeicherten Bildstandorts vor der Aufnahme eines Bildes entfernt wurde. Wenn das Speicherziel nach dieser Änderung ungültig ist, dauert es länger, bis Sie die Fehlermeldung erhalten, da versucht wird, das Bild zu speichern, nachdem das Foto aufgenommen wurde. (I1fd4e, b/177061560)
  • Behebung des Leistungsabfalls bei ImageCapture mit "File" Typ OutputFileOptions. (I5164a, b/177061560)
  • Aktualisierte Dokumentation, da von der Verwendung abgeraten wird ProcessCameraProvider.configureInstance(...) von Bibliothekscode. (Ib8a9f)

Version 1.1.0-alpha01

27. Januar 2021

androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01 und androidx.camera:camera-lifecycle:1.1.0-alpha01 wurden veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.

Fehlerkorrekturen

  • Es gibt eine Problemumgehung für gelegentlich beschädigte Bilddaten in JPEGs mit der SM-G930T-Rückkamera. (I52001, b/159831206)
  • IllegalArgumentException-Problem behoben, das auftrat, wenn alle in der Vorschau unterstützten Größen kleiner als 640 x 480 und die Anzeigegröße 640 x 480 war. (I2a63c, b/150506192)
  • Ressourcen in Bibliotheken ohne explizit deklarierte öffentliche Ressourcen (z. B. über public.xml) sind jetzt standardmäßig privat. (Ia1dcc, b/170882230)

Kamera-Kamera2, Kamerakern und Kamera-Lebenszyklus Version 1.0.2

Version 1.0.2

29. September 2021

androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2 und androidx.camera:camera-lifecycle:1.0.2 wurden veröffentlicht. Version 1.0.2 enthält diese Commits.

Fehlerkorrekturen

  • Problem beheben, bei dem die aufgenommenen Fotos unkenntlich gemacht wurden im MAXIMIZE_QUALITY-Modus. (I173a9, b/193823892)
  • Ein mit Blitz aufgenommenes Bild war dunkel auf vielen Geräten. (I4e510)

Kamera-Kamera2, Kamerakern und Kamera-Lebenszyklus Version 1.0.1

Version 1.0.1

21. Juli 2021

androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1 und androidx.camera:camera-lifecycle:1.0.1 wurden veröffentlicht. Version 1.0.1 enthält diese Commits.

Fehlerkorrekturen

  • Das Problem, das ListenableFuture zurückgegeben hat, wurde behoben. setZoomRatio und setLinearZoom können auf einigen Android-Geräten nicht abgeschlossen werden 11 Geräte (I716d7)

  • Das Problem, dass die Kamera auf einigen Geräten beim Schließen des Kamerastatus hängenblieb und eine schwarze Vorschau verursachte, wurde behoben. (I34c99)

Kamera-Kamera2, Kamerakern und Kamera-Lebenszyklus Version 1.0.0

Version 1.0.0

5. Mai 2021

androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0 und androidx.camera:camera-lifecycle:1.0.0 wurden veröffentlicht. Version 1.0.0 enthält diese Commits.

Hauptfunktionen von Version 1.0.0

  • CameraX unterstützt Preview, ImageCapture und Analysis.
  • CameraX verwaltet den Lebenszyklus der Kamera in einer nutzerfreundlichen API
  • CameraX bietet eine Kompatibilitätsebene, mit der viele Probleme der Android-Kamerasysteme behoben werden.

Bekannte Probleme

Version 1.0.0-rc05

21. April 2021

androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05 und androidx.camera:camera-lifecycle:1.0.0-rc05 wurden veröffentlicht. Version 1.0.0-rc05 enthält diese Commits.

Fehlerkorrekturen

  • Problem behoben: ImageCapture mit aktiviertem Blitz/Auto nimmt verwaschene Bilder auf dem Samsung Galaxy S7 auf. (I30001)

Version 1.0.0-rc04

24. März 2021

androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04 und androidx.camera:camera-lifecycle:1.0.0-rc04 wurden veröffentlicht. Version 1.0.0-rc04 enthält diese Commits.

Fehlerkorrekturen

  • Der Initialisierungsfehler bei UMIDIGI BISON-Geräten (I57d9e, b/180818665) wurde behoben.

Version 1.0.0-rc03

24. Februar 2021

androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03 und androidx.camera:camera-lifecycle:1.0.0-rc03 wurden veröffentlicht. Version 1.0.0-rc03 enthält diese Commits.

Fehlerkorrekturen

  • Formatfehler im Dokument „ProcessCameraProvider#getInstance“ beheben
  • Der Robolectric-Testfehler bei Verwendung von setAvailableCamerasLimiter in CameraXConfig wurde behoben.
  • Das Problem mit der Leistungsminderung von ImageCapture wurde behoben, indem die Validierung des gespeicherten Bildstandorts vor der Aufnahme eines Bildes entfernt wurde. Wenn das Speicherziel nach dieser Änderung ungültig ist, dauert es länger, bis Sie die Fehlermeldung erhalten, da versucht wird, das Bild zu speichern, nachdem das Foto aufgenommen wurde.
  • Mit dieser Änderung wird die Ausnahme abgefangen, wenn die Bildwarteschlange in ImageAnalysis voll ist. Anstelle von Abstürzen werden Sie feststellen, dass andere Anwendungsfälle eingefroren oder langsam ausgeführt werden. z.B. eingefroren/langsam Vorschau anzeigen.
  • Es gibt eine Problemumgehung für gelegentlich beschädigte Bilddaten in JPEGs mit der SM-G930T-Rückkamera. (I52001, b/159831206)
  • Mit dieser Änderung wird die Ausnahme abgefangen, wenn die Bildwarteschlange in ImageAnalysis voll ist. Anstatt also abzustürzen, kann es sein, dass andere Anwendungsfälle eingefroren oder langsam ausgeführt werden. z.B. eingefroren/langsam Vorschau anzeigen. (IC12da, b/175851631)
  • Der Robolectric-Testfehler wurde behoben, „setAvailableCamerasLimiter“ wird in CameraXConfig verwendet. (Ice307)
  • Die Leistungsminderung von ImageCapture wurde behoben, indem die Validierung des gespeicherten Bildstandorts vor der Aufnahme eines Bildes entfernt wurde. Wenn das Speicherziel nach dieser Änderung ungültig ist, dauert es länger, bis Sie die Fehlermeldung erhalten, da versucht wird, das Bild zu speichern, nachdem das Foto aufgenommen wurde. (I1fd4e, b/177061560)
  • Behebung des Leistungsabfalls bei ImageCapture mit "File" Typ OutputFileOptions. (I5164a, b/177061560)

Version 1.0.0-rc02

27. Januar 2021

androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02 und androidx.camera:camera-lifecycle:1.0.0-rc02 wurden veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.

Fehlerkorrekturen

  • Das Problem mit der Ausnahme prüfung trat auf, wenn alle in der Vorschau unterstützten Größen kleiner als 640 x 480 und die Anzeigegröße größer als 640 x 480 war. (b/150506192)
  • Begrenzen Sie die Anzahl der Versuche, die Kamera erneut zu öffnen. Wenn beim Öffnen der Kamera bestimmte Probleme behoben werden, versucht CameraX nicht mehr, die Kamera dauerhaft wieder zu öffnen. Stattdessen wird sie nach 10 Sekunden erneut gestartet.I435d2

  • IllegalArgumentException-Problem behoben, das auftrat, wenn alle in der Vorschau unterstützten Größen kleiner als 640 x 480 und die Anzeigegröße 640 x 480 war. (I2a63c, b/150506192)

Version 1.0.0-rc01

16. Dezember 2020

androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01 und androidx.camera:camera-lifecycle:1.0.0-rc01 wurden veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.

API-Änderungen

  • CameraFilter und Camera2Filter wurden so geändert, dass CameraInfo erfasst wird. (I6883d)
  • Die experimentelle Klasse Camera2CameraControl wurde hinzugefügt, um die Interaktion mit Camera2-APIs zu ermöglichen. dynamisch aus. (I45cf3)
  • „Camera2CameraInfo#fromCameraInfo“ wurde in „#from“ umbenannt. (Ia2bd6)
  • Experimentelle setAvailableCamerasLimiter API wurde hinzugefügt zu CameraXConfig, damit Apps die Initialisierungslatenz optimieren können indem Sie ungenutzte Kameras nicht initialisieren. (I6cf88)
  • Die experimentelle Methode CameraXConfig.Builder#setMinimumLoggingLevel() wurde hinzugefügt, mit der eine Mindestprotokollierungsebene für CameraX-Protokolle festgelegt werden kann. Wenn die Richtlinie nicht konfiguriert ist, wird standardmäßig Log#DEBUG verwendet. (IC3245)

Fehlerkorrekturen

  • Behelfslösung für zeitweise beschädigte Bilddaten in JPEGs mit der rückseitigen Kamera SM-G930V. (I5aca5, b/159831206)
  • Problem behoben, bei dem beim Aufnehmen von Bildern keine Ergebnisse angezeigt wurden, wenn der Blitz immer/an war und die Umgebung auf Samsung SM-A716-Geräten dunkel ist. (If98b2, b/172036589)
  • Das Problem, dass die Vorschau nicht durch Aufrufen von Preview.setSurfaceProvider(null) angehalten werden kann, wurde behoben. (I3ac18)
  • Ein Problem mit der Ausrichtung bei der Aufnahme von Bildern im Format 4:3 auf einigen Geräten wurde behoben. (I0e3fb, b/171492111)

Camera Camera2, Core und Lebenszyklus-Version 1.0.0-beta12

11. November 2020

androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12 und androidx.camera:camera-lifecycle:1.0.0-beta12 wurden veröffentlicht. Version 1.0.0-beta12 enthält diese Commits.

Fehlerkorrekturen

  • Automatisches Blitzen wurde auf Samsung A3-Geräten zur Behebung des Absturzes deaktiviert wenn Sie auf einem Samsung A3 ein Foto mit automatischem AE-Blitz aufnehmen. (Ia5fe3, b/157535165)
  • Das Problem, dass die Vorschau auf Nexus 4-Geräten mit Android L (API-Level 21 und 22) verzerrt wurde, wurde behoben. (I4d407, b/158749159)
  • OnImageCapturedCallback#onCaptureSuccess-Basisklasse wird das Image nicht mehr geschlossen. Damit verhindern Sie, unerwarteten Verhaltens gegenüber Entwickelnden. Entwickler sollten sich nicht auf super.onCaptureSuccess schließen. (Ifbf9c)
  • Die Androidx-Variante der experimentellen Anmerkung wurde wurde verworfen, um das Gleiche mit Kotlin zu erreichen. Es wurde durch die Erfordert die Annotation „requiresOptIn“. Der Java-Linter wurde aktualisiert auf unterstützen sowohl die neue Kotlin-Annotation als auch die neue Androidx-Variante. (I52495, b/151331381)

Kamera-Kamera2 Version 1.0.0-beta11

14. Oktober 2020

androidx.camera:camera-camera2:1.0.0-beta11 wurde veröffentlicht. Version 1.0.0-beta11 enthält diese Commits.

Neue Funktionen

  • Unterstützt Android 11 CONTROL_ZOOM_RATIO API zum Heranzoomen Geräte mit Android 11 oder höher, die gültige CONTROL_ZOOM_RATIO_RANGE. (I62cc6)

Fehlerkorrekturen

  • Das Problem „NumberFormatException“, das auftrat, wenn die Kamera-ID eine Kamera-ID war, die keine ganze Zahl ist, wurde behoben. (Ib2228)
  • Die Latenz bei der Initialisierung von CameraX und bindToLifecycle (I61dc5)
  • Zum Erstellen von Anwendungsfällen muss CameraX nicht initialisiert werden noch zu erledigen. Alle implementierungsspezifischen Konfigurationen sind festgelegt am UseCase nach dem Anhängen an eine Kamerainstanz, die für die Öffentlichkeit zugänglich ist API ist ProcessCameraProvider.bindToLifecycle(). (Ia5411)
  • <UseCase>.getTargetRotation() gibt Surface.ROTATION_0 zurück wenn vor dem Anhängen an eine Kamerainstanz aufgerufen wird, es sei denn, ein targetRotation wurde für den Builder oder den Anwendungsfall festgelegt. (I80fcd)

Kamerakernversion 1.0.0-beta11

14. Oktober 2020

androidx.camera:camera-core:1.0.0-beta11 wurde veröffentlicht. Version 1.0.0-beta11 enthält diese Commits.

Neue Funktionen - Unterstützt Android 11 CONTROL_ZOOM_RATIO API zum Heranzoomen Geräte mit Android 11 oder höher, die gültige CONTROL_ZOOM_RATIO_RANGE. (I62cc6)

Fehlerkorrekturen

  • Das Problem „NumberFormatException“, das auftrat, wenn die Kamera-ID eine Kamera-ID war, die keine ganze Zahl ist, wurde behoben. (Ib2228)
  • Zum Erstellen von Anwendungsfällen muss CameraX nicht initialisiert werden noch zu erledigen. Alle implementierungsspezifischen Konfigurationen sind festgelegt am UseCase nach dem Anhängen an eine Kamerainstanz, die für die Öffentlichkeit zugänglich ist API ist ProcessCameraProvider.bindToLifecycle(). (Ia5411)
  • <UseCase>.getTargetRotation() gibt Surface.ROTATION_0 zurück wenn vor dem Anhängen an eine Kamerainstanz aufgerufen wird, es sei denn, ein targetRotation wurde für den Builder oder den Anwendungsfall festgelegt. (I80fcd)

Kamerakernversion 1.0.0-beta10

23. September 2020

androidx.camera:camera-core:1.0.0-beta10 wurde veröffentlicht. Version 1.0.0-beta10 enthält diese Commits.

Fehlerkorrekturen

  • Fehler beim Validieren des Speicherziels für die Bilderfassung behoben (I8c565, b/167697553)

Kamera-Kamera2 Version 1.0.0-beta10

23. September 2020

androidx.camera:camera-camera2:1.0.0-beta10 wurde veröffentlicht. Version 1.0.0-beta10 enthält diese Commits.

Fehlerkorrekturen

Kamera-Kamera2 Version 1.0.0-beta09

16. September 2020

androidx.camera:camera-camera2:1.0.0-beta09 wurde veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.

API-Änderungen

  • Statt statische Methoden zur Verfügung zu stellen, nimmt Camera2CameraInfo in einer CameraInfo-Instanz, wenn dies zum Abrufen von Camera2-bezogenen aus denen Daten stammen. (I5b844)

Fehlerkorrekturen

  • Das Problem mit dem Zielseitenverhältnis auf Tablets wurde behoben. Wenn das Zielseitenverhältnis auf AspectRatio.RATIO_16_9 festgelegt ist, sollte eine Größe von 16:9 ausgewählt werden. (Ib7fcf, b/151969438)
  • Geben Sie InitializationException aus, damit die App den AssertionError, der beim Erstellen von CameraCharacteristics aufgetreten ist, reibungslos verarbeiten kann. (I89c8c, b/160524721)
  • Zusätzliche experimentelle Oberflächen für die Belichtungskompensation (If96c7)

Kamerakernversion 1.0.0-beta09

16. September 2020

androidx.camera:camera-core:1.0.0-beta09 wurde veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.

API-Änderungen

  • Fehler behoben, bei dem der Darstellungsbereich in UseCaseGroup als nicht null markiert wurde. Entwickler sollten in der Lage sein, einen Darstellungsbereich zu erstellen, ohne einen Darstellungsbereich festzulegen. (Ie3d2e)
  • Experimentelle Oberflächen für ExposureCompensation hinzugefügt (If96c7)
  • Beliebige Zielrotation für die Vorabversion zulassen. Die Transformationsinformationen werden berechnet und spontan über einen neuen TranformationInfoListener-Callback an den Nutzer zurückgegeben. (I21470)

Fehlerkorrekturen

  • Das Problem, dass der Blitz auf einigen Geräten nicht abgeschaltet wurde, wurde behoben. Das passiert, wenn der Blitz auf FLASH_MODE_ON gestellt ist, um ein Bild aufzunehmen, und zu FLASH_MODE_OFF geändert wird, wenn der Blitz ausgelöst wird. Das Symptom lautet, dass der Taschenlampenmodus aktiviert ist. (Ib4451, b/162568128)
  • PreviewView wurde gezwungen, TextureView zu verwenden, wenn der Erweiterungseffekt aktiviert ist und die Implementierung der Anbieterbibliothek einen speziellen Prozess auf der Ausgabeoberfläche ausführen muss. (I0c3cc)
  • Das Aktivitäts-/Fragmentleck wurde behoben, wenn ein Aktivitäts-/Fragment-Kontext an ProcessCameraProvider.getInstance(Context) übergeben wurde.

Bekannte Probleme

  • Wenn ViewPort festgelegt ist, ist das Zuschneideobjekt von ImageCapture auf Geräten, auf denen der Bildzwischenspeicher in HAL gedreht wird, möglicherweise falsch. Dieses Problem wird in der nächsten Version behoben.

Kamera-Kamera2 Version 1.0.0-beta08

19. August 2020

androidx.camera:camera-camera2:1.0.0-beta08 wurde veröffentlicht. Version 1.0.0-beta08 enthält diese Commits.

Fehlerkorrekturen

  • bindToLifecycle wurde für eine schnelle Ausführung im Hauptthread optimiert. (I1d57e)
  • DisplayOrientedMeteringPointFactory erfasst Kamerainformationen. statt einer CameraSelector-Instanz, sodass eine direkte Zuordnung für welche Kamera die Fabrik Punkte generiert. Alle Kurse die DisplayOrientedMeteringPointFactory verwenden, nehmen auch ein CameraInfo-Objekt auf. anstelle von CameraSelector. (I400c1)
  • Das Problem mit der Größengruppierung bei der automatischen Auflösung des Seitenverhältnisses wurde behoben, bei der eine mod16-Größe von 16:9 (864 x 480) ausgewählt wurde, wenn als Zielauflösung 2016 x 1080 ausgewählt wurde und eine andere Größe von 1920 x 1080 im Format 16:9 unterstützt wird. (I53167, b/159363774)
  • Problem mit CameraControl beheben, bei dem die Kamera aufgrund einer Race-Bedingung nicht funktioniert (I2279f, b/152333890, b/160714166)

Kamerakernversion 1.0.0-beta08

19. August 2020

androidx.camera:camera-core:1.0.0-beta08 wurde veröffentlicht. Version 1.0.0-beta08 enthält diese Commits.

API-Änderungen

  • DisplayOrientedMeteringPointFactory nimmt in einer CameraInfo auf anstelle von CameraSelector, sodass eine direkte Zuordnung zu für welche Kamera die Fabrik Punkte generiert. Alle Kurse mit DisplayOrientedMeteringPointFactory nehmen auch CameraInfo anstelle von CameraSelector. (I400c1)

Fehlerkorrekturen

  • Überschreibe für die Bildaufnahme das Flag „Horizontal spiegeln“ in den Metadaten je nach Kamerarichtung. (I28499)
  • Die Initialisierung sollte nicht mehr abstürzen, wenn ein Kontext verwendet wird bei dem kein Anwendungsobjekt Context.getApplicationContext() (I3d3c9, b/160817073)

Kamera-Kamera2 Version 1.0.0-beta07

22. Juli 2020

androidx.camera:camera-camera2:1.0.0-beta07 wurde veröffentlicht. Version 1.0.0-beta07 enthält diese Commits.

Fehlerkorrekturen

  • Das Problem, dass die Vorschau auf einem älteren Gerät mit Android 5.0 verzerrt wurde, wurde behoben. (I0c03a)
  • Einige JPEG-kompatible Größen wurden ausgeschlossen, die auf einigen Geräten ein WYSIWYG-Problem verursachen. (Ib5128)

Kamerakernversion 1.0.0-beta07

22. Juli 2020

androidx.camera:camera-core:1.0.0-beta07 wurde veröffentlicht. Version 1.0.0-beta07 enthält diese Commits.

API-Änderungen

  • Führen Sie die Stile FIT_CENTER, FIT_START und FIT_END mit FIT zusammen. FIT bedeutet, dass das zurückgegebene Zuschneiden-Rechteck das maximal mögliche Sensorrechteck ist. (Ia73c3)
  • Das Zuschneidewerkzeug in der Vorschau wird durch den Darstellungsbereich konfiguriert. Nur der Bereich, der vom Zuschneidebereich abgedeckt wird, sollte für Endnutzer sichtbar sein. (I142a4)

Fehlerkorrekturen

  • Das Problem, dass die Vorschau auf einem älteren Gerät mit Android 5.0 verzerrt wurde, wurde behoben. (I0c03a)
  • Die Ausnahme ConcurrentModificationException wurde behoben. beim Aufheben der Bindung von Anwendungsfällen. (I371c0)

Kamera-Kamera2 Version 1.0.0-beta06

24. Juni 2020

androidx.camera:camera-camera2:1.0.0-beta06 wurde veröffentlicht. Version 1.0.0-beta06 enthält diese Commits.

API-Änderungen

  • Experimentelle Benutzeroberflächen zum Filtern von Kameras nach Kamera hinzugefügt ID und CameraCharacteristics. (I28f61)

Fehlerkorrekturen

  • Das Problem, dass startFocusAndMetering den auf das Samsung Galaxy S7 konzentrieren. (If3be7, b/159039233)
  • Fehlerbehebung: Die Kamera kann sich nach dem Schließen der App nicht mehr schließen. (I7a7b3)
  • Probleme bei der Vorschau bei Kamerawechsel beheben, wenn die SurfaceView-Implementierung von PreviewView verwendet wurde (I920ce)
  • CameraControl#startFocusAndMetering schlägt fehl, wenn keiner der Der angegebene MeteringPoint kann gültige Messrechtecke generieren. (Id53ce)

Kamerakernversion 1.0.0-beta06

24. Juni 2020

androidx.camera:camera-core:1.0.0-beta06 wurde veröffentlicht. Version 1.0.0-beta06 enthält diese Commits.

API-Änderungen

  • Experimentelle Benutzeroberflächen zum Filtern von Kameras nach Kamera hinzugefügt ID und CameraCharacteristics. (I28f61)

Fehlerkorrekturen

  • CameraX kann jetzt konfiguriert werden mit ProcessCameraProvider#configureInstance() vor dem Anruf ProcessCameraProvider#getInstance(). So können Sie die den CameraXConfig ohne Implementierung von CameraXConfig.Provider in der App-Klasse ein. (Ia1a8d)
  • CameraControl#startFocusAndMetering schlägt fehl, wenn keiner der Der angegebene MeteringPoint kann gültige Messrechtecke generieren. (Id53ce)

Kamera-Kamera2 Version 1.0.0-beta05

10. Juni 2020

androidx.camera:camera-camera2:1.0.0-beta05 wurde veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.

Fehlerkorrekturen

  • Der Absturz beim Starten der App bei der Initialisierung von CameraX bei aktiviertem „Nicht stören“-Modus des Smartphones wurde behoben. Ein InitializationException enthält eine CameraUnavailableException, die auf den ListenableFuture des Initialisierungsergebnisses festgelegt wird, anstatt die Anwendung zum Absturz zu bringen. (I9909a, b/149413835)
  • Der Absturz beim Aufrufen von startFocusAndMetering wurde behoben. auf Geräten, bei denen CONTROL_AF_STATE null ist. (Ife55e, b/157084254)

Kamerakernversion 1.0.0-beta05

10. Juni 2020

androidx.camera:camera-core:1.0.0-beta05 wurde veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.

API-Änderungen

  • Der Absturz beim Starten der App bei der Initialisierung von CameraX bei aktiviertem „Nicht stören“-Modus des Smartphones wurde behoben. Ein InitializationException, das eine CameraUnavailableException enthält, wird auf die ListenableFuture des Initialisierungsergebnisses gesetzt, anstatt die Anwendung abzustürzen. (I9909a, b/149413835)

Fehlerkorrekturen

  • Die Javadocs von setTargetResolution und setTargetRotation wurden aktualisiert. (Iae16f)

Kamera-Kamera2 Version 1.0.0-beta04

27. Mai 2020

androidx.camera:camera-camera2:1.0.0-beta04 wurde veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.

Fehlerkorrekturen

  • Apps dürfen beliebige Parameter für die Kamera2-Erfassungsanfrage über Camera2Interop festlegen, ohne einen Absturz zu verursachen. Beachten Sie, dass Probleme auftreten, die durch das Überschreiben von Parametern entstehen. Stabilität und Verhalten sind nicht garantiert, wenn Parameter mit Camera2Interop überschrieben werden. (Ibe5a1, b/149103700)
  • Die automatische Initialisierung ist behoben, wenn eine App auf einem Gerät mit einer Pseudosprache verwendet wird. (I3bef3, b/154767663)
  • Das Fehlerprotokoll für den getrennten Anwendungsfall wurde in ein Debugging-Protokoll in Camera2CameraImpl konvertiert. (I1a565, b/154422490)
  • Ein Problem wurde behoben, durch das das aufgenommene Bild manchmal zu dunkel war, obwohl der Blitz ausgelöst wurde. (I5d9fa, b/149729613)
  • Behebung eines Fehlers, bei dem der Zwischenspeicher in ImageProxy aus ImageCapture nicht zurückgespult wurde (I0c455, b/153249512)
  • Folgendes Problem wurde behoben: (2) Schlechte Bildqualität, da die automatische Belichtung nicht funktioniert. (I17782, b/145326998)
  • Verbesserte Zuverlässigkeit beim erneuten Öffnen der Kamera, wenn CameraX durch einen anderen Prozess oder Codepfad getrennt wird, über den die Kamera gestohlen wird (I1fbc3, b/153714651)

Kamerakernversion 1.0.0-beta04

27. Mai 2020

androidx.camera:camera-core:1.0.0-beta04 wurde veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.

API-Änderungen

  • Fügt die experimentelle API CameraXConfig.Builder#setSchedulerHandler() hinzu, mit der der intern vom CameraX-Kamerastapel verwendete Handler festgelegt werden kann. Diese neue API sollte zusammen mit CameraXConfig.Builder#setCameraExecutor() die vollständige Kontrolle über die Threads ermöglichen, die vom CameraX-Kamerastapel verwendet werden. (I7bf32, b/121160431)

Fehlerkorrekturen

  • Absturz in ImageAnalysis, bei dem auf ImageProxy zugegriffen wird, nachdem ImageReaderProxy geschlossen wurde, wurde behoben. Auf diese Weise müssen alle ImageProxy, die von Analyzer empfangen werden, geschlossen werden, bevor ImageReaderProxy geschlossen wird. (I4b299, b/145956416, b/154155377, b/156357269)
  • Der CameraInfo-Parameter wurde aus PreviewView#createSurfaceProvider() entfernt. PreviewView ruft ihn jetzt intern von SurfaceRequest ab. (If18f0, b/154652477)
  • Die automatische Initialisierung ist behoben, wenn eine App auf einem Gerät mit einer Pseudosprache verwendet wird. (I3bef3, b/154767663)
  • Ein Problem wurde behoben, durch das das aufgenommene Bild manchmal zu dunkel war, obwohl der Blitz ausgelöst wurde. (I5d9fa, b/149729613)
  • Ein Problem mit ImageAnalysis wurde behoben, bei dem mehrere Aufrufe von setanalyticsr/clearanalyticsr dazu führten, dass das Analyse-Tool keine zu analysierenden Bilder empfangen hat. (I6169f, b/151605317, b/153514544)
  • Behebung eines Fehlers, bei dem der Zwischenspeicher in ImageProxy aus ImageCapture nicht zurückgespult wurde (I0c455, b/153249512)
  • Das Problem, dass die erste Kamera in der Liste der unterstützten Geräte von CameraManager nicht immer zur Verwendung ausgewählt wurde, wurde behoben. (I4c624, b/153418028)
  • Das Problem wurde behoben, durch das bei Preview.SurfaceProvider eingestellt wurde, dass die zuvor angeforderte Oberfläche nicht freigegeben wurde. Das Problem wurde behoben. “java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7, b/155936225)

Kamera-Kamera2 Version 1.0.0-beta03

15. April 2020

androidx.camera:camera-camera2:1.0.0-beta03 wurde veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.

Fehlerkorrekturen

  • Korrekturen zur Unterstützung der Veröffentlichung von camera-core

Kamerakernversion 1.0.0-beta03

15. April 2020

androidx.camera:camera-core:1.0.0-beta03 wurde veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.

Fehlerkorrekturen

  • Regression von beta03 behoben, bei der das Aufrufen von bindToLifecycle() mit null UseCase-Werten eine ausgelöste Ausnahme verursachte. Dadurch konnte kein Camera abgerufen werden, ohne eine UseCase zu binden.

Kamera-Kamera2 Version 1.0.0-beta02

1. April 2020

androidx.camera:camera-camera2:1.0.0-beta02 wurde veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Das ImageInfo.getRotationDegrees() aus dem von ImageCapture erzeugten ImageProxy wurde so korrigiert, dass es dem EXIF-Drehwert der Ausrichtung entspricht. (Id4281, b/150802561)
  • Die explizite Reihenfolge von CameraX-Abhängigkeiten innerhalb von build.gradle ist nicht mehr erforderlich, um die Standardimplementierung von CameraX/Camera2 zu verwenden. Wenn strenge Abhängigkeiten deklariert werden müssen, können jetzt alle CameraX-Abhängigkeiten in die Build-Datei aufgenommen werden. (I46e88)
  • Das Problem IllegalArgumentException auf Geräten, bei denen die Anzeige kleiner als 640 x 480 war, wurde behoben. (Ife3f2, b/150506192)
  • bindToLifecycle wurde so korrigiert, dass der Anwendungsfall nur bei erfolgreicher Bindung geändert wird. Wenn zuvor bindToLifecycle für Auflösungsberechnungen aufgerufen wurde, wurde der Anwendungsfall aktualisiert. Der Anwendungsfall muss jetzt nicht mehr aktualisiert werden, um die Berechnungen vorzunehmen (I78d9e).

Kamerakernversion 1.0.0-beta02

1. April 2020

androidx.camera:camera-core:1.0.0-beta02 wurde veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Das ImageInfo.getRotationDegrees() aus dem von ImageCapture erzeugten ImageProxy wurde so korrigiert, dass es dem EXIF-Drehwert der Ausrichtung entspricht. (Id4281, b/150802561)
  • bindToLifecycle wurde so korrigiert, dass der Anwendungsfall nur bei erfolgreicher Bindung geändert wird. Wenn zuvor bindToLifecycle für Auflösungsberechnungen aufgerufen wurde, wurde der Anwendungsfall aktualisiert. Der Anwendungsfall muss jetzt nicht mehr aktualisiert werden, um die Berechnungen vorzunehmen (I78d9e).
  • Ein Problem wurde behoben, bei dem die Aufnahmesitzung des Anwendungsfalls „Preview“ nicht aktualisiert wurde, wenn sich die Vorschauoberfläche nach einem mehrmaligen Aufruf von Preview.setSurfaceProvider() änderte.

Kamera-Kamera2 Version 1.0.0-beta01

26. Februar 2020

androidx.camera:camera-camera2:1.0.0-beta01 wurde veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • SurfaceRequest.setSurface(Surface) wurde umbenannt in SurfaceRequest.provideSurface(Surface) und SurfaceRequest.setWillNotComplete() bis SurfaceRequest.willNotProvideSurface(). (I224fe)
  • Problem behoben, bei dem das Seitenverhältnis eines gespeicherten Bildes nicht korrekt war Nachdem der Zielrotationswert mit ImageCapture.setTargetRotation() geändert wurde. (I474ea, b/148763432)
  • Die Initialisierung von App-Varianten mit aktiviertem ProGuard wurde korrigiert, indem die Flag, das den Standardanbieter CameraXConfig festlegt. (I2d6c1)

Kamerakernversion 1.0.0-beta01

26. Februar 2020

androidx.camera:camera-core:1.0.0-beta01 wurde veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

API-Änderungen

  • Ersetzt: ListenableFuture auf SurfaceRequest.provideSurface() mit Executor und Callback. Dieses vereinfacht die API, da die Verarbeitung von Ausnahmen in provideSurface() und erzwingt, dass der provideSurface()-Callback nicht zulässig ist storniert werden. Dadurch werden Abstürze auf älteren Geräten verhindert, die durch folgende Ursachen verursacht werden: und dabei, Oberflächen zu früh zu lösen. Das SurfaceRequest.Result-Objekt wird jetzt um zu verfolgen, wie eine SurfaceRequest die bereitgestellte Surface verwendet. (I7854b)
  • SurfaceRequest.setSurface(Surface) wurde umbenannt in SurfaceRequest.provideSurface(Surface) und SurfaceRequest.setWillNotComplete() bis SurfaceRequest.willNotProvideSurface(). (I224fe)

Fehlerkorrekturen

  • Problem behoben, bei dem das Seitenverhältnis eines gespeicherten Bildes nicht korrekt war Nachdem der Zielrotationswert mit ImageCapture.setTargetRotation() geändert wurde. (I474ea, b/148763432)
  • Die Initialisierung von App-Varianten mit aktiviertem ProGuard wurde korrigiert, indem die Flag, das den Standardanbieter CameraXConfig festlegt. (I2d6c1)
  • Aktualisierte Dokumentation für Flash-Modus-APIs möglichen Werten. (I4a3ec)

Kamera-Kamera2 Version 1.0.0-alpha10

10. Februar 2020

androidx.camera:camera-camera2:1.0.0-alpha10 wurde veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

Fehlerkorrekturen

  • Die Stabilität auf INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY-Geräten wurde verbessert, indem sichergestellt wird, dass Surfaces nur für die Dauer der Nutzung durch Camera2 gespeichert werden. (I9dac2)
  • Das Problem mit der unterbelichteten Vorschau auf LEGACY-Geräten wurde durch die korrekte Anpassung von CONTROL_AE_TARGET_FPS_RANGE behoben. (1224638)

Kamerakernversion 1.0.0-alpha10

10. Februar 2020

androidx.camera:camera-core:1.0.0-alpha10 wurde veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

API-Änderungen

  • ImageCapture wurde aktualisiert, damit Bilder in Uri und OutputStream gespeichert werden können. Die überlasteten takePicture-Methoden wurden zu einer zusammengefasst. Die Test-App wurde aktualisiert, sodass Uri als kanonisches Beispiel verwendet wird. (Ia3bec)
  • Preview.PreviewSurfaceProvider wurde in Preview.SurfaceProvider umbenannt. Für SurfaceProvider müssen Entwickler keine eigenen ListenableFuture mehr erstellen. Die Angabe einer Surface erfolgt jetzt über ein neues SurfaceRequest-Objekt. Die Methode Preview.getPreviewSurfaceProvider() wurde entfernt, da sie möglicherweise missbräuchlich verwendet wird, wenn Preview mit anderen Klassen wie PreviewView gekoppelt ist. (I20105)
  • getTargetRotation() und getTargetName() wurden zu Preview hinzugefügt. (Iceee7)
  • getTargetRotation(), getBackpressureStrategy() und getImageQueueDepth() wurden in ImageAnalysis hinzugefügt. (I9d6d9)
  • getTargetRotation() und getCaptureMode() wurden in ImageCapture() hinzugefügt (I5bc17)
  • Die Argumente, die zuvor in ImageCapture.OnImageSavedCallback.onError() und ImageCapture.OnImageCapturedCallback.onError() übergeben wurden, wurden jetzt durch ein einziges Argument ImageCaptureException ersetzt, das weiterhin alle zuvor übergebenen Informationen enthält.
  • Das zuvor an ImageCapture.OnImageSavedCallback.onImageSaved() übergebene Dateiargument wurde entfernt. (I750d2)
  • Die Kurse Preview und ImageCapture sind jetzt als endgültig markiert. (I2500b)
  • API aktualisiert, mit getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio()- und getLinearZoom()-Methoden der CameraInfo-Zusammenführung in getZoomState(), wodurch eine ZoomState-Instanz zurückgegeben wird. (Ib19fe)
  • API-Felder OPTION_TARGET_CLASS und OPTION_TARGET_NAME entfernt aus CameraXConfig, da sie nur für die interne Bibliothek vorgesehen sind. Konstruktor für CameraXConfig.Builder entfernt. (I96912)
  • Anforderung entfernt, dass die App Application verlängern muss, um um CameraX zu initialisieren. CameraX wird jetzt mit einer Standardeinstellung initialisiert. Camera2-Konfiguration, sofern das Artefakt camera-camera2 enthalten ist in der build.gradle der Anwendung. (I58ff5) (b/146923574)

Kamera-Kamera2 Version 1.0.0-alpha09

22. Januar 2020

androidx.camera:camera-camera2:1.0.0-alpha09 wurde veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

API-Änderungen

  • Fügen Sie den Interoperabilitätspfad „camera2“ zum Extrahieren einer Kamera-ID von Camera2 hinzu. Sie können die Kamera-ID von CameraInfo mit Camera2CameraInfo.extractCameraId() Das folgende Codebeispiel zeigt, wie Sie dies verwenden:

    Camera camera = provider.bindToLifecycle(...);
    String cameraId =
        Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
    

    Für die Klasse Camera2CameraInfo ist die ExperimentalCamera2Interop erforderlich markerClass aus.

Kamerakernversion 1.0.0-alpha09

22. Januar 2020

androidx.camera:camera-core:1.0.0-alpha09 wurde veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

API-Änderungen

  • Der SurfaceOrientedMeteringPointFactory-Parameter useCaseForSurface war in useCaseForAspectRatio umbenannt und die Referenzdokumentation wurde maximiert.
  • FocusMeteringAction.Builder.from()-Methoden werden durch die Konstruktoren ersetzt FocusMeteringAction.Builder().
  • Entfernt DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float) Anwendungen sollten den Konstruktor verwenden, der einen Display-Parameter und die aktuelle Anzeige übergeben.
  • Javadoc-Verbesserungen für Fokus- und Metering-APIs bezüglich MeteringMode und 3A-Flags und Verwendung des Parameters Display.
  • Die Referenzdokumentation für setZoomRatio und setLinearZoom wurde erweitert.

Fehlerkorrekturen

  • Probleme beim Schließen und Öffnen von Kameras behoben, die zu „Vorbedingung“ führten fehlgeschlagen.
  • Fehler behoben: ConcurrentModificationException, der bei Verwendung der Taschenlampe auftreten konnte und zoom APIs.
  • Es wurde ein Problem behoben, durch das jetzt Auflösungen ausgewählt werden, die näher an der angeforderten Lösung liegen, wenn eine mod16-Dimensionsgröße verfügbar ist.
  • Die APIs startFocusMetering und cancelFocusMetering verhalten sich jetzt wie dokumentiert mit dem richtigen Timing und kann Fehler wiederholen, wenn sie auftreten.
  • Ein Problem wurde behoben, bei dem eine bestimmte Zielauflösung mit einem Zuschneidebereich angefordert wurde. auf einem Gerät, das diese Größen nicht unterstützt. Eine nicht zugeschnittene Größe von Eine ausreichende Auflösung zum Einbeziehen der ursprünglichen Anfrage wird ausgewählt, wenn verfügbar.

Kamera-Kamera2 Version 1.0.0-alpha08

18. Dezember 2019

androidx.camera:camera-camera2:1.0.0-alpha08 wurde veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Bekannte Probleme

  • Bei Verwendung von Camera2-Interoperabilität funktionieren nicht alle Optionen für die Kamera2-Aufnahmeanfrage. Wenn die angeforderte Option nicht unterstützt wird, kann die Sitzung nicht gestartet werden und ein Fehler wie dieser kann auftreten: 09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination

Fehlerkorrekturen

  • Es wurde ein Problem behoben, bei dem nach dem Drehen oder Wechseln der Kamera für die API-Ebenen 21 und 22 ein schwarzer Vorschaubildschirm angezeigt wurde.

API-Änderungen

  • Experimentell: Ein camera2-Interoperabilitätspfad zum Extrahieren der Kamera-ID wurde hinzugefügt.

Kamerakernversion 1.0.0-alpha08

18. Dezember 2019

androidx.camera:camera-core:1.0.0-alpha08 wurde veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Bekannte Probleme

  • Apps, die PreviewView oder CameraView verwenden, haben möglicherweise ein falsches Seitenverhältnis in der Vorschau. Dies geschieht nach dem Pausieren oder Fortsetzen auf einigen Geräten mit voller Leistung, z. B. dem Pixel2.

Fehlerkorrekturen

  • Die Dokumentation für FocusMeteringAction und CameraControl wurde aktualisiert.
  • TorchControl wurde für enableTorch() und getTorchState() implementiert.

API-Änderungen

  • IntDefs ausgeblendet und IntDef-Konstanten außerhalb der IntDef-Definition verschoben.
  • rotationDegrees“ wurde aus dem Kurs „OnImageCaptureCallback“ in den Kurs „ImageInfo“ verschoben.
  • rotationDegrees“ wurde aus dem Kurs „Analyzer“ in den Kurs „ImageInfo“ verschoben.

Kamera-Kamera2 Version 1.0.0-alpha07

4. Dezember 2019

androidx.camera:camera-camera2:1.0.0-alpha07 wurde veröffentlicht. Die Version 1.0.0-alpha07 von „camera-camera2“ enthält diese Commits.

  • Camera2Config kann jetzt zum Initialisieren und Konfigurieren einer Camera2-basierten Implementierung für CameraX verwendet werden. Weitere Informationen zur Verwendung bei der Initialisierung findest du in den Versionshinweisen im Abschnitt zum Hauptkamerakern.
  • Die Interoperabilität von Camera2 ist jetzt als experimentell gekennzeichnet und wird in ein separates Paket verschoben, androidx.camera.camera2.interop.

Kamerakernversion 1.0.0-alpha07

4. Dezember 2019

androidx.camera:camera-core:1.0.0-alpha07 wurde veröffentlicht. Version 1.0.0-alpha07 von Kamerakern enthält diese Commits

Im Zuge der Vorbereitung auf den Betatest gibt es in dieser Alphaversion einige wesentliche Änderungen. Wir empfehlen Ihnen, sich die Änderungen anzusehen und uns Feedback zur Google-Gruppe „CameraX“ zu geben. Entwicklern, die CameraX in Apps aus dem Play Store verwenden, empfehlen wir, auf die offizielle Betaversion zu warten, bevor Sie die Bibliothek in Ihren Apps aktualisieren.

API-Änderungen

  • Wichtig: Die Initialisierung von CameraX hat sich geändert. Anwendungen sollten CameraXConfig.Provider implementieren und die von androidx.camera.camera2 bereitgestellte Standardeinstellung Camera2Config verwenden. Typische Verwendung:

    import androidx.camera.camera2.Camera2Config
    import androidx.camera.core.CameraXConfig
    
    public class MyCameraXApplication : Application(),  CameraXConfig.Provider {
        override fun getCameraXConfig(): CameraXConfig {
                return Camera2Config.defaultConfig(this)
        }
    }
    
  • Die CameraX-Klasse wurde entfernt. bindToLifecycle(), unbind(), unbindAll(), isBound() und hasCamera(), die zuvor durch den Aufruf der CameraX-Klasse bereitgestellt wurden, sind jetzt über ProcessCameraProvider verfügbar.

  • Eine prozessspezifische Instanz von ProcessCameraProvider wird asynchron mit der statischen Methode ProcessCameraProvider.getInstance() abgerufen, die ein listenfähiges Future zurückgibt, das nach Abschluss die ProcessCameraProvider bereitstellt. Hier wird er in onCreate() für eine typische Nutzung gezeigt. Sie können getInstance() später im Lebenszyklus der Aktivität aufrufen, um die Initialisierungslatenz auf einen späteren Zeitpunkt zu verschieben (z. B. wenn eine Nutzeraktion eine Kamera-UI öffnet).

    import androidx.camera.lifecycle.ProcessCameraProvider
    import com.google.common.util.concurrent.ListenableFuture
    
    class MainActivity : AppCompatActivity() {
       private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider>
       override fun onCreate(savedInstanceState: Bundle?) {
           cameraProviderFuture = ProcessCameraProvider.getInstance(this);
      }
    
  • Ein Listener kann dem von getInstance() zurückgegebenen ListenableFuture hinzugefügt werden. Dadurch kann der Kameraanbieter vom Future abgerufen werden, ohne ihn auf Future.get() zu blockieren

    cameraProviderFuture.addListener(Runnable {
      val cameraProvider = cameraProviderFuture.get()
      cameraProvider.bindToLifecycle(...)
    }, ContextCompat.getMainExecutor(this))
    
  • Die Kameraauswahl erfolgt jetzt über eine Kameraauswahl, nicht mehr pro Anwendungsfall

    val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
    
  • CameraProvider.bindToLifecycle erhält den Inhaber des Lebenszyklus, die Kameraauswahl und Anwendungsfälle, die dann an den angegebenen Inhaber des Lebenszyklus gebunden und für die ausgewählte Kamera ausgeführt werden.

    cameraProvider.bindToLifecycle(this as LifecycleOwner,
           cameraSelector, preview, imageAnalysis)
    
  • Der Anwendungsfall „Config“-Klassen wurden entfernt. Erstellen Sie stattdessen direkt Anwendungsfälle und legen Sie Optionen für jeden Anwendungsfall-Builder fest. Beispiel:

    preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
    
  • Der Anwendungsfall Vorabversion wurde aktualisiert und akzeptiert nun eine von der App erstellte und verwaltete Oberfläche. So werden die Best Practices für Android berücksichtigt. Es wird dringend empfohlen, die im „camera-view“-Paket enthaltene Ansichtsklasse PreviewView zu verwenden.

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • Informationen zum Anhängen einer von Apps verwalteten Oberfläche finden Sie in der Dokumentation. In diesen Fällen verwaltet die App den Lebenszyklus der Oberfläche.

  • Wichtig: Die Implementierung der Analysemethode ImageAnalysis muss image.close() für empfangene Bilder aufrufen, wenn sie nicht mehr verwendet werden. Andernfalls können je nach Gegendruckeinstellung keine neuen Bilder empfangen werden oder die Kamera bleibt hängen. Weitere Informationen finden Sie in der Referenzdokumentation.

  • ImageAnalysis ImageReaderMode ist jetzt auf die Rückstaustrategie intdef umgestellt.

  • ImageProxy.getImage() ist als experimentell gekennzeichnet. Anwendungen sollten die Nutzung z. B. über @androidx.camera.core.ExperimentalGetImage mit Anmerkungen versehen

  • Die Annotationsanforderung UIThread für Analyzer wurde entfernt.

  • Zum Entfernen eines Analysetools wurde die Funktion ImageAnalysis.clearAnalyzer() hinzugefügt.

  • Listener mit mehr als einer Methode wurden in "Callback" umbenannt:

    • ImageCapture.OnImageCapturedListener heißt jetzt ImageCapture.OnImageCapturedCallback
    • ImageCapture.OnImageSavedListener heißt jetzt ImageCapture.OnImageSavedCallback
    • VideoCapture.OnVideoSavedListener heißt jetzt VideoCapture.OnVideoSavedCallback
  • Enums wurden in IntDef geändert

  • Es wurden Zoomsteuerelemente hinzugefügt:

    • CameraControl.setLinearZoom()
    • CameraControl.setZoomRatio()
    • CameraInfo.getLinearZoom()
    • CameraInfo.getMaxZoomRatio()
    • CameraInfo.getZoomRatio()
  • CameraInfo.hasFlashUnit() wird hinzugefügt, um festzustellen, ob die Blitz- oder Taschenlampe vorhanden ist.

  • CameraInfo.isFlashAvailable() wurde entfernt. Die Taschenlampe überschreibt die Blitzfunktion. Weitere Informationen finden Sie in der Referenzdokumentation.

  • Die Felder ImageCapture.Metadata werden durch die Zugriffsfunktionen „get/set/is“ ersetzt.

  • startFocusMetering und cancelFocusMetering geben jetzt ListenableFutures zurück, die den asynchronen Vorgang des Aufrufs darstellen.

  • MeteringPoints dienen jetzt als Handles für Metering-Aktionen und werden in Fabriken erzeugt. Apps sollten die vorhandenen Fabriken anstelle von benutzerdefinierten Factorys verwenden.

Behobene Probleme

  • Ein Problem wurde behoben, das auftrat, wenn beim Fortsetzen der Aufnahme ein Bild aufgenommen wurde, nachdem bei einer vorherigen Pause Bilder aufgenommen werden sollten, die noch nicht abgeschlossen sind.
  • Bekanntes Problem: CameraControl.enableTorch() funktioniert, aber die zurückgegebene ListenableFuture<Void> ist immer ein unmittelbares complete(success)-Future, auch wenn keine Flash-Einheit vorhanden ist. In zukünftigen Versionen wird dieses Problem mit dem endgültigen Verhalten behoben: Wenn keine Flash-Einheit vorhanden ist, schlägt enableTorch(true) sofort fehl und sendet keine Anfrage an CaptureSession. TorchState bleibt deaktiviert.
  • Bekanntes Problem: startFocusAndMetering und cancelFocusAndMetering starten und brechen die Fokusmessung ab, geben aber sofort einen completed (success)-Future zurück, der nicht das dokumentierte Verhalten darstellt. Das FocusMeteringResult von ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() ist ein falsches Ergebnis, das isFocusSuccessful() und immer „false“ ist. vom beabsichtigten, dokumentierten Verhalten abweichen.
  • Bekanntes Problem: Es wird eine Messpunkt-Factory zur Verwendung mit PreviewView-Touch-Ereignissen entwickelt. Derzeit können Apps, die benutzerdefinierte verwaltete Oberflächen verbinden, die vorhandenen Messpoint-Factorys verwenden. Andernfalls ist für PreviewView keine Touchfokus-Funktion verfügbar.

Kamera-Kamera2 und Kamerakern-Version 1.0.0-alpha06

9. Oktober 2019

androidx.camera:camera-camera2:1.0.0-alpha06 und androidx.camera:camera-core:1.0.0-alpha06 wurden veröffentlicht. Dies sind die Commits in camera-camera2:1.0.0-alpha06 und die Commits in camera-core:1.0.0-alpha06.

Neue Funktionen

Änderungen an der Einstellung von Seitenverhältnissen:

  • setTargetAspectRatioMode() wurde hinzugefügt und akzeptiert ein enum-Argument. Dadurch wird der Seitenverhältnismodus mit den Optionen RATIO_4_3 oder RATIO_16_9 anstelle eines beliebigen Seitenverhältnisses festgelegt. Dies spiegelt eher die Tatsache wider, dass von der Kamera nur bestimmte Seitenverhältnisse und kein beliebiges Seitenverhältnis bereitgestellt werden.
    • Derzeit sind nur die Seitenverhältnisse 16:9 und 4:3 verfügbar. Bei 1:1 ist dies nur auf bestimmten Geräten von der Kamera möglich und die Auflösung ist dann begrenzt. Anwendungen, die eine 1:1-Schnittstelle oder -Verarbeitung entwerfen, sollten das flexiblere 16:9- oder 4:3-Format verwenden und die Anzeige zuschneiden oder eine Unterregion verarbeiten.
    • Diese Seitenverhältnisse sind auf den maximalen Sensorbereich ausgerichtet.
  • getTargetAspectRatio() wurde den Anwendungsfallkonfigurations-APIs hinzugefügt und gibt das Seitenverhältnis zurück, für das die Ausgabe des Anwendungsfalls bestimmt ist.
  • Die Methode setTargetAspectRatio(Rational aspectRatio) wurde für ImageCapture zu setTargetAspectRatioCustom(Rational aspectRatio) geändert. Wenn dieser Wert festgelegt ist, wird die ImageCapture-Ausgabe entsprechend zugeschnitten.

Executor-APIs

  • Die folgenden Funktionen akzeptieren einen Executor-Parameter, mit dem die App steuern kann, in welchem Executor die Funktion ausgeführt wird.
    • Preview.setOnPreviewOutputUpdateListener()-API. Wenn der Executor für diese Funktion nicht vorhanden ist, wird er im Hauptthread ausgeführt.
    • Preview.setOnPreviewOutputUpdateListener
    • FocusMeteringAction.Builder.setAutoFocusCallback
    • ImageAnalysis.setAnalyzer
    • ImageCapture.takePicture
    • CameraView.takePicture
    • CameraView.startRecording
    • VideoCapture.startRecording

CameraInfo wurde mit den Kontrollkästchen Flash verfügbar und Sensor Rotation APIs hinzugefügt.

  • Es wurden CameraInfo und eine getCameraInfo-Methode hinzugefügt, mit der Apps prüfen können, ob CameraInfo mit einem Objektiv verfügbar ist und ob der Blitz für diese Kamera verfügbar ist. Beispiel:

    try {
        CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing);
        LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable();
        flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE);
    } catch (CameraInfoUnavailableException e) {
        Log.w(TAG, "Cannot get flash available information", e);
        flashToggle.setVisibility(View.VISIBLE);
    }
    
  • CameraInfo.getSensorRotationDegrees() wurde hinzugefügt. Sie liefert die Ausrichtung des Kamerasensors relativ zur natürlichen Ausrichtung des Geräts oder zur Vereinfachung in Bezug auf eine durch eine Oberflächendrehung (die eine relativ zur natürlichen Ausrichtung beschreibende Ausrichtung) beschrieben wird.

API-Änderungen und Fehlerkorrekturen

  • Seitenverhältnis: Für jeden Anwendungsfall sollten Anwendungen entweder setTargetResolution() oder setTargetAspectRatio() aufrufen. Wenn Sie beide im selben Builder aufrufen, wird ein Fehler zurückgegeben.
    • Im Allgemeinen wird aufgrund des UI-Designs der Anwendung empfohlen, setTargetAspectRatio() zu verwenden. Die konkreten Lösungen hängen vom jeweiligen Anwendungsfall ab. Die Vorschau entspricht beispielsweise der Bildschirmauflösung und die Bilderfassung liefert hochauflösende Standbilder. Weitere Informationen finden Sie in der Tabelle mit automatischen Auflösungen.
    • Verwenden Sie setTargetResolution() für spezifischere Fälle, z. B. wenn eine minimale (um die Berechnung zu sparen) oder maximale Auflösung (für die Verarbeitungsdetails) erforderlich ist.
  • Executor API: Der setCallbackHandler()-Aufruf wurde aus den Konfigurations-APIs für Anwendungsfälle entfernt. Stattdessen können Anwendungen den Executor als Parameter in verschiedenen anderen APIs festlegen, die einen Callback festlegen.
  • Null-Anmerkungen für verschiedene Funktionen wurden aktualisiert.
  • Beim Öffnen der Kamera wurde java.lang.IllegalStateException at Camera$StateCallback.onError ausgegeben. Dieses Problem wurde behoben.
  • Ein Problem wurde behoben, durch das zu kleine Auflösungen (unter 640 x 480) ausgewählt wurden, wenn die App größere oder Standardauflösungen anfordert, was zu einem verwackelten oder verschwommenen Vorschaubild führte. Anwendungen, die speziell eine kleinere Auflösung benötigen, können diese explizit anfordern.
  • Ein Problem wurde behoben, bei dem die Kamera nach der Rückkehr von einem Intent, der eine andere Kamera-App gestartet hat, einen schwarzen Bildschirm anzeigte (die Kamera konnte nicht gestartet werden).
  • Es wurde ein Fehler behoben, bei dem der folgende Fehler ausgegeben wurde, wenn Apps wiederholt gestartet oder beendet wurden: java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
  • Der folgende Fehler wurde behoben, der beim Deaktivieren von ImageAnalysis aufgetreten ist: java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
  • Zusätzliche Tests zum Trennen der Kamera wurden hinzugefügt.
  • Verbesserte Stabilität des Testsystems beim Ausführen von Kameratests mit mehreren Rücken.

Kamera-Kamera2 und Kamerakern-Version 1.0.0-alpha05

5. September 2019

androidx.camera:camera-camera2:1.0.0-alpha05 und androidx.camera:camera-core:1.0.0-alpha05 wurden veröffentlicht. Dies sind die Commits, die in „camera-camera2:1.0.0-alpha05“ enthalten sind, und dies sind die Commits in camera-core:1.0.0-alpha05.

  • API-Änderung: Umbenannte Fehlervariablen für Anwendungsfälle:

    • ImageCapture.UseCaseError wird in ImageCapture.ImageCaptureError umbenannt
    • VideoCapture.UseCaseError wird in VideoCapture.VideoCaptureError umbenannt
  • CameraControl API mit Tap-to-Focus-APIs hinzugefügt

    • Es wurde eine API zum Abrufen eines CameraControl von CameraX für eine Kamera hinzugefügt, die durch die Objektivseite ausgewählt wird:

      CameraX.getCameraControl(LensFacing lensFacing)

    • MeteringPointFactory, MeteringPoint, MeteringMode und FocusMeteringAction wurden zum Ausführen von Tap-to-Fokus hinzugefügt:

      MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height);
      MeteringPoint point = factory.createPoint(x, y);
      FocusMeteringAction action = FocusMeteringAction.Builder.from(point,
                                       MeteringMode.AF_ONLY)
          .addPoint(point2, MeteringMode.AE_ONLY) // could have many
          .setAutoFocusCallback(new OnAutoFocusListener(){
              public void onFocusCompleted(boolean isSuccess) {
              }
          })
          // auto calling cancelFocusAndMetering in 5 sec.
          .setAutoCancelDuration(5, TimeUnit.Second)
          .build();
      
    • API für CameraControl zum Starten und Abbrechen der Fokusmessung hinzugefügt:

      getCameraControl(lensFacing).startFocusAndMetering(action); getCameraControl(lensFacing).cancelFocusAndMetering();

    • Es wurden APIs für Metering Point Factorys hinzugefügt, die die Übersetzung von Tippkoordinaten in Sensorkoordinaten basierend auf Ansichtsklassen unterstützen:

      MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView); MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);

  • Erzwingen Sie das Aufrufen der folgenden Methoden im Hauptthread (UI) und lösen Sie einen IllegalStateException, wenn dies nicht der Fall ist. Zukünftige Versionen ermöglichen Nutzung für andere Threads und sorgen für die Serialisierung.

    • CameraX.bindToLifecycle()
    • CameraX.unbind()
    • CameraX.unbindAll()
    • ImageAnalysis.setAnalyzer()
    • ImageAnalysis.getAnalyzer()
    • ImageAnalysis.removeAnalyzer()
    • Preview.removePreviewOutputListener()
    • Preview.getOnPreviewOutputUpdateListener()
    • Preview.setOnPreviewOutputUpdateListener()
  • Verschiedene Konfigurationseinstellungen akzeptieren jetzt Null-Parameter und entsprechende Getter können null zurückgeben.

  • Es wurde ein Problem beim Testen auf Emulatoren behoben, die AF/AE/AWB-Einstellungen nicht unterstützen.

  • Absturzfehler bei der Drehung bei der Bildanalyse wurde behoben.

  • Es wurde ein Fehler behoben, durch den die Vorschau beim Start schwarz angezeigt wurde (keine Kameradaten), nach dem Drehen oder Umschalten zwischen Front- und Rückkamera.

  • Das Testen für mehrere gleichzeitige Bildanalyse-Anwendungsfälle wurde entfernt. Um die Kompatibilität sicherzustellen, sollten Anwendungen nur einen einzelnen Anwendungsfall für die Bildanalyse anhängen.

  • Erste Robolectric-Tests für eine gefälschte Kamera wurden in der Camera Testing Suite (WIP) hinzugefügt.

  • Der Camera2Inititalizer-Test wurde entfernt, da die Abdeckung unklar oder irreführend war.

Kamera-Kamera2 und Kamerakern-Version 1.0.0-alpha04

7. August 2019

androidx.camera:camera-camera2:1.0.0-alpha04 und androidx.camera:camera-core:1.0.0-alpha04 wurden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

Änderungen an den Einstellungen für Seitenverhältnis und Auflösung

Das Ziel von CameraX ist es, eine Kamerasitzung erfolgreich zu initialisieren. KameraX schränkt dabei die Auflösung und das Seitenverhältnis je nach Gerätefunktion ein, um eine Aufnahme als erstes Ziel zu starten. Genaue Anfragen werden daher möglicherweise nicht berücksichtigt. Das kann folgende Gründe haben:

  • Geräte, die die angeforderte Lösung nicht unterstützen
  • Kompatibilitätsprobleme, z. B. auf LEGACY-Geräten, auf denen bestimmte Auflösungen verwendet werden müssen
  • Auf einigen Geräten sind bestimmte Formate nur mit bestimmten Seitenverhältnissen verfügbar
  • Die Einstellung „nächstgelegenes mod16“ für JPEG- oder Videocodierung. Weitere Informationen finden Sie unter CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP.

KameraX erstellt und verwaltet zwar die Sitzung, sollte aber immer überprüft werden, die zurückgegebenen Bildgrößen in der Ausgabe des Anwendungsfalls in Ihrem Code und passen Sie entsprechend anpassen.

Es wurden einige Änderungen an der Einstellung von Auflösungen und Seitenverhältnissen vorgenommen, um die API klarer zu gestalten:

  • Der Anwendungsfall der Vorschau hat jetzt ein Standardseitenverhältnis von 4:3, wenn keines festgelegt ist.
  • Wenn CameraX intern Änderungen an den angeforderten Auflösungen und Seitenverhältnissen berücksichtigt, die auf den Gerätefunktionen basieren, wird zuerst versucht, dasselbe Seitenverhältnis beizubehalten (durch einen der setTargetAspectRatio- oder setTargetResolution-Aufrufe).
  • Die Version „Nächste mod16“ der Auflösung wird als dasselbe Seitenverhältnis betrachtet.

Bildanalyse-Modus „Nicht blockieren“

  • Das Verhalten von ImageReaderMode.ACQUIRE_LATEST_IMAGE ist jetzt nicht mehr blockiert. Das neueste Bild in der Warteschlange wird übernommen, nicht verwendete Bilder werden jedoch kontinuierlich verworfen, damit die Kamera-Pipeline nicht blockiert wird.
  • Das Analysegerät kann ein einzelnes Bild auf unbestimmte Zeit speichern, ohne die Pipeline zu stoppen.
  • Wenn die Anwendung einen Executor bereitstellt, der dann blockiert, wird der Anwendungsfall „ImageAnalysis“ blockiert.
  • Der festgelegte Standard-Executor verhält sich intern wie ein nicht blockierender Executor.

Fehlerkorrekturen

  • Probleme mit Zeitüberschreitungen behoben, die auf eine 3A-Konvergenz warteten, wenn Bilder auf Geräten ohne Autofokus, automatische Belichtung und automatischen Weißabgleich aufgenommen wurden
  • Ein Problem wurde behoben, das beim schnellen Aufnehmen von Bildern mit ImageCapture auftrat. Fehler behoben: java.lang.IllegalStateException: maxImages (2) has already been acquired
  • Ein Problem wurde behoben, bei dem setLensFacing für einen Anwendungsfall nicht aufgerufen wurde, was zu java.lang.IllegalArgumentException: Unable to get camera ID for use case führte.
  • Ein Problem wurde behoben, durch das LEGACY-Gerät ein bestimmtes Seitenverhältnis als maximale JPEG-Auflösung erforderte.
  • Problem behoben, bei dem die App im Hintergrund ausgeführt wurde, während die Kamera geöffnet wurde
  • Es wurde ein Problem mit der API < behoben. 25, Fehler checkAndUpdateEglState: invalid current EGLDisplay wird entfernt
  • Ein Problem wurde behoben, bei dem die Bindung der Vorschau nach dem Aktivieren und Starten von Erweiterungen aufgehoben wurde.
  • Build-Artefakte für Kameraansicht und Kameraerweiterungen sind jetzt als Alphaversionen veröffentlicht

Kamera-Kamera2 und Kamerakern-Version 1.0.0-alpha03

2. Juli 2019

androidx.camera:camera-core:1.0.0-alpha03 und androidx.camera:camera-camera2:1.0.0-alpha03 wurden veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

API-Änderungen

  • Javadoc-Klarstellung für „target“ in setTarget-Konfigurationsaufrufen hinzugefügt

Kamerakern

  • Problem mit nicht konfiguriertem Absturz der Eingabe-/Ausgabeoberfläche beim schnellen Öffnen/Schließen oder beim Aufheben der Bindung behoben
  • Zu neuen Futures-Implementierungen wechseln
  • Fehlerkorrekturen für zuverlässigere Tests
  • Der Core-Integrationstest zeigt jetzt die Aufnahmezeit für Fotos an
  • Entwicklung einer internen Compat-Klasse für Executors
  • Timing-Test-App-Aufnahmebilder warten auf den Abschluss des vorherigen Vorgangs und verbesserte Stabilität

Erweiterungen

  • Versionierungsprüfungen hinzugefügt
  • Zusätzliche Testabdeckung – Callbacks für Erweiterungsereignisse
  • Verbesserungen an den intern entsprechenden Bild- und Metadaten
  • Fehlerkorrekturen beim Moduswechsel in der Test-App

Kamera-Kamera2 und Kamerakern-Version 1.0.0-alpha02

5. Juni 2019

androidx.camera:camera-core:1.0.0-alpha02 und androidx.camera:camera-camera2:1.0.0-alpha02 wurden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Das Problem "div durch null" bei Verwendung des Emulators wurde behoben.
  • Der Fehler "NullPointerException/Surface Abandoned" wurde behoben, der auf einigen Geräten auftrat, wenn in Anwendungsfällen schnell Fotos aufgenommen wurden, während die Bindung oder das erneute Verknüpfen schnell war.
  • Ein internes Problem wurde behoben, damit Aktualisierungen von Aufnahmeanfragen alle Oberflächen konsistent betreffen.
  • Stabilitätsverbesserungen beim Neustart von Anwendungsfällen in neuen App-Instanzen
  • Interne Architekturänderungen zur Vorbereitung auf die Unterstützung von Executors in der API
  • Zusätzliche Javadoc-Klarstellungen zur CameraX-Klasse und zur Verwaltung des Lebenszyklus
  • Instrumentierte Tests für die Antilope-Leistungstest-App hinzugefügt
  • „-keepattributes Signature“ nicht mehr erforderlich ProGuard-Konfiguration in der App

Camera-Camera2 und Camera-Core 1.0.0-alpha01

7. Mai 2019

androidx.camera:camera-core:1.0.0-alpha01 und androidx.camera:camera-camera2:1.0.0-alpha01 wurden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Kamera-Lebenszyklus-Version 1.0.0-beta11

14. Oktober 2020

androidx.camera:camera-lifecycle:1.0.0-beta11 wurde veröffentlicht. Version 1.0.0-beta11 enthält diese Commits.

Fehlerkorrekturen

  • <UseCase>.getTargetRotation() gibt Surface.ROTATION_0 zurück wenn vor dem Anhängen an eine Kamerainstanz aufgerufen wird, es sei denn, ein targetRotation wurde für den Builder oder den Anwendungsfall festgelegt. (I80fcd)

Kamera-Lebenszyklus Version 1.0.0-beta10

23. September 2020

androidx.camera:camera-lifecycle:1.0.0-beta10 wurde veröffentlicht. Version 1.0.0-beta10 enthält diese Commits.

Fehlerkorrekturen

Kamera-Lebenszyklus Version 1.0.0-beta09

16. September 2020

androidx.camera:camera-lifecycle:1.0.0-beta09 wurde veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.

Kamera-Lebenszyklus Version 1.0.0-beta08

19. August 2020

androidx.camera:camera-lifecycle:1.0.0-beta08 wurde veröffentlicht. Version 1.0.0-beta08 enthält diese Commits.

Fehlerkorrekturen

  • Die Initialisierung sollte nicht mehr abstürzen, wenn ein Kontext verwendet wird bei dem kein Anwendungsobjekt Context.getApplicationContext() (I3d3c9, b/160817073)

Kamera-Lebenszyklus Version 1.0.0-beta07

22. Juli 2020

androidx.camera:camera-lifecycle:1.0.0-beta07 wurde veröffentlicht. Version 1.0.0-beta07 enthält diese Commits.

Kamera-Lebenszyklus Version 1.0.0-beta06

24. Juni 2020

androidx.camera:camera-lifecycle:1.0.0-beta06 wurde veröffentlicht. Version 1.0.0-beta06 enthält diese Commits.

API-Änderungen

  • CameraX kann jetzt konfiguriert werden mit ProcessCameraProvider#configureInstance() vor dem Aufruf ProcessCameraProvider#getInstance() enthält. So können Sie die CameraXConfig ohne Implementierung von CameraXConfig.Provider in der App-Klasse ein. (Ia1a8d)

Kamera-Lebenszyklus Version 1.0.0-beta05

10. Juni 2020

androidx.camera:camera-lifecycle:1.0.0-beta05 wurde veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.

Fehlerkorrekturen

  • Der Absturz beim Starten der App bei der Initialisierung von CameraX bei aktiviertem „Nicht stören“-Modus des Smartphones wurde behoben. Ein InitializationException, das eine CameraUnavailableException enthält, wird auf die ListenableFuture des Initialisierungsergebnisses gesetzt, anstatt die Anwendung abzustürzen. (I9909a, b/149413835)

Kamera-Lebenszyklus Version 1.0.0-beta04

27. Mai 2020

androidx.camera:camera-lifecycle:1.0.0-beta04 wurde veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.

Kamera-Lebenszyklus Version 1.0.0-beta03

15. April 2020

androidx.camera:camera-lifecycle:1.0.0-beta03 wurde veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.

Fehlerkorrekturen

  • Regression von beta03 behoben, bei der das Aufrufen von bindToLifecycle() mit null UseCase-Werten eine ausgelöste Ausnahme verursachte. Dadurch konnte kein Camera abgerufen werden, ohne eine UseCase zu binden.
  • Korrekturen zur Unterstützung der Veröffentlichung von camera-core

Kamera-Lebenszyklus Version 1.0.0-beta01

26. Februar 2020

androidx.camera:camera-lifecycle:1.0.0-beta01 wurde veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.

Fehlerkorrekturen

  • Die Dokumentation wurde korrigiert, um zu beachten, dass beim Erhalt eines ProcessCameraProvider während der Initialisierung verwendet wird und die Erweiterung von Application optional ist. (I5e395)

Kamera-Lebenszyklus Version 1.0.0-beta02

1. April 2020

androidx.camera:camera-lifecycle:1.0.0-beta02 wurde veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.

Fehlerkorrekturen

  • Aktualisiert, um die Fehlerkorrekturen in den Artefakten camera-camera2:1.0.0-beta02 und camera-core:1.0.0-beta02 zu unterstützen.

Kamera-Lebenszyklus Version 1.0.0-alpha10

10. Februar 2020

androidx.camera:camera-lifecycle:1.0.0-alpha10 wurde veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

API-Änderungen

  • Die Anmerkung @MainThread wurde zu den Methoden BindToLifecycle, unbind und unbindAll hinzugefügt. (I990d2)

Kamera-Lebenszyklus Version 1.0.0-alpha03

22. Januar 2020

androidx.camera:camera-lifecycle:1.0.0-alpha03 wurde veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Updates

  • Verschiedene Fehlerkorrekturen und Updates zur Unterstützung von Camera Core und Änderungen an Kamera2.

Kamera-Lebenszyklus Version 1.0.0-alpha02

18. Dezember 2019

androidx.camera:camera-lifecycle:1.0.0-alpha02 wurde veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Abhängigkeitsänderungen

  • Aktualisiert, um androidx.camera:camera-core:1.0.0-alpha08 zu verwenden.

Kamera-Lebenszyklus Version 1.0.0-alpha01

4. Dezember 2019

androidx.camera:camera-lifecycle:1.0.0-alpha01 wurde veröffentlicht. Version 1.0.0-alpha01 des Kameralebenszyklus enthält diese Commits

API-Hinweise

  • Das Kamera-Lebenszyklus-Artefakt wird hinzugefügt und stellt die LifeCycleCameraProvider-Schnittstelle und eine Implementierung namens ProcessCameraProvider bereit, die viele der Funktionen der vorherigen CameraX-Klasse im Kern bietet und über eine getInstance()-Methode abgerufen wird.
  • Damit Sie CameraX verwenden können, müssen Apps die Lebenszyklusbibliothek für die Kamera enthalten.
  • Informationen zur Initialisierung von CameraX mit einem ProcessCameraProvider findest du im Abschnitt Kamerakern.

Kamera-Erweiterungen und Kamera-Ansicht Version 1.0.0

Version 1.0.0-alpha32

15. Dezember 2021

androidx.camera:camera-extensions:1.0.0-alpha32 und androidx.camera:camera-view:1.0.0-alpha32 wurden veröffentlicht. Version 1.0.0-alpha32 enthält diese Commits.

API-Änderungen

  • Unnötige @RequiresApi(21)-Annotationen wurden aus den inneren Klassen/Schnittstellen entfernt. (I8e286, b/204917951)
  • API-Dateien für Kameraerweiterungsartefakt aktualisieren (If683a, b/161377155)

Fehlerkorrekturen

  • App nicht erlauben, bei der Bindung von VideoCapture Erweiterungsmodi zu aktivieren. CameraX-Erweiterungen unterstützen nur ImageCapture und Preview. VideoCapture wird noch nicht unterstützt. Wenn die App VideoCapture bindet und einen beliebigen Erweiterungsmodus aktiviert, wird ein IllegalArgumentException ausgelöst. (I0d87b)
  • CameraSelector#filter gibt keinen IllegalArgumentException mehr aus, wenn die Ergebnismenge leer ist. (I27804)
  • Die ExtensionsManager#getInstance API wurde in getInstanceAsync umbenannt, weil sie ListenableFuture zurückgibt. Das asynchrone Suffix des Funktionsnamens kann eindeutig darauf hinweisen, dass es sich um eine asynchrone Funktion handelt. (I279d2)
  • Entfernen Sie den Auflösungsparameter aus der ExtensionsManager#getEstimatedCaptureLatencyRange API, da Nutzer nicht wissen, welche Größen für den Anwendungsfall ImageCapture unterstützt werden und nicht unterscheiden können, ob die zurückgegebenen Latenzinformationen der maximalen Ausgabegröße für die Erfassung oder dem Parameter der Eingabeauflösung entsprechen. (I74bb2)
  • Verschieben Sie den Parameter CameraProvider von ExtensionsManager-Funktionen in die getInstance() API. So müssen Nutzer den CameraProvider-Parameter nicht jedes Mal eingeben, wenn die ExtensionsManager-Funktionen aufgerufen werden. (Ic7e48)

Version 1.0.0-alpha31

17. November 2021

androidx.camera:camera-extensions:1.0.0-alpha31 und androidx.camera:camera-view:1.0.0-alpha31 wurden veröffentlicht. Version 1.0.0-alpha31 enthält diese Commits.

API-Änderungen

  • CameraSelector#filter wurde zur öffentlichen API hinzugefügt, um eine Liste mit CameraInfos basierend auf einem CameraSelector zu filtern. (I105d0)

Fehlerkorrekturen

  • Ein Absturz wurde behoben, der auf bestimmten Geräten beim schnellen Wechsel des Erweiterungsmodus aufgetreten ist. (Iebbef)

Version 1.0.0-alpha30

13. Oktober 2021

androidx.camera:camera-extensions:1.0.0-alpha30 und androidx.camera:camera-view:1.0.0-alpha30 wurden veröffentlicht. Version 1.0.0-alpha30 enthält diese Commits.

API-Änderungen

  • Annotation @RequiredsApi(21) wurde allen CameraX-Klassen hinzugefügt und "minSdkVersion" aus der Datei "AndroidManifest.xml" gelöscht. Dadurch können Sie Kamerakern zur einfachen Integration in Anwendungen mit minSdkVersion ist kleiner als 21, Sie möchten aber Codepfade bedingt verwenden. die API 21 und höher benötigen. Für jede Anwendung mit minSdkVersion 21 oder höher verwenden, ist bei dieser Änderung keine Maßnahme erforderlich. (Ie7f2e, b/200599470)

Fehlerkorrekturen

  • Das Problem "Abstrakte Methode", das bei aktiviertem Proguard auftritt, wurde behoben. (Iae468, b/201177844)

Version 1.0.0-alpha29

29. September 2021

androidx.camera:camera-extensions:1.0.0-alpha29 und androidx.camera:camera-view:1.0.0-alpha29 wurden veröffentlicht. Version 1.0.0-alpha29 enthält diese Commits.

API-Änderungen

  • Die Anmerkung „ExperimentalUseCaseGroup“ wurde entfernt, da die APIs nicht mehr experimentell sind. (I01ef5)
  • RotationProvider#removeAllListeners() entfernen. Bitte verwende stattdessen „RotationProvider#removeListener(...)“. (Id9d4a)
  • Die RotationReceiver-Klasse wurde aktualisiert: Der Listener "set/clear" wurde in "add/remove/removeAll" geändert, die Variante "setListener", die standardmäßig den Hauptthread verwendet, und eine Anmerkung mit Methoden hinzugefügt. (Ib1669)

Fehlerkorrekturen

  • ExtensionMode#BEAUTY wurde in FACE_RETOUCH umbenannt, damit die vom Erweiterungsmodus ausgeführten Aktionen korrekt dargestellt werden. (I61f54, b/198515274)
  • Das Problem, dass die Kamera unerwartet geschlossen wurde, wenn mehrere CameraController und PreviewView in einer Aktivität verwendet wurden, wurde behoben. (Ibfd18, b/197539358)

Version 1.0.0-alpha28

18. August 2021

androidx.camera:camera-extensions:1.0.0-alpha28 und androidx.camera:camera-view:1.0.0-alpha28 wurden veröffentlicht. Version 1.0.0-alpha28 enthält diese Commits.

API-Änderungen

  • Die Annotation ExperimentalUseCaseGroupLifecycle wurde entfernt, da die APIs nicht mehr experimentell sind. (I17b85)
  • RotationListener refaktoriert und in RotationProvider umbenannt. Sie bietet weiterhin die gleiche Funktion mit einer etwas anderen API. (Idffc5)
  • Benennen Sie TAP_TO_FOCUS_UNSUCCESSFUL in TAP_TO_FOCUS_NOT_FOCused und TAP_TO_FOCUS_SUCCESSFUL in TAP_TO_FOCUS_FOCused um. OutputSize finalisiert (I099fa)

Fehlerkorrekturen

  • Die eingestellten <EffectName><UseCase>Extender-Klassen, das ExtensionsErrorListener und die zugehörigen ExtensionsManager APIs wurden entfernt. (I3b8c3)

Version 1.0.0-alpha27

21. Juli 2021

androidx.camera:camera-extensions:1.0.0-alpha27 und androidx.camera:camera-view:1.0.0-alpha27 wurden veröffentlicht. Version 1.0.0-alpha27 enthält diese Commits.

API-Änderungen

  • Die Darstellungsbereich-API wurde aus dem experimentellen Bereich hochgestuft. Entfernen Sie die experimentelle Annotation der API. (I717ea)
  • CoordinateTransform#getTransform wurde in CoordinateTransform#transform umbenannt und JavaDoc (I864ae) aktualisiert

Fehlerkorrekturen

  • Das Problem mit der Streckung des PreviewView PERFORMANCE-Modus bei gleichzeitiger Verwendung mit der Editor-UI wurde behoben. (Ie1137, b/183864890)

Version 1.0.0-alpha26

30. Juni 2021

androidx.camera:camera-extensions:1.0.0-alpha26 und androidx.camera:camera-view:1.0.0-alpha26 wurden veröffentlicht. Version 1.0.0-alpha26 enthält diese Commits.

API-Änderungen

  • Fügen Sie die neue Methode CameraController#getTapToFocusState() hinzu, die das letzte Tippen-zu-Fokus-Ergebnis anzeigt. (Iaccb0)
  • Hinzufügen weiterer Kamera-Kernfunktionen zu CameraController: Getter/Setter für Zielseitenverhältnis, Zielauflösung, Erfassungsmodus, CameraControl und benutzerdefinierte Executors. (Iea8f2)
  • Fügen Sie eine RotationReceiver-Klasse hinzu, die die Rotationsänderungen der Oberfläche empfängt. Damit kann die Zieldrehung festgelegt werden, wenn sich das Gerät im festen Hoch-/Querformat befindet. (Ib278f)
  • In der ExtensionsManager-Klasse wurden neue öffentliche APIs mit dem Wert „getestimatedCapture zusätzlicheRange“ angezeigt. (I6a8ec)
  • Eingestellter ExtensionsErrorListener. Derzeit wird diese Oberfläche nur verwendet, um beim Aktivieren der Erweiterungsmodi zu überwachen, ob eine Vorschau oder ImageCapture fehlt. CameraX fügt automatisch eine zusätzliche Vorschau oder ImageCapture hinzu, damit die Erweiterungsfunktionen gut funktionieren. Danach werden keine Fehler mehr über diese Schnittstelle gemeldet. (I47d9e)
  • Offengelegte neue öffentliche ExtensionsManager getInstance, isExtensionAvailable und getExtensionEnabledCameraSelector sowie eingestellte alte <EffectName><UseCase>Extender-Klassen und zugehörige APIs. (I329e6)

Version 1.0.0-alpha25

2. Juni 2021

androidx.camera:camera-extensions:1.0.0-alpha25 und androidx.camera:camera-view:1.0.0-alpha25 wurden veröffentlicht. Version 1.0.0-alpha25 enthält diese Commits.

API-Änderungen

  • ExperimentalCameraFilter APIs sind jetzt nicht mehr experimentell und zu formellen APIs werden. Sie können ohne Opt-in-Hinweise verwendet werden. (I4bc94)
  • Ein Dienstprogramm hinzufügen, das Koordinaten zwischen Anwendungsfällen transformiert. Anwendungsbeispiel: Umwandlung der im ImageAnalysis-Anwendung erkannten Koordinaten und Hervorheben des erkannten Objekts in der Vorschau. (I63ab1, b/137515129)
  • CameraView wurde entfernt. CameraView wurde durch CameraController ersetzt. Weitere Informationen zur Migration finden Sie in der Migrationsanleitung: (ID5005)

Fehlerkorrekturen

  • "ExperimentalUseCaseGroupLifecycle" wurde ersetzt durch ExperimentalUseCaseGroup. (I3b2ef, b/159033688)

Version 1.0.0-alpha24

21. April 2021

androidx.camera:camera-extensions:1.0.0-alpha24 und androidx.camera:camera-view:1.0.0-alpha24 wurden veröffentlicht. Version 1.0.0-alpha24 enthält diese Commits.

Fehlerkorrekturen

  • Die Annotation @Experimental durch @RequiresOptIn wurde in experimentelle APIs ersetzt. Verwenden Sie zum Aufrufen experimenteller APIs androidx.annotation.OptIn anstelle der verworfenen androidx.annotation.experimental.UseExperimental. (Iff226)
  • Das Problem mit der gestreckten Vorschauansicht auf dem Samsung J5 Prime (Ib10b6) wurde behoben.

Kameraerweiterungen und Version 1.0.0-alpha23 ansehen

24. März 2021

androidx.camera:camera-extensions:1.0.0-alpha23 und androidx.camera:camera-view:1.0.0-alpha23 wurden veröffentlicht. Version 1.0.0-alpha23 enthält diese Commits.

API-Änderungen

  • CameraView wird nicht mehr unterstützt. Bitte verwende stattdessen „LifecycleCameraController“. Weitere Informationen finden Sie im Migrationsleitfaden (Idac2c).
  • Die Annotation FloatRange wurde zu setLinearZoom() hinzugefügt (I69971).

Fehlerkorrekturen

  • Die Abhängigkeiten der Kameraansicht wurden so angepinnt, dass sie auf 1.0.0-Artefakten basieren. Abhängig von der Kameraansicht führt nicht mehr zur Abhängigkeit von Gradle. um den Kamerakern, die Kamera-Kamera2 und Kamera-Lebenszyklus auf die neuesten Artefakte in Version 1.1.0 aktualisiert, obwohl der Kamerablick sind immer noch mit diesen Artefakten kompatibel, wenn sie explizit auf die Verwendung von 1.1.0 (Ic8fa1, b/181599852)
  • Behebung eines Fehlers bei der gestreckten Vorschau auf dem Samsung A3 in PreviewView. (Iacb30, b/180121821)
  • Das Problem, dass die Kameraauswahl vor dem Initialisieren der Kamera nicht festgelegt werden kann, wurde behoben. (Ic8bd0)

Kameraerweiterungen und Version 1.0.0-alpha22 ansehen

24. Februar 2021

androidx.camera:camera-extensions:1.0.0-alpha22 und androidx.camera:camera-view:1.0.0-alpha22 wurden veröffentlicht. Version 1.0.0-alpha22 enthält diese Commits.

API-Änderungen

Fehlerkorrekturen

  • Der ExtensionsErrorListener, der Fehler meldete, wenn nur Vorschau oder ImageCapture gebunden waren, wurde behoben. (I5ae39)

Kameraerweiterungen und Version 1.0.0-alpha21 ansehen

27. Januar 2021

androidx.camera:camera-extensions:1.0.0-alpha21 und androidx.camera:camera-view:1.0.0-alpha21 wurden veröffentlicht. Version 1.0.0-alpha21 enthält diese Commits.

Wird zur Unterstützung anderer Artefakte der Kamerabibliothek freigegeben.

Kameraerweiterungen und Version 1.0.0-alpha20 ansehen

16. Dezember 2020

androidx.camera:camera-extensions:1.0.0-alpha20 und androidx.camera:camera-view:1.0.0-alpha20 wurden veröffentlicht. Version 1.0.0-alpha20 enthält diese Commits.

Wird zur Unterstützung anderer Artefakte der Kamerabibliothek freigegeben.

Kameraerweiterungen und Camera-View Version 1.0.0-alpha19

11. November 2020

androidx.camera:camera-extensions:1.0.0-alpha19 und androidx.camera:camera-view:1.0.0-alpha19 wurden veröffentlicht. Version 1.0.0-alpha19 enthält diese Commits.

Fehlerkorrekturen

  • Die Anmerkung @ExperimentalVideo wurde für die Kameraansicht eingeführt. Mit dieser Anmerkung werden APIs markiert, die experimentelle Videofunktionen bereitstellen. Diese kann sich im Laufe der Zeit noch ändern. Beliebig Für diese APIs sollte die Annotation @UseExperimental verwendet werden. mit ExperimentalVideo als markerClass. (I6d729)

Kameraerweiterungen Version 1.0.0-alpha18

14. Oktober 2020

androidx.camera:camera-extensions:1.0.0-alpha18 wurde veröffentlicht. Version 1.0.0-alpha18 enthält diese Commits.

Fehlerkorrekturen

  • Die Latenz bei der Initialisierung von CameraX und bindToLifecycle (I61dc5)
  • <UseCase>.getTargetRotation() gibt Surface.ROTATION_0 zurück wenn vor dem Anhängen an eine Kamerainstanz aufgerufen wird, es sei denn, ein targetRotation wurde für den Builder oder den Anwendungsfall festgelegt. (I80fcd)

Camera-View Version 1.0.0-alpha18

14. Oktober 2020

androidx.camera:camera-view:1.0.0-alpha18 wurde veröffentlicht. Version 1.0.0-alpha18 enthält diese Commits.

Wird zur Unterstützung anderer Artefakte der Kamerabibliothek freigegeben.

Kameraerweiterungen Version 1.0.0-alpha17

23. September 2020

androidx.camera:camera-extensions:1.0.0-alpha17 wurde veröffentlicht. Version 1.0.0-alpha17 enthält diese Commits.

Fehlerkorrekturen

Camera-View Version 1.0.0-alpha17

23. September 2020

androidx.camera:camera-view:1.0.0-alpha17 wurde veröffentlicht. Version 1.0.0-alpha17 enthält diese Commits.

Fehlerkorrekturen

Kameraerweiterungen Version 1.0.0-alpha16

16. September 2020

androidx.camera:camera-extensions:1.0.0-alpha16 wurde veröffentlicht. Version 1.0.0-alpha16 enthält diese Commits.

Fehlerkorrekturen

  • Methode zum Abrufen eines Extensions-Objekts in ExtensionsManager hinzugefügt zum Aktivieren und Abfragen von Erweiterungen auf Kamerainstanzen (I4fb7e)

Camera-View Version 1.0.0-alpha16

16. September 2020

androidx.camera:camera-view:1.0.0-alpha16 wurde veröffentlicht. Version 1.0.0-alpha16 enthält diese Commits.

API-Änderungen

  • PreviewView#setDeviceRotationForRemoteDisplayMode() und PreviewView#getDeviceRotationForRemoteDisplayMode() wurden entfernt. Die beiden Methoden dienen zum Anpassen der Vorschau-Rotation, wenn die gewünschte Rotation nicht die Display-Rotation ist, z.B. Remote-Display. Um die Rotation der Vorschau, die sich nicht im Displaynetzwerk befindet, jetzt zu verarbeiten, legen Sie die gewünschte Rotation mit Preview#setTargetRotation() und dem neu hinzugefügten PreviewView#getViewPort(targetRotation) fest. (Ib62cc)
  • createSurfaceProvider() wurde in getSurfaceProvider() umbenannt. Die Methode gibt immer dieselbe Instanz von Preview.SurfaceProvider zurück. (Iff83c)

Fehlerkorrekturen

  • PreviewView wurde gezwungen, TextureView zu verwenden, wenn der Erweiterungseffekt aktiviert ist und die Implementierung der Anbieterbibliothek einen speziellen Prozess auf der Ausgabeoberfläche ausführen muss. (I0c3cc)
  • Beliebige Zielrotation für die Vorabversion zulassen. Die Transformationsinformationen werden berechnet und spontan über einen neuen TranformationInfoListener-Callback an den Nutzer zurückgegeben. (I21470)

Bekannte Probleme

  • In PreviewView wird OnClickListener#onClick() nicht aufgerufen, wenn der Endnutzer auf „PreviewView“ klickt. Das Touch-Ereignis wird versehentlich von PreviewView#onTouchEvent() verarbeitet. Das Problem wird in der nächsten Version behoben.
  • Der von PreviewView#getMeteringPointFactory() abgerufene MeteringPoint ist möglicherweise falsch, wenn ViewPort mit PreviewView verwendet wird.

Kameraerweiterungen Version 1.0.0-alpha15

19. August 2020

androidx.camera:camera-extensions:1.0.0-alpha15 wurde veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.

Fehlerkorrekturen

  • Die Methode ExtensionsManager.init() übernimmt jetzt Kontext als Parameter anstelle von 0 Argumenten. (Ife754)
  • Die Initialisierung sollte nicht mehr abstürzen, wenn ein Kontext verwendet wird das kein Anwendungsobjekt aus Context.getApplicationContext() zurückgibt. (I3d3c9, b/160817073)

    Camera-View Version 1.0.0-alpha15

    19. August 2020

androidx.camera:camera-view:1.0.0-alpha15 wurde veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.

Fehlerkorrekturen

  • DisplayOrientedMeteringPointFactory nimmt in einer CameraInfo auf anstelle von CameraSelector, sodass eine direkte Zuordnung zu für welche Kamera die Fabrik Punkte generiert. Alle Kurse mit DisplayOrientedMeteringPointFactory nehmen auch CameraInfo anstelle von CameraSelector. (I400c1)
  • TextureViewMeteringPointFactory wurde entfernt. PreviewView bietet eine öffentliche API (createMeteringPointFactory()) zum Erstellen einer Messpunkt-Factory, unabhängig davon, ob TextureView oder SurfaceView verwendet wird. (Ide693)
  • Benennen Sie die Implementierungsmodi von PreviewView für SURFACE_VIEW/TEXTURE_VIEW in PERFORMANCE/COMPATIBLE um. PERFORMANCE ist der alte SURFACE_VIEW-Modus und COMPATIBLE ist der alte TEXTURE_VIEW-Modus. (I0edc2)
  • Überschreibe für die Bildaufnahme das Flag „Horizontal spiegeln“ in den Metadaten je nach Kamerarichtung. (I28499)

Kameraerweiterungen Version 1.0.0-alpha14

22. Juli 2020

androidx.camera:camera-extensions:1.0.0-alpha14 wurde veröffentlicht. Version 1.0.0-alpha14 enthält diese Commits.

Camera-View Version 1.0.0-alpha14

22. Juli 2020

androidx.camera:camera-view:1.0.0-alpha14 wurde veröffentlicht. Version 1.0.0-alpha14 enthält diese Commits.

Kameraerweiterungen Version 1.0.0-alpha13

24. Juni 2020

androidx.camera:camera-extensions:1.0.0-alpha13 wurde veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.

Fehlerkorrekturen

  • Experimentelle Benutzeroberflächen zum Filtern von Kameras nach Kamera hinzugefügt ID und CameraCharacteristics. (I28f61)

Camera-View Version 1.0.0-alpha13

24. Juni 2020

androidx.camera:camera-view:1.0.0-alpha13 wurde veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.

Fehlerkorrekturen

  • CameraView stürzt nicht mehr mit Ausnahme der Ausnahme ab. bei Bindung an einen LifecycleOwner, dessen Lebenszyklus in einen DESTROYED übergeht kurz nachdem sie gebunden wurde. Bindungszyklen im Status DESTROYED versucht nicht, die Kamera zu öffnen. (I7c2b8)
  • PreviewView StreamState ist jetzt verfügbar über CameraView.getPreviewStreamState() (I21a2b)

Kameraerweiterungen Version 1.0.0-alpha12

10. Juni 2020

androidx.camera:camera-extensions:1.0.0-alpha12 wurde veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.

Fehlerkorrekturen

  • Der Absturz beim Starten der App bei der Initialisierung von CameraX bei aktiviertem „Nicht stören“-Modus des Smartphones wurde behoben. Ein InitializationException, das eine CameraUnavailableException enthält, wird auf die ListenableFuture des Initialisierungsergebnisses gesetzt, anstatt die Anwendung abzustürzen. (I9909a, b/149413835)

Camera-View Version 1.0.0-alpha12

10. Juni 2020

androidx.camera:camera-view:1.0.0-alpha12 wurde veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.

Fehlerkorrekturen

  • Fügen Sie die PreviewView#getBitmap() API hinzu, die eine Bitmap-Darstellung der auf der Vorschauoberfläche angezeigten Inhalte zurückgibt. (I9b500, b/157659818)

Kameraerweiterungen Version 1.0.0-alpha11

27. Mai 2020

androidx.camera:camera-extensions:1.0.0-alpha11 wurde veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.

Camera-View Version 1.0.0-alpha12

10. Juni 2020

androidx.camera:camera-view:1.0.0-alpha12 wurde veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.

Neue Funktionen

API-Änderungen

Fehlerkorrekturen

  • Fügen Sie die PreviewView#getBitmap() API hinzu, die eine Bitmapdarstellung der auf der Vorschauoberfläche angezeigten Inhalte zurückgibt. (I9b500, b/157659818)

Camera-View Version 1.0.0-alpha11

27. Mai 2020

androidx.camera:camera-view:1.0.0-alpha11 wurde veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.

API-Änderungen

  • PreviewView#getPreviewStreamState API hinzufügen, die können Apps feststellen, ob die Vorschau gestreamt wird. Wann? wenn sich die PreviewView im TEXTURE_VIEW-Modus befindet, der STREAMING-Status dass das Vorschaubild sichtbar ist. (IC0906, b/154652477)
  • Die PreviewView#setDeviceRotationForRemoteDisplayMode() API wurde hinzugefügt, um die Geräterotation für Transformationsberechnungen zu ermöglichen, wenn die App im Remote-Anzeigemodus ausgeführt wird. (I59b95, b/153514525)

Fehlerkorrekturen

  • Das Problem mit der Verzerrung der Vorschau bei FULL/LIMITED/LEVEL_3-Kameras mit Android 7.0 und niedriger wurde behoben. Bei Android 7.0 oder niedriger wird der Modus ImplementationMode#TEXTURE_VIEW erzwungen. (I83e30, b/155085307)
  • Der CameraInfo-Parameter wurde aus PreviewView#createSurfaceProvider() entfernt. PreviewView ruft ihn jetzt intern von SurfaceRequest ab. (If18f0, b/154652477)
  • Das Standardseitenverhältnis von VideoCapture wurde in CameraView auf 16:9 geändert. (Ie6a7b, b/153237864)
  • PreviewView Probleme mit schwarzem Bildschirm wurden behoben, wenn das Preview-Fragment weggewischt und dann in ViewPager2 zurückgewischt wurde. Außerdem wurde das Problem behoben, wenn removeView(previewview) und dann addView(previewView). (Iab555, b/149877652, b/147354615)
  • Aktualisieren Sie die CameraView#takePicture() API, damit Bilder in Uri und OutputStream gespeichert werden können. Aktualisieren Sie die Test-App, um Uri als kanonisches Beispiel zu verwenden. (Ia2459, b/153607583)
  • Sie können den Skalierungstyp von PreviewView über ein XML-Layout festlegen, indem Sie das Attribut ScaleType festlegen. (I08565, b/153015659)
  • CameraView.ScaleType wurde entfernt. Verwende stattdessen PreviewView.ScaleType, um mit CameraView einen Skalierungstyp festzulegen oder abzurufen. (Ia8974, b/153014831)
  • Legen Sie für PreviewView standardmäßig eine Hintergrundfarbe fest, wenn noch keine vorhanden ist. Dadurch wird verhindert, dass die dahinter liegenden Inhalte vor Beginn des Vorschaustreams sichtbar sind. (I09fad)

Kameraerweiterungen Version 1.0.0-alpha10

15. April 2020

androidx.camera:camera-extensions:1.0.0-alpha10 wurde veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

Fehlerkorrekturen

  • Fehlerkorrekturen für die Einführung von Camera-Core

Camera-View Version 1.0.0-alpha10

15. April 2020

androidx.camera:camera-view:1.0.0-alpha010 wurde veröffentlicht. Version 1.0.0-alpha010 enthält diese Commits.

Fehlerkorrekturen

  • Ein bekanntes Problem wurde behoben, bei dem die „SurfaceView“-Implementierung von PreviewView auf bestimmten Geräten nicht richtig funktioniert hat und die App nach dem Fortsetzen der Vorschau abstürzte. (I5ed6b)

Kameraerweiterungen Version 1.0.0-alpha09

1. April 2020

androidx.camera:camera-extensions:1.0.0-alpha09 wurde veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

Fehlerkorrekturen

  • Aktualisiert, um die Fehlerkorrekturen in den Artefakten camera-camera2:1.0.0-beta02, camera-core:1.0.0-beta02 und camera-lifecycle:1.0.0-beta02 zu unterstützen

Camera-View Version 1.0.0-alpha09

1. April 2020 androidx.camera:camera-view:1.0.0-alpha09 wurde veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

Bekannte Probleme

  • Die Verwendung von ImplementationMode.SURFACE_VIEW mit PreviewView funktioniert auf bestimmten Geräten möglicherweise nicht richtig. Das liegt daran, dass die Oberfläche des für die Vorschau verwendeten SurfaceView-Objekts ungültig wird, wenn der Lebenszyklus des Fensters, in dem es sich befindet, beendet wird. Wenn die Kamera neu gestartet wird, wird sie wieder geöffnet und die Vorschau wird möglicherweise fortgesetzt, bevor die Oberfläche von SurfaceView wieder gültig ist. Vorerst sollten Sie ImplementationMode.TEXTURE_VIEW verwenden.

API-Änderungen

  • PreviewView.setImplementationMode() wurde in PreviewView.setPreferredImplementationMode() umbenannt.
  • PreviewView.getImplementationMode() wurde in PreviewView.getPreferredImplementationMode() umbenannt.
  • PreviewView.getSurfaceProvider() wurde durch PreviewView.createSurfaceProvider(CameraInfo) ersetzt. Dabei wird nach Möglichkeit eine CameraInfo-Instanz verwendet, für die Nullwerte zulässig sind, um die Vorschau mithilfe von ImplementationMode.SURFACE_VIEW zu optimieren. Wenn eine Null-Instanz übergeben oder der bevorzugte Implementierungsmodus auf ImplementationMode.TEXTURE_VIEW festgelegt wird, wird ImplementationMode.TEXTURE_VIEW intern verwendet.
  • Das folgende Codebeispiel zeigt, wie bisher ein Vorschau-Anwendungsfall mit PreviewView verwendet wurde.

    preview.setSurfaceProvider(previewView.previewSurfaceProvider)
    cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    

    Derzeit können Sie Folgendes schreiben:

    val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW
    preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
    
  • Die Annotation @UiThread wurde zu PreviewView.getSurfaceProvider() hinzugefügt, d. h. sie muss aus dem Hauptthread aufgerufen werden. (I192f3)

  • PreviewView.setScaleType() wurde hinzugefügt, mit dem der Skalierungstyp der Vorschau festgelegt werden kann. Akzeptiert einen der Werte in PreviewView.ScaleType und wird standardmäßig auf PreviewView.ScaleType.FILL_CENTER gesetzt.

  • PreviewView.getScaleType() wurde hinzugefügt.

  • Die Unterstützung für das Festlegen des Implementierungsmodus für PreviewView in einem XML-Layout mithilfe des Attributs implementationMode wurde entfernt.

  • Fügen Sie PreviewView die createMeteringPointFactory() API hinzu, um die Konvertierung von (x, y) in PreviewView in MeteringPoint zu unterstützen. (Ib36d7)

Fehlerkorrekturen

  • Das Problem, dass nach der Größenänderung von PreviewView eine inkorrekte Vorschau angezeigt wurde, wurde behoben. (I71101)

Kameraerweiterungen Version 1.0.0-alpha08

26. Februar 2020

androidx.camera:camera-extensions:1.0.0-alpha08 wurde veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Camera-View Version 1.0.0-alpha08

26. Februar 2020

androidx.camera:camera-view:1.0.0-alpha08 wurde veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Fehlerkorrekturen

  • Ersetzt: ListenableFuture auf SurfaceRequest.provideSurface() mit Executor und Callback. Dieses vereinfacht die API, da die Verarbeitung von Ausnahmen in provideSurface() und erzwingt, dass der provideSurface()-Callback nicht zulässig ist storniert werden. Dadurch werden Abstürze auf älteren Geräten verhindert, die durch folgende Ursachen verursacht werden: und dabei, Oberflächen zu früh zu lösen. Das SurfaceRequest.Result-Objekt wird jetzt um zu verfolgen, wie eine SurfaceRequest die bereitgestellte Surface verwendet. (I7854b)
  • SurfaceRequest.setSurface(Surface) wurde umbenannt in SurfaceRequest.provideSurface(Surface) und SurfaceRequest.setWillNotComplete() bis SurfaceRequest.willNotProvideSurface(). (I224fe)
  • Die Initialisierung von App-Varianten mit aktiviertem ProGuard wurde korrigiert, indem die Flag, das den Standardanbieter CameraXConfig festlegt. (I2d6c1)

Kamera-Erweiterungen Version 1.0.0-alpha07

10. Februar 2020

androidx.camera:camera-extensions:1.0.0-alpha07 wurde veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

Fehlerkorrekturen

  • Die Argumente, die zuvor in ImageCapture.OnImageSavedCallback.onError() und ImageCapture.OnImageCapturedCallback.onError() übergeben wurden, wurden jetzt durch ein einziges Argument ImageCaptureException ersetzt, das weiterhin alle zuvor übergebenen Informationen enthält.
  • Das zuvor an ImageCapture.OnImageSavedCallback.onImageSaved() übergebene Dateiargument wurde entfernt. (I750d2)

Camera-View Version 1.0.0-alpha07

10. Februar 2020

androidx.camera:camera-view:1.0.0-alpha07 wurde veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

API-Änderungen

  • Die TextureView-Implementierung von PreviewView legt die Größe von TextureView jetzt auf die Ausgabegröße des Kamerasensors fest, bevor sie für das übergeordnete Element PreviewView skaliert wird. Wenn die Kameravorschau einen ganzen Teil der Benutzeroberfläche ausfüllen soll (z. B. den gesamten Bildschirm), solltest du die Größe von PreviewView nicht auf einen festen Wert festlegen oder den Inhalt umbrechen (z. B. mit dem Attribut „wrap_content“). Dies kann dazu führen, dass die Kameravorschau nur einen Teil des PreviewView ausfüllt, wenn die Ausgabegröße des Kamerasensors kleiner ist. Stattdessen sollten Sie das PreviewView auf die Größe des übergeordneten Elements festlegen, z. B. mithilfe des Attributs „match_parent“. (1204869)

Fehlerkorrekturen

  • ImageCapture wurde aktualisiert, damit Bilder in Uri und OutputStream gespeichert werden können. Die überlasteten takePicture-Methoden wurden zu einer zusammengefasst. Die Test-App wurde aktualisiert, sodass Uri als kanonisches Beispiel verwendet wird. (Ia3bec)
  • Preview.PreviewSurfaceProvider wurde in Preview.SurfaceProvider umbenannt. Für SurfaceProvider müssen Entwickler keine eigenen ListenableFuture mehr erstellen. Die Angabe einer Surface erfolgt jetzt über ein neues SurfaceRequest-Objekt. Die Methode Preview.getPreviewSurfaceProvider() wurde entfernt, da sie möglicherweise missbräuchlich verwendet wird, wenn Preview mit anderen Klassen wie PreviewView gekoppelt ist. (I20105)
  • Die Argumente, die zuvor in ImageCapture.OnImageSavedCallback.onError() und ImageCapture.OnImageCapturedCallback.onError() übergeben wurden, wurden jetzt durch ein einziges Argument ImageCaptureException ersetzt, das weiterhin alle zuvor übergebenen Informationen enthält.
  • Das zuvor an ImageCapture.OnImageSavedCallback.onImageSaved() übergebene Dateiargument wurde entfernt. (I750d2)
  • Die API wurde aktualisiert, wobei die Methoden getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() und getLinearZoom() der CameraInfo-Zusammenführung mit getZoomState() zusammengeführt werden, wodurch eine ZoomState-Instanz zurückgegeben wird. (Ib19fe)

Kameraerweiterungen Version 1.0.0-alpha06

22. Januar 2020

androidx.camera:camera-extensions:1.0.0-alpha06 wurde veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

Updates

  • Verschiedene Fehlerkorrekturen und Updates zur Unterstützung von Camera Core und Änderungen an Kamera2.

Camera-View Version 1.0.0-alpha06

22. Januar 2020

androidx.camera:camera-view:1.0.0-alpha06 wurde veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

Updates

  • Verschiedene Fehlerkorrekturen und Updates zur Unterstützung von Camera Core und Änderungen an Kamera2.

Kamera-Erweiterungen Version 1.0.0-alpha05

18. Dezember 2019

androidx.camera:camera-extensions:1.0.0-alpha05 wurde veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Fehlerkorrekturen

  • Aktualisiert, um den internen Camera Core APIs zu entsprechen.

Camera-View Version 1.0.0-alpha05

18. Dezember 2019

androidx.camera:camera-view:1.0.0-alpha05 wurde veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Bekannte Probleme

  • Wenn Sie PreviewView verwenden, ist das Seitenverhältnis möglicherweise nicht korrekt (b/146215202).

Neue Funktionen

  • Implementierung einer neuen Klasse mit dem Namen PreviewView.TextureViewImplementation, die den Lebenszyklus von SurfaceTexture mit der Kameranutzung der TextureView-Oberfläche synchronisiert.

Kameraerweiterungen Version 1.0.0-alpha04

4. Dezember 2019

androidx.camera:camera-extensions:1.0.0-alpha04 wurde veröffentlicht. Version 1.0.0-alpha04 der Kameraerweiterungen enthält diese Commits

API-Änderungen

  • Für die Prüfung der Verfügbarkeit und Aktivierung einer Erweiterung wird jetzt ein CameraSelector als Eingabeparameter verwendet. Dabei muss es sich um dieselbe CameraSelector handeln, die zum Binden des Anwendungsfalls verwendet wird.

    val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
    val builder = ImageCapture.Builder()
    val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder)
    if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) {
        bokehImageCaptureExtender.enableExtension(cameraSelector)
    }
    val imageCapture = builder.build()
    mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
    
  • Sie müssen Erweiterungen initialisieren, bevor Sie die Erweiterungsbibliothek verwenden können.

    val availability = ExtensionsManager.init()
    Futures.addCallback<ExtensionsManager.ExtensionsAvailability>(
       availability,
       object : FutureCallback<ExtensionsManager.ExtensionsAvailability> {
           override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) {
               // Ready to make extensions calls
           }
           override fun onFailure(throwable: Throwable) {
               // Extensions could not be initialized
           }
       },
       Executors.newSingleThreadExecutor()
    )
    

Camera-View Version 1.0.0-alpha04

4. Dezember 2019

androidx.camera:camera-view:1.0.0-alpha04 wurde veröffentlicht. Version 1.0.0-alpha04 von „camera-view“ enthält diese Commits

API-Änderungen

  • Eine PreviewView-Klasse wird bereitgestellt, um die Ausgabe aus dem Anwendungsfall „Preview“ (Vorschau) in einer Anwendung einfach anzuzeigen.
  • PreviewView kann in das Layout aufgenommen werden:

    <androidx.camera.view.PreviewView
      android:id="@+id/preview_view"
      … />
    
  • PreviewView stellt einen PreviewSurfaceProvider bereit, um ganz einfach eine Verbindung zu einem Anwendungsfall für die Vorabversion herzustellen

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • ZoomLevel“ ist jetzt in der API-Benennung „ZoomRatio

  • Einige Methodenparameter haben die Null-Zulässigkeit geändert

Camera-Extensions und Camera-View Version 1.0.0-alpha03

9. Oktober 2019

androidx.camera:camera-extensions:1.0.0-alpha03 und androidx.camera:camera-view:1.0.0-alpha03 wurden veröffentlicht. Dies sind die Commits in camera-extensions:1.0.0-alpha03 und die Commits in camera-view:1.0.0-alpha03.

Neue Funktionen

  • Kontextinitialisierer für Erweiterungen hinzugefügt. Erweiterungsversion auf 1.1.0 erhöht

Camera-Extensions und Camera-View Version 1.0.0-alpha02

5. September 2019

androidx.camera:camera-extensions:1.0.0-alpha02 und androidx.camera:camera-view:1.0.0-alpha02 wurden veröffentlicht. Dies sind die commits in camera-extensions:1.0.0-alpha02 Dies sind die enthaltenen Commits Camera-view:1.0.0-alpha02.

  • Es wurden Tests hinzugefügt, um zu prüfen, ob PreviewImageProcessorImpl korrekt implementiert wurde Zeitstempel.
  • ExtensionTest-Testfehler auf Nexus 5 (API-Level 21) beheben und Vorschau ansehen verfügbar ist.

Camera-Extensions und Camera-View Version 1.0.0-alpha01

7. August 2019

androidx.camera:camera-extensions:1.0.0-alpha01 und androidx.camera:camera-view:1.0.0-alpha01 wurden veröffentlicht. Dies sind die commits in camera-extensions:1.0.0-alpha01 Dies sind die enthaltenen Commits Camera-View:1.0.0-alpha01

  • Neue Bibliothek für zukünftige Kameraerweiterungen für den Zugriff auf Effekte auf unterstützten Geräten. Diese Bibliothek ist noch in der Entwicklung.
  • Neue Klasse für Kameraansicht. Diese Bibliothek ist noch in der Entwicklung.