KameraX
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 |
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.
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 vonViewfinder
um, damit sie die zugrunde liegenden Implementierungen besser widerspiegeln, und fügen Sie feste Konstanten fürTransformationInfo.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öschtenLifecycleOwner
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
undPreviewView.setScreenFlashOverlayColor
für Fälle hinzugefügt, in denenScreenFlashView
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ächstetakePicture
-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 überOutputConfiguration.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
unterPreview
+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
undVideoCapture(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 MethodegetSupportedOutputFormats
zuImageCaptureCapabilities
hinzu, um die Gerätefunktion abzufragen. Der Standardwert für das Ausgabeformat istOUTPUT_FORMAT_JPEG
. Damit werden SDR-Bilder im JPEG-Format erfasst. Wenn das Gerät Ultra HDR unterstützt und das Ausgabeformat aufOUTPUT_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
inCameraInfo
hinzu, um Informationen zur physischen Kamera abzufragen, und fügen Sie ID-Setter/Getter für physische Kameras inCameraSelector
hinzu (Ic5b90). - Ersetzen Sie
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
durchImageAnalysis#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 derMlKitAnalyzer
Koordinaten im Koordinatensystem des Kamerasensors zurück. (I3ec61) - Offengelegte Erweiterungsmetadaten-API. Mit den neuen
CameraExtensionsInfo
- undCameraExtensionsControl
-Oberflächen können Anwendungen die Einstellungen für die Erweiterungsstärke überwachen und anpassen. Anwendungen können die InstanzCameraExtensionsInfo
oderCameraExtensionsControl
über die neu hinzugefügten MethodenExtensionsManager#getCameraExtensionsInfo()
oderExtensionsManager#getCameraExtensionsControl()
abrufen. (I28e1a) ProcessCameraProvider.awaitInstance
wurde hinzugefügt. Dies ist eine vorübergehende Version vonProcessCameraProvider.getInstance
(Ib22b9).- Fügen Sie eine
PreviewView#getSensorToViewTransform()
API hinzu. Die Matrix stellt die Transformation von Kamerasensorkoordinaten in die Koordinaten derPreviewView
dar. Damit können Koordinaten von einerUseCase
in eine andere umgewandelt werden. Ein Beispiel dafür ist die Umwandlung der Koordinaten erkannter Objekte inImageAnalysis
in das OverlayPreviewView
. (I947ab) - Gestalten Sie die
camera-viewfinder-core
API allgemeiner, damit sie voncamera-viewfinder
undcamera-viewfinder-compose
verwendet werden kann. (I1e295) - Die Funktion
getSurface
wurde zuViewfinderSurfaceRequest
hinzugefügt. (I781a0) camera-viewfinder-core
incamera-viewfinder
verwenden undViewfinderSurfaceRequest
undCameraViewfinder
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 direktResolutionSelector
mit der bevorzugten Auflösung und einem passendenAspectRatioStrategy
mitImageAnalysis
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 mitImageAnalysis
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/oderImageCapture
. Dieses Artefakt enthält OpenGL-Implementierungen derCameraEffect
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 inCameraInfo
verfügbar, um abzufragen, welche dynamischen Bereiche jede Kamera unterstützt.
API-Änderungen
ScreenFlashUiCompleter
wurde inScreenFlashListener
umbenannt undScreenFlashUiCompleter#getExpirationTimeMillis
wurde in denexpirationTimeMillis
-Parameter vonScreenFlash#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 inisMirroring()
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 inScreenFlash
umbenannt,ScreenFlashUiControl#applyScreenFlashUi
inScreenFlash#apply
,ScreenFlashUiControl#clearScreenFlashUi
inScreenFlash#clear
und die MethodegetScreenFlashUiApplyTimeoutSeconds
wurde hinzugefügt, anstattSCREEN_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 vonImageCapture
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
undOnImageSavedCallback.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 vonPreviewView
oder der neu hinzugefügtenScreenFlashView
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 vonImageCapture.Builder#setPostviewEnabled()
aktivieren. Die Postview-Größe kann mitImageCapture.Builder#setPostviewResolutionSelector()
ausgewählt werden. Beim Aufrufen vontakePicture()
könnenonPostviewBitmapAvailable
undonCaptureProcessProgressed
inOnImageSavedCallback
oderOnImageCapturedCallback
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 VorschauUseCase
verfügbar. (Ie5b6c) - Es wurden APIs zur Unterstützung weiterer Qualitäten für
VideoCapture
hinzugefügt.Recorder.Builder#setVideoCapabilitiesSource(int)
kann mitVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES
verwendet werden, um eineRecorder
-Instanz zu erstellen, die mehr Qualitäten alsVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE
unterstützt. Ein häufiger Anwendungsfall ist, wenn die App versucht, UHD-Videos aufzuzeichnen, wann immer dies möglich ist, aberCamcorderProfile
auf dem Gerät keine UHD-Einstellungen hat, obwohl der Codec UHD-Video aufzeichnen kann. (Iedbe2, b/263961771) - Fügen Sie
CameraController
denImageAnalysis
-Ausgabeformat-Getter/-Setter hinzu. (I9a96c, b/308240643)
Fehlerkorrekturen
- Von Kamera
1.3.1
: Die Leistung vonProcessCameraProvider#bindToLifecycle()
wurde verbessert. Die wesentliche Änderung besteht darin, den Prozess zur Ermittlung der am besten geeigneten Größenkombinationen fürUseCases
zu optimieren. Die optimalen Ergebnisse variieren je nach den spezifischenUseCase
-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ütztenImageAnalysis
-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 durchResolutionSelector
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 mitImageCapture
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 vonImageAnalysis
überExtensionsManager#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
mitFRAME_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 direktResolutionSelector
mit der bevorzugten Auflösung und einem passendenAspectRatioStrategy
zumImageAnalysis
-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
- Videofunktionen wie 10-Bit-HDR-Video, Zuschneiden, Spiegeln/Nicht spiegeln, Stummschalten/Lautschalten, Framerate festlegen und mehr.
- Gleichzeitige Dual-Kamera
- Effektbibliothek
- Auswahl der Auflösung
- Ultraweitwinkel- und Teleskopkameras auswählen
- Kamerawechsel während der Videoaufzeichnung (experimentelle Funktion)
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 mitImageCapture
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 vonImageAnalysis
überExtensionsManager#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 dasVideoCapture
, 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 insetAllowedResolutionMode
umbenannt und die KonstantenResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
wurden inPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION
/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE
umbenannt. (If84e8) - Die eingestellten APIs
ImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
undVideoCapture.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 vonVideoCapture
bisVideoCapture.Builder#setDynamicRange()
ausgewählt werden. (Ib0377) - Der
ExtensionsManager
wurde eineisImageAnalysisSupported
API hinzugefügt, mit der Apps feststellen können, ob einImageAnalysis
-Anwendungsfall mit der Vorschau undImageCapture
verknüpft werden kann, wenn Erweiterungen aktiviert sind. (I1bc63) - Die neue Klasse
VideoCapabilities
aus demRecorder
kann verwendet werden, um unterstützte dynamische Bereiche und Qualitäten für Videoaufnahmen auf dem Gerät abzufragen. Die MethodengetSupportedQualities()
undisQualitySupported()
vonQualitySelector
werden eingestellt. Verwenden Sie stattdessen die MethodengetSupportedQualities()
undisQualitySupported()
vonVideoCapabilities
. (I04014) CameraController#setVideoCaptureTargetQuality()
wird insetVideoCaptureQualitySelector
umbenannt und verwendet das ArgumentQualitySelector
. Dadurch sind Sie beim Einrichten der Videoqualität flexibler.CameraController#getVideoCaptureTargetQuality()
wird entsprechend ingetVideoCaptureQualitySelector
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ürImageProxy.toBitmap()
hinzugefügt. Wenn das JPEG-Byte-Array nicht decodiert werden kann, wird einUnsupportedOperationException
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 neueCameraInfo#getSupportedFrameRates()
API abgefragt werden.
API-Änderungen
- Die
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
-Konstanten wurden inALLOWED_RESOLUTIONS_NORMAL
/SLOW
umbenannt und der Builder-FunktionsnamesetHighResolutionEnabledFlag
wurde insetAllowedResolutionMode
umbenannt. (Iae817) CameraInfo#getSupportedFrameRateRanges()
gibt jetztSet
stattList
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 vonsetTargetRotationDegrees
zu ersetzen und die APIImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
undVideoCapture.setTargetRotationDegrees(int)
einzustellen. (Ia9010) - Die neuen APIs
Preview#getTargetFrameRate
undPreview.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 FehlercodeERROR_RECORDING_GARBAGE_COLLECTED
ausgefüllt, wenn dasRecording
-Objekt aufgrund einer automatischen Speicherbereinigung gestoppt wird. (Iba974)
Fehlerkorrekturen
- Das Problem
NullPointerException
wurde behoben, wenn die im Cache gespeicherten Ausgabegrößen inStreamConfigurationMapCompat
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, wennVideoCapture
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. VonVideoCapture
aufgenommene Videos werden nicht standardmäßig gespiegelt. Die Kameravorschau wird jedoch standardmäßig auf der Frontkamera gespiegelt. MitVideoCapture
-Spiegelungs-APIs ist es möglich, die Kamera an die Kameravorschau auszurichten, wenn die Frontkamera verwendet wird. Es gibt dreiMirrorMode
,OFF
,ON
undON_FRONT_ONLY
. Zum Ausrichten an der Kameravorschau empfehlen wir die Verwendung vonON_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
undsetTargetResolution
wurden verworfen. Verwenden Sie stattdessen die neueResolutionSelector
API. (I542c3) - Öffentliche APIs für gleichzeitige Dual-Kamera wurden hinzugefügt, einschließlich
<ph type="x-smartling-placeholder">
- </ph>
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
boolean isConcurrentCameraModeOn()
undConcurrentCameraConfig
,SingleCameraConfig
undConcurrentCamera
(Iab1c1)
ImageProcessor.Response#getOutputImage
auf null setzen (Ib9c60)VideoCapture
-Spiegelungs-APIs wurden hinzugefügt, einschließlichVideoCapture.Builder.setMirrorMode(int)
undVideoCapture.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 dieVideoCapture.Builder
und diegetTargetFramerate()
API inVideoCapture
(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ältAudioStats.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 inDefaultSurfaceProcessor
wurde behoben. Der Absturz kann auftreten, wennVideoCapture
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ßlichVideoCapture.Builder.setTargetRotation(int)
,VideoCapture.setTargetRotation(int)
,VideoCapture.setTargetRotationDegrees(int)
undVideoCapture.getTargetRotation()
. Die APIs sind für Anwendungen nützlich, bei denen die Geräteausrichtung gesperrt wird.ImageCapture.setTargetRotationDegrees(int)
undImageAnalysis.setTargetRotationDegrees(int)
wurden ebenfalls hinzugefügt. (Id3ffe, b/205242781)VIDEO_CAPTURE
undPREVIEW|VIDEO_CAPTURE
als Effektziel zulassen. Effekte, die aufVIDEO_CAPTURE
ausgerichtet sind, werden auf den AnwendungsfallVideoCapture
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
inBitmap
zu konvertieren. Die unterstützten Formate fürImageProxy
sindImageFormat.YUV_420_888
undPixelFormat.RGBA_8888
. Wenn das Format ungültig ist, wirdIllegalArgumentException
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 NutzerCameraCharacteristics
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()
zuCameraController
hinzu, um der Kameraausgabe Effekte hinzuzufügen. (I1d21f) - Methode
invalidate()
zuSurfaceRequest
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 dieImageCapture
-Pipeline. (I575c6) - Es wurde die API
Recorder.Builder.setAspectRatio()
hinzugefügt, die mitQualitySelector
kombiniert werden kann, um mehr Videoauflösungen zu unterstützen. (I8a082) Recorder.Builder#setTargetVideoEncodingBitRate
wurde hinzugefügt, um die Ziel-Videocodierung aufBitRate
festzulegen, undRecorder#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 inOutputOptions.getDurationLimitMillis
undOutputOptions.setDurationLimit
inOutputOptions.setDurationLimitMillis
umbenannt. (I91f0c)- Fügen Sie die Klasse
AudioConfig
hinzu, um die audiobezogene Einstellung bei der Videoaufzeichnung zu übernehmen. Die Anmerkung@RequiresPermission
wird vonstartRecording
-Funktionen nachAudioConfig
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
undOutputFileResults
, die nach Anwendung der neuen Video Capture API nicht mehr verwendet werden. (I38cd8) - Wenden Sie die neue Video Capture API an. Die Methoden
getVideoCaptureTargetSize
undsetVideoCaptureTargetSize
werden entsprechend durch die MethodengetVideoCaptureTargetQuality
undsetVideoCaptureTargetQuality
ersetzt, dasetTargetResolution
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
unterViewPager2
behoben. Im Rahmen der Fehlerbehebung verwendetPreviewView
dieSurfaceView
wieder, wenn die angeforderte Auflösung nicht geändert wird. (Ib3f27) - Unterstützt das Zuschneiden von Videos (WYSIWYG-Funktion), wenn die
ViewPort
oderCameraController
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, dieZERO_SHUTTER_LAG
nicht unterstützen, wirdCAPTURE_MODE_MINIMIZE_LATENCY
verwendet. android.camera.core.VideoCapture
einstellen.setStreamUseCase()
wurde als öffentlicheCamera2Interop
API hinzugefügt.- Für
setOutputImageRotationEnabled
muss ein API-Level hinzugefügt werden. ImageAnalysis.Analyzer#getTargetResolutionOverride()
wurde inImageAnalysis.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ürOutputConfiguration
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 diePreview/VideoCapture
-Bilder gestreckt. Es wurde eine Problemumgehung hinzugefügt, mit der nicht die Auflösung 1920 x 1080 für die Vorschau oderVideoCapture
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 festgelegteSurfaceProvider
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
undMLKitAnalyzer
wurden als offizielle APIs eingeführt.- Offengelegte API zum Festlegen von Standortmetadaten für das gespeicherte Video.
- Benennen Sie
ImageAnalysis.Analyzer#getTargetResolutionOverride()
inImageAnalysis.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()
inImageAnalysis.Analyzer#getDefaultTargetResolution()
um. Das Verhalten wird ebenfalls so geändert, dass der von dieser Methode zurückgegebene Wert durch den Wert vonImageAnalysis#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 APIandroidx.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
undMLKitAnalyzer
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, wennFocusMeteringAction
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
inImageCapture
undisZslSupported
inCameraInfo
hinzu, um die Gerätefunktion abzufragen. ImCAPTURE_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 derCONTROL_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, wennVideoCapture
mitImageCapture
und der Vorschau auf einer Kamera mit VOLLSTÄNDIGKEIT oder einer höheren Hardwareebene verbunden ist. Die Fallback-StrategieQualitySelector
führt dazu, dassVideoCapture
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
amImageCapture.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
undsetOutputImageFormat
) - 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 APIisFocusMeteringSupported
hinzugefügt, mit der Apps prüfen können, ob die angegebeneFocusMeteringAction
von der aktuellen Kamera unterstützt wird oder nicht. getResolutionInfo
API verfügbar, um Auflösungsinformationen für die Vorschau,ImageCapture
undImageAnalysis
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 vonCameraInfos
basierend auf einemCameraSelector
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 eindeutigeCameraSelector
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 KameravideoViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
undViewPort.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 undImageCapture#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
amImageCapture.takePicture()
korrigiert. (I92366, b/230454568, b/229766155)- Es wurde ein Fehler behoben, bei dem
AssertionError
beim Abrufen derCONTROL_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 vonVideoCapture<Recorder>
bei der Aufzeichnung mitMediaCodec.CodecException
fehlschlugen, insbesondere auf Geräten mit API 21–22. (Ie7f68) - Probleme mit aufgenommenen Bildern von
CameraExtensionsActivity
werden inImageCaptureTest
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 desInvalidConfigException
-Fehlers. Wenn dieRecorder
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 wirdQualitySelector.QUALITY_HD
inQuality.HD
geändert undQualitySelector.FALLBACK_STRATEGY_LOWER
in die vonFallbackStrategy.lowerQualityOrHigherThan(Quality)
zurückgegebene Instanz geändert. Die zum Erstellen vonQualitySelector
verwendete API wurde in eine listbasierte API geändert. Die neue APIQualitySelector.fromOrderedList(List<Quality>)
bezieht sich auf die Reihenfolge der Eingabequalitätsliste und nicht auf die vonQualitySelector.Procedure
erstellte Reihenfolge.QualitySelector.Procedure
Kurs wurde entfernt. (I43343) PendingRecording.withEventListener()
wurde entfernt und der Event-Listener muss jetzt anPendingRecording.start()
übergeben werden. Diese Event-Listener-Anforderung soll die Verarbeitung asynchroner Fehler fördern, die imVideoRecordEvent.Finalize
-Ereignis gemeldet werden. (I1e71d)ActiveRecording
wurde inRecording
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 mitREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
haben die minimalen Funktionen, die jedes Kameragerät unterstützt. Die Kamera ohneREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
unterstützt möglicherweise bestimmte Funktionen und unterstützt keine Standardfarbausgabe.CameraX
kann die AnwendungsfällePreview
,ImageCapture
,ImageAnalysis
oderVideoCapture
für diese Kameras nicht unterstützen. Daher sollten diese Kameras herausgefiltert werden, um eine falsche Verwendung zu vermeiden. (Ib8cda) CameraSelector#filter
gibt keinenIllegalArgumentException
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 vonCameraCharacteristics.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 AufnahmemodusCAPTURE_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 undImageCapture#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
undViewPort.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 APIsandroidx.annotation.OptIn
anstelle der verworfenenandroidx.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 derCameraSelector
inCameraXConfig.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
undsetLinearZoom
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
- Siehe Liste bekannter 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äßigLog#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ültigeCONTROL_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()
gibtSurface.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()
gibtSurface.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
- Release zur Unterstützung von Camera-Core 1.0.0-beta10
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 zuFLASH_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 einerCameraInfo
auf anstelle vonCameraSelector
, sodass eine direkte Zuordnung zu für welche Kamera die Fabrik Punkte generiert. Alle Kurse mitDisplayOrientedMeteringPointFactory
nehmen auchCameraInfo
anstelle vonCameraSelector
. (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
undFIT_END
mitFIT
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 AnrufProcessCameraProvider#getInstance()
. So können Sie die denCameraXConfig
ohne Implementierung vonCameraXConfig.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 eineCameraUnavailableException
, die auf denListenableFuture
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 denenCONTROL_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 eineCameraUnavailableException
enthält, wird auf dieListenableFuture
des Initialisierungsergebnisses gesetzt, anstatt die Anwendung abzustürzen. (I9909a, b/149413835)
Fehlerkorrekturen
- Die Javadocs von
setTargetResolution
undsetTargetRotation
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
ausImageCapture
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 mitCameraXConfig.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 aufImageProxy
zugegriffen wird, nachdemImageReaderProxy
geschlossen wurde, wurde behoben. Auf diese Weise müssen alleImageProxy
, die vonAnalyzer
empfangen werden, geschlossen werden, bevorImageReaderProxy
geschlossen wird. (I4b299, b/145956416, b/154155377, b/156357269) - Der
CameraInfo
-Parameter wurde ausPreviewView#createSurfaceProvider()
entfernt.PreviewView
ruft ihn jetzt intern vonSurfaceRequest
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
ausImageCapture
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 nullUseCase
-Werten eine ausgelöste Ausnahme verursachte. Dadurch konnte keinCamera
abgerufen werden, ohne eineUseCase
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 vonImageCapture
erzeugtenImageProxy
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 zuvorbindToLifecycle
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 vonImageCapture
erzeugtenImageProxy
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 zuvorbindToLifecycle
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 vonPreview.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 inSurfaceRequest.provideSurface(Surface)
undSurfaceRequest.setWillNotComplete()
bisSurfaceRequest.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
aufSurfaceRequest.provideSurface()
mitExecutor
undCallback
. Dieses vereinfacht die API, da die Verarbeitung von Ausnahmen inprovideSurface()
und erzwingt, dass derprovideSurface()
-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. DasSurfaceRequest.Result
-Objekt wird jetzt um zu verfolgen, wie eineSurfaceRequest
die bereitgestellteSurface
verwendet. (I7854b) SurfaceRequest.setSurface(Surface)
wurde umbenannt inSurfaceRequest.provideSurface(Surface)
undSurfaceRequest.setWillNotComplete()
bisSurfaceRequest.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, dassSurface
s 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 inUri
undOutputStream
gespeichert werden können. Die überlastetentakePicture
-Methoden wurden zu einer zusammengefasst. Die Test-App wurde aktualisiert, sodassUri
als kanonisches Beispiel verwendet wird. (Ia3bec)Preview.PreviewSurfaceProvider
wurde inPreview.SurfaceProvider
umbenannt. FürSurfaceProvider
müssen Entwickler keine eigenenListenableFuture
mehr erstellen. Die Angabe einerSurface
erfolgt jetzt über ein neuesSurfaceRequest
-Objekt. Die MethodePreview.getPreviewSurfaceProvider()
wurde entfernt, da sie möglicherweise missbräuchlich verwendet wird, wennPreview
mit anderen Klassen wiePreviewView
gekoppelt ist. (I20105)getTargetRotation()
undgetTargetName()
wurden zuPreview
hinzugefügt. (Iceee7)getTargetRotation()
,getBackpressureStrategy()
undgetImageQueueDepth()
wurden inImageAnalysis
hinzugefügt. (I9d6d9)getTargetRotation()
undgetCaptureMode()
wurden inImageCapture()
hinzugefügt (I5bc17)- Die Argumente, die zuvor in
ImageCapture.OnImageSavedCallback.onError()
undImageCapture.OnImageCapturedCallback.onError()
übergeben wurden, wurden jetzt durch ein einziges ArgumentImageCaptureException
ersetzt, das weiterhin alle zuvor übergebenen Informationen enthält. - Das zuvor an
ImageCapture.OnImageSavedCallback.onImageSaved()
übergebene Dateiargument wurde entfernt. (I750d2) - Die Kurse
Preview
undImageCapture
sind jetzt als endgültig markiert. (I2500b) - API aktualisiert, mit
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
- undgetLinearZoom()
-Methoden derCameraInfo
-Zusammenführung ingetZoomState()
, wodurch eineZoomState
-Instanz zurückgegeben wird. (Ib19fe) - API-Felder
OPTION_TARGET_CLASS
undOPTION_TARGET_NAME
entfernt ausCameraXConfig
, da sie nur für die interne Bibliothek vorgesehen sind. Konstruktor fürCameraXConfig.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 Artefaktcamera-camera2
enthalten ist in derbuild.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
mitCamera2CameraInfo.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 dieExperimentalCamera2Interop
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
-ParameteruseCaseForSurface
war inuseCaseForAspectRatio
umbenannt und die Referenzdokumentation wurde maximiert. FocusMeteringAction.Builder.from()
-Methoden werden durch die Konstruktoren ersetztFocusMeteringAction.Builder()
.- Entfernt
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)
Anwendungen sollten den Konstruktor verwenden, der einenDisplay
-Parameter und die aktuelle Anzeige übergeben. - Javadoc-Verbesserungen für Fokus- und Metering-APIs bezüglich
MeteringMode
und 3A-Flags und Verwendung des ParametersDisplay
. - Die Referenzdokumentation für
setZoomRatio
undsetLinearZoom
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
undcancelFocusMetering
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
oderCameraView
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
undCameraControl
wurde aktualisiert. TorchControl
wurde fürenableTorch()
undgetTorchState()
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 vonandroidx.camera.camera2
bereitgestellte StandardeinstellungCamera2Config
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()
undhasCamera()
, die zuvor durch den Aufruf der CameraX-Klasse bereitgestellt wurden, sind jetzt überProcessCameraProvider
verfügbar.Eine prozessspezifische Instanz von
ProcessCameraProvider
wird asynchron mit der statischen MethodeProcessCameraProvider.getInstance()
abgerufen, die ein listenfähiges Future zurückgibt, das nach Abschluss dieProcessCameraProvider
bereitstellt. Hier wird er inonCreate()
für eine typische Nutzung gezeigt. Sie könnengetInstance()
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ückgegebenenListenableFuture
hinzugefügt werden. Dadurch kann der Kameraanbieter vomFuture
abgerufen werden, ohne ihn aufFuture.get()
zu blockierencameraProviderFuture.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
mussimage.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ückstaustrategieintdef
umgestellt.ImageProxy.getImage()
ist als experimentell gekennzeichnet. Anwendungen sollten die Nutzung z. B. über@androidx.camera.core.ExperimentalGetImage
mit Anmerkungen versehenDie Annotationsanforderung
UIThread
fürAnalyzer
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 jetztImageCapture.OnImageCapturedCallback
ImageCapture.OnImageSavedListener
heißt jetztImageCapture.OnImageSavedCallback
VideoCapture.OnVideoSavedListener
heißt jetztVideoCapture.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
undcancelFocusMetering
geben jetztListenableFutures
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ückgegebeneListenableFuture<Void>
ist immer ein unmittelbarescomplete(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ägtenableTorch(true)
sofort fehl und sendet keine Anfrage anCaptureSession
.TorchState
bleibt deaktiviert. - Bekanntes Problem:
startFocusAndMetering
undcancelFocusAndMetering
starten und brechen die Fokusmessung ab, geben aber sofort einencompleted (success)
-Future zurück, der nicht das dokumentierte Verhalten darstellt. DasFocusMeteringResult
vonListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()
ist ein falsches Ergebnis, dasisFocusSuccessful()
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ürPreviewView
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 OptionenRATIO_4_3
oderRATIO_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 zusetTargetAspectRatioCustom(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 einegetCameraInfo
-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()
odersetTargetAspectRatio()
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.
- Im Allgemeinen wird aufgrund des UI-Designs der Anwendung empfohlen,
- 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 inImageCapture.ImageCaptureError
umbenanntVideoCapture.UseCaseError
wird inVideoCapture.VideoCaptureError
umbenannt
CameraControl
API mit Tap-to-Focus-APIs hinzugefügtEs 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
undFocusMeteringAction
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
- odersetTargetResolution
-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 zujava.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()
gibtSurface.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
- Release zur Unterstützung von Camera-Core 1.0.0-beta10
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 eineCameraUnavailableException
enthält, wird auf dieListenableFuture
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 nullUseCase
-Werten eine ausgelöste Ausnahme verursachte. Dadurch konnte keinCamera
abgerufen werden, ohne eineUseCase
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 vonApplication
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
undcamera-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 namensProcessCameraProvider
bereit, die viele der Funktionen der vorherigen CameraX-Klasse im Kern bietet und über einegetInstance()
-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 nurImageCapture
undPreview
.VideoCapture
wird noch nicht unterstützt. Wenn die AppVideoCapture
bindet und einen beliebigen Erweiterungsmodus aktiviert, wird einIllegalArgumentException
ausgelöst. (I0d87b) CameraSelector#filter
gibt keinenIllegalArgumentException
mehr aus, wenn die Ergebnismenge leer ist. (I27804)- Die
ExtensionsManager#getInstance
API wurde ingetInstanceAsync
umbenannt, weil sieListenableFuture
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 AnwendungsfallImageCapture
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
vonExtensionsManager
-Funktionen in diegetInstance()
API. So müssen Nutzer denCameraProvider
-Parameter nicht jedes Mal eingeben, wenn dieExtensionsManager
-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 inCoordinateTransform#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 durchCameraController
ersetzt. Weitere Informationen zur Migration finden Sie in der Migrationsanleitung: (ID5005)
Fehlerkorrekturen
- "
ExperimentalUseCaseGroupLifecycle
" wurde ersetzt durchExperimentalUseCaseGroup
. (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 APIsandroidx.annotation.OptIn
anstelle der verworfenenandroidx.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
- einen CameraInfo-Getter zu CameraController hinzufügen. (Ib8138, b/178251727)
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. mitExperimentalVideo
alsmarkerClass
. (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()
gibtSurface.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
- Release zur Unterstützung von Camera-Core 1.0.0-beta10
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
- Release zur Unterstützung von Camera-Core 1.0.0-beta10
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 inExtensionsManager
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()
undPreviewView#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 mitPreview#setTargetRotation()
und dem neu hinzugefügtenPreviewView#getViewPort(targetRotation)
fest. (Ib62cc)createSurfaceProvider()
wurde ingetSurfaceProvider()
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 einerCameraInfo
auf anstelle vonCameraSelector
, sodass eine direkte Zuordnung zu für welche Kamera die Fabrik Punkte generiert. Alle Kurse mitDisplayOrientedMeteringPointFactory
nehmen auchCameraInfo
anstelle vonCameraSelector
. (I400c1)TextureViewMeteringPointFactory
wurde entfernt.PreviewView
bietet eine öffentliche API (createMeteringPointFactory()
) zum Erstellen einer Messpunkt-Factory, unabhängig davon, obTextureView
oderSurfaceView
verwendet wird. (Ide693)- Benennen Sie die Implementierungsmodi von PreviewView für
SURFACE_VIEW
/TEXTURE_VIEW
inPERFORMANCE
/COMPATIBLE
um.PERFORMANCE
ist der alteSURFACE_VIEW
-Modus undCOMPATIBLE
ist der alteTEXTURE_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 eineCameraUnavailableException
enthält, wird auf dieListenableFuture
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 ModusImplementationMode#TEXTURE_VIEW
erzwungen. (I83e30, b/155085307) - Der
CameraInfo
-Parameter wurde ausPreviewView#createSurfaceProvider()
entfernt.PreviewView
ruft ihn jetzt intern vonSurfaceRequest
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 dasPreview
-Fragment weggewischt und dann in ViewPager2 zurückgewischt wurde. Außerdem wurde das Problem behoben, wennremoveView(previewview)
und dannaddView(previewView)
. (Iab555, b/149877652, b/147354615)- Aktualisieren Sie die
CameraView#takePicture()
API, damit Bilder inUri
undOutputStream
gespeichert werden können. Aktualisieren Sie die Test-App, umUri
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 stattdessenPreviewView.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
undcamera-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
mitPreviewView
funktioniert auf bestimmten Geräten möglicherweise nicht richtig. Das liegt daran, dass die Oberfläche des für die Vorschau verwendetenSurfaceView
-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 vonSurfaceView
wieder gültig ist. Vorerst sollten SieImplementationMode.TEXTURE_VIEW
verwenden.
API-Änderungen
PreviewView.setImplementationMode()
wurde inPreviewView.setPreferredImplementationMode()
umbenannt.PreviewView.getImplementationMode()
wurde inPreviewView.getPreferredImplementationMode()
umbenannt.PreviewView.getSurfaceProvider()
wurde durchPreviewView.createSurfaceProvider(CameraInfo)
ersetzt. Dabei wird nach Möglichkeit eineCameraInfo
-Instanz verwendet, für die Nullwerte zulässig sind, um die Vorschau mithilfe vonImplementationMode.SURFACE_VIEW
zu optimieren. Wenn eine Null-Instanz übergeben oder der bevorzugte Implementierungsmodus aufImplementationMode.TEXTURE_VIEW
festgelegt wird, wirdImplementationMode.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 zuPreviewView.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 inPreviewView.ScaleType
und wird standardmäßig aufPreviewView.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 AttributsimplementationMode
wurde entfernt.Fügen Sie PreviewView die
createMeteringPointFactory()
API hinzu, um die Konvertierung von (x, y) inPreviewView
inMeteringPoint
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
aufSurfaceRequest.provideSurface()
mitExecutor
undCallback
. Dieses vereinfacht die API, da die Verarbeitung von Ausnahmen inprovideSurface()
und erzwingt, dass derprovideSurface()
-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. DasSurfaceRequest.Result
-Objekt wird jetzt um zu verfolgen, wie eineSurfaceRequest
die bereitgestellteSurface
verwendet. (I7854b) SurfaceRequest.setSurface(Surface)
wurde umbenannt inSurfaceRequest.provideSurface(Surface)
undSurfaceRequest.setWillNotComplete()
bisSurfaceRequest.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()
undImageCapture.OnImageCapturedCallback.onError()
übergeben wurden, wurden jetzt durch ein einziges ArgumentImageCaptureException
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 vonPreviewView
legt die Größe vonTextureView
jetzt auf die Ausgabegröße des Kamerasensors fest, bevor sie für das übergeordnete ElementPreviewView
skaliert wird. Wenn die Kameravorschau einen ganzen Teil der Benutzeroberfläche ausfüllen soll (z. B. den gesamten Bildschirm), solltest du die Größe vonPreviewView
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 desPreviewView
ausfüllt, wenn die Ausgabegröße des Kamerasensors kleiner ist. Stattdessen sollten Sie dasPreviewView
auf die Größe des übergeordneten Elements festlegen, z. B. mithilfe des Attributs „match_parent
“. (1204869)
Fehlerkorrekturen
ImageCapture
wurde aktualisiert, damit Bilder inUri
undOutputStream
gespeichert werden können. Die überlastetentakePicture
-Methoden wurden zu einer zusammengefasst. Die Test-App wurde aktualisiert, sodassUri
als kanonisches Beispiel verwendet wird. (Ia3bec)Preview.PreviewSurfaceProvider
wurde inPreview.SurfaceProvider
umbenannt. FürSurfaceProvider
müssen Entwickler keine eigenenListenableFuture
mehr erstellen. Die Angabe einerSurface
erfolgt jetzt über ein neuesSurfaceRequest
-Objekt. Die MethodePreview.getPreviewSurfaceProvider()
wurde entfernt, da sie möglicherweise missbräuchlich verwendet wird, wennPreview
mit anderen Klassen wiePreviewView
gekoppelt ist. (I20105)- Die Argumente, die zuvor in
ImageCapture.OnImageSavedCallback.onError()
undImageCapture.OnImageCapturedCallback.onError()
übergeben wurden, wurden jetzt durch ein einziges ArgumentImageCaptureException
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()
undgetLinearZoom()
derCameraInfo
-Zusammenführung mitgetZoomState()
zusammengeführt werden, wodurch eineZoomState
-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 dieselbeCameraSelector
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 einenPreviewSurfaceProvider
bereit, um ganz einfach eine Verbindung zu einem Anwendungsfall für die Vorabversion herzustellenpreview.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.