KameraX
In dieser Tabelle sind alle Artefakte in der Gruppe androidx.camera
aufgeführt.
Artefakt | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
Kamera-Kamera2 | 1.3.4 | - | 1.4.0-beta02 | - |
Kamerakern | 1.3.4 | - | 1.4.0-beta02 | - |
Kameraeffekte | - | - | 1.4.0-beta02 | - |
Kameraerweiterungen | 1.3.4 | - | 1.4.0-beta02 | - |
Kameralebenszyklus | 1.3.4 | - | 1.4.0-beta02 | - |
Kamera-MLkit-Vision | - | - | 1.4.0-beta02 | - |
Kameraansicht | 1.3.4 | - | 1.4.0-beta02 | - |
Kamerasucher | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
Kamera-Video | 1.3.4 | - | 1.4.0-beta02 | - |
Gerätetests
CameraX wird auf vielen Geräten in unserem Labor getestet. Eine Liste der Geräte, die sich derzeit im Lab befinden, finden Sie unter Im Lab getestete Geräte.
Abhängigkeiten deklarieren
Zum Hinzufügen einer Abhängigkeit von CameraX müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Groovig
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.4.0-beta02" // 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.4.0-beta02" // 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. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.0 der Kamerasucher-Funktion „Compose“
Version 1.0.0-alpha02
12. Juni 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02
wird freigegeben. 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
wird freigegeben. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
- Neue Mediathek. Diese Bibliothek enthält eine zusammensetzbare Funktion für den nativen Sucher „Compose“, die mit CameraX und Camera2 verwendet werden kann. Der zusammensetzbare Sucher unterstützt verschiedene Seitenverhältnisse und die Verarbeitung von Touch-Ereignissen.
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
werden 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
werden veröffentlicht. Version 1.4.0-alpha06 enthält diese Commits.
API-Änderungen
- Benennen Sie die
ImplementationMode
-Enums vonViewfinder
um, um die zugrunde liegenden Implementierungen besser widerzuspiegeln, und fügen Sie feste Konstanten fürTransformationInfo.sourceRotation
hinzu. (Ic6149) ZoomGestureDetector.ZoomEvent
wurde hinzugefügt, um die Status einer Zoomgeste zu kapseln. (I84cdf)
Kamera Version 1.4
Version 1.4.0-beta02
12. Juni 2024
androidx.camera:camera-*:1.4.0-beta02
wird freigegeben. Version 1.4.0-beta02 enthält diese Commits.
API-Änderungen
- Fügen Sie ähnlich wie
VideoCapture
setMirrorMode
für den Anwendungsfall „Vorschau“ hinzu. Ab API 33 wird der Spiegelungsmodus für den Vorschaustream überOutputConfiguration.setMirrorMode
aktiviert und deaktiviert. Bei älteren APIs erfolgt dies ohne Bedienung. (I821f4)
Fehlerkorrekturen
- Das Problem, dass Apps auf dem Samsung Tab A8 keine Bilder aufnehmen konnten, wenn
ImageCapture
unter der KombinationPreview
VideoCapture
ImageCapture
UseCase
die Größe 1920 × 1080 auswählte, wurde behoben. (I5a463, b/336925549) - Das Problem mit der dauerhaften Aufzeichnung wurde nach dem Wechsel der Kamera möglicherweise nicht mehr fortgesetzt. (Icb0a1)
Version 1.4.0-beta01
14. Mai 2024
androidx.camera:camera-*:1.4.0-beta01
wird freigegeben. Version 1.4.0-beta01 enthält diese Commits.
API-Änderungen
ZoomGestureDetector.ZoomEvent
wurde hinzugefügt, um die Status einer Zoomgeste zu kapseln. (I84cdf)
Fehlerkorrekturen
- Es wurde ein Fehler behoben, bei dem immer noch die Werte für die sich wiederholenden Anfrage für den Bild-/Stabilisierungsmodus nicht verwendet wurden. Dies führt dazu, dass bei einigen Geräten Latenzprobleme oder ein Einfrieren der Vorschau verursacht werden. (I7dc0b)
- Es wurde ein Fehler behoben, bei dem hohe Auflösungen nicht ausgewählt werden konnten, wenn
CameraEffect
auf einigen Geräten aktiviert ist. (z.B. 4000 × 3000 auf Samsung A32 5G). (Ie3ed3, b/337336152) - Ein Absturz beim Aufnehmen von Bildern mit der Vorabversion wurde behoben.
ImageCapture
undVideoCapture(UHD)
sind an die Pixel 4XL 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
wird freigegeben. Version 1.4.0-alpha05 enthält diese Commits.
Neue Funktionen
ProcessCameraProvider
wurde in eine Kotlin-Implementierung umgewandelt. (I46d4f)ImageCapture.takePicture
-Sperrfunktionen wurden hinzugefügt, damit sie Kotlin-idiomatisch aufgerufen werden können. (I920be)
API-Änderungen
- Fügen Sie
ImageCapture
API für das Ausgabeformat und zuImageCaptureCapabilities
die MethodegetSupportedOutputFormats
hinzu, um Gerätefunktionen 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 Ultra HDR-Bilder im JPEG/R-Bildformat auf. Das Format ist abwärtskompatibel mit dem SDR-JPEG-Format und unterstützt das HDR-Rendering von Inhalten. Das bedeutet, dass Bilder in älteren Apps oder Geräten nahtlos als normales JPEG-Bild dargestellt werden. In Apps und Geräten, die aktualisiert wurden, um das Format vollständig zu unterstützen, werden Bilder im HDR-Format angezeigt. (I5de50) - Füge
PhysicalCameraInfo
zuCameraInfo
hinzu, um Informationen zur physischen Kamera abzufragen und den ID-Setter/Getter für physische Kamera inCameraSelector
(Ic5b90) hinzuzufügen - 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) - Erstellung von
ImageCaptureLatencyEstimate
-Objekten zur Unterstützung der Testbarkeit aktivieren (Iaba99) ImageAnalysis#COORDINATE_SYSTEM_SENSOR
hinzufügen. In diesem Fall gibtMlKitAnalyzer
die Koordinaten im Koordinatensystem des Kamerasensors zurück. (I3ec61)- Exposed Extensions Metadata API Mit den neuen Schnittstellen für
CameraExtensionsInfo
undCameraExtensionsControl
können Anwendungen die Einstellungen für die Effektivität von Erweiterungen im Blick behalten 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 gesperrte Version vonProcessCameraProvider.getInstance
(Ib22b9).- Fügen Sie eine
PreviewView#getSensorToViewTransform()
API hinzu. Die Matrix stellt die Umwandlung der Kamerasensorkoordinaten in die Koordinaten desPreviewView
dar. Damit lassen sich Koordinaten von einerUseCase
in eine andere umwandeln. Beispielsweise werden die Koordinaten der erkannten Objekte inImageAnalysis
in das OverlayPreviewView
umgewandelt. (I947ab) - Mache die
camera-viewfinder-core
API allgemeiner, damit sie voncamera-viewfinder
undcamera-viewfinder-compose
verwendet werden kann. (I1e295) - Fügen Sie
ViewfinderSurfaceRequest
die FunktiongetSurface
hinzu. (I781a0) - Verwenden Sie
camera-viewfinder-core
incamera-viewfinder
und verwerfen SieViewfinderSurfaceRequest
undCameraViewfinder
. (I6198c) ZoomGestureDetector
wurde hinzugefügt, mit dem Skalierungsgesten interpretiert werden, die speziell für das Zoomen durch Auseinander- und Zusammenziehen konfiguriert sind. (Ifafbf)
Fehlerkorrekturen
- Das Problem bei der Auswahl der Auflösung von
ImageAnalysis
im Zusammenhang mit der Standardzielauflösungseinstellung des Analyse-Tools wurde behoben: Die Zielauflösung wurde fälschlicherweise als 640 × 480 beibehalten, auch wenn in Anwendungen eine andere Standardauflösungseinstellung des Analysetools festgelegt war. Wenn bei Anwendungen dieses Problem (1.3.0 bis 1.3.2) auftritt und kein Upgrade auf die neueren Versionen möglich ist, die die Lösung enthalten, kannst du das Problem umgehen, indem duResolutionSelector
direkt mit der bevorzugten Auflösung und eine übereinstimmendeAspectRatioStrategy
aufImageAnalysis
UseCase
setzt. (I81f72, b/330091012) - Anfragen vom Typ
takePicture
, die in die Warteschlange gestellt wurden, konnten nicht ausgeführt werden, wenn die aktuelle Anfrage fehlgeschlagen ist. Dieses Problem wurde behoben. (Ie0801) - Wenden Sie die Prüfung auf ungültige JPEG-Daten auf Vivo X60- und X60 Pro-Geräte an. Dadurch können Probleme 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. Damit kann CameraX das JPEG-Bild speichern oder beim Aufrufen der Funktion
ImageProxy.toBitmap()
auf Samsung A24-Geräten korrekte Bitmapobjekte zurückgeben. (I8d6eb, b/309005680) - Wenden Sie die Prüfung auf ungültige JPEG-Daten auf alle Samsung-Geräte an, wenn das 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
ImageAnalysis
-Unterstützung für CameraX-Erweiterungen wurde entfernt, da viele Implementierungen von OEM-Erweiterungen mitImageAnalysis
nicht gut funktionieren und zu inkonsistenten Problemen führen können. (I2d926)
Version 1.4.0-alpha04
24. Januar 2024
androidx.camera:camera-*:1.4.0-alpha04
wird freigegeben. Version 1.4.0-alpha04 enthält diese Commits.
Neue Funktionen
- Neues Artefakt: Kameraeffekte: Eine Bibliothek zum Anwenden von Echtzeiteffekten auf die CameraX-Ausgabe, einschließlich
Preview
,VideoCapture
und/oderImageCapture
. Dieses Artefakt enthält OpenGL-Implementierungen derCameraEffect
API, die die Kameraausgabe effizient manipulieren. OverlayEffect
: zum Zeichnen von Overlays mit der Canvas API von Android Dadurch kann die App ein Wasserzeichen hinzufügen oder erkannte Objekte auf der Kameraausgabe hervorheben.DynamicRange
APIs für den Vorschau-Anwendungsfall: Für den Vorschau-Anwendungsfall kann jetzt der dynamische Bereich festgelegt werden, unabhängig vom Video-Anwendungsfall. So sind dynamische HDR-Bereiche wie HLG10 allein für die Vorschau möglich. Neue APIs sind auch inCameraInfo
verfügbar, um abzufragen, welche dynamischen Bereiche die einzelnen Kameras unterstützen.
API-Änderungen
ScreenFlashUiCompleter
wurde inScreenFlashListener
umbenannt undScreenFlashUiCompleter#getExpirationTimeMillis
in den ParameterexpirationTimeMillis
vonScreenFlash#apply
verschoben. (I13944)- Es wurden neue APIs hinzugefügt, mit denen der dynamische Bereich im Vorschau-Anwendungsfall festgelegt und die von jeder Kamera unterstützten dynamischen Bereiche abgefragt werden können. Dadurch können dynamische HDR-Bereiche wie HLG10 allein im Vorschauanwendungsfall verwendet werden, ohne dass gleichzeitig ein
VideoCapture
gebunden werden muss. (If25e3) getMirroring()
wurde inisMirroring()
(I47063) umbenannt- Unterstützung für die Schätzung der Latenz bei der Aufnahme in Echtzeit in CameraX wurde hinzugefügt. Mit Kameraerweiterungen können Anwendungen eine API nutzen, die abschätzen kann, wie lange eine Aufnahme dauern wird. Bei der Schätzung werden die aktuellen Umgebungsbedingungen und der Kamerastatus berücksichtigt. Außerdem wird die Zeit berücksichtigt, die für die Verarbeitung von Aufnahmeanfragen mit mehreren Frames aufgewendet wurde, sowie ggf. die zusätzliche Zeit für die Codierung verarbeiteter Zwischenspeicher. (I05c3a)
ScreenFlashUiControl
wurde inScreenFlash
,ScreenFlashUiControl#applyScreenFlashUi
inScreenFlash#apply
undScreenFlashUiControl#clearScreenFlashUi
inScreenFlash#clear
umbenannt und die MethodegetScreenFlashUiApplyTimeoutSeconds
wurde hinzugefügt, anstattSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS
direkt anzugeben. (Iccdd0)
Fehlerkorrekturen
- Ein Speicherleck wurde behoben, das dazu führte, dass Aktivitäten oder Fragmente nicht freigegeben wurden, wenn Erweiterungen aktiviert wurden (I14215).
- Das Problem, dass
getZoomRatio
fälschlicherweise einen niedrigeren Wert zurückgegeben hat, wenn ein höheres Zoomverhältnis angewendet wurde, wurde behoben. (I4aa0d, b/317543616) - Das
ImageCapture#ScreenFlash#clear
-Ereignis wird sofort aufgerufen, wennImageCapture
nicht gebunden oder die Kamera geschlossen wird. Es werden auch einige Fehler behoben, bei denen es nie aufgerufen wird, weil Aufnahmen in diesen Szenarien nicht ordnungsgemäß abgeschlossen werden. (If99f9) - Der Absturz wurde behoben, der auftrat, wenn der Lebenszyklus gestoppt wurde, bevor die
takePicture
-Anfrage abgeschlossen wurde (Idf017, b/306202751). - Das Problem, dass die Kameravorschau schwarz wurde, wenn Erweiterungen auf einigen Geräten aktiviert waren, wurde behoben (I1ffd0).
- Das Problem mit der falschen Dauer der Videoaufnahme auf Geräten mit dem SoC Snapdragon 778G wurde behoben (If6aa7, b/316057919).
Version 1.4.0-alpha03
13. Dezember 2023
androidx.camera:camera-*:1.4.0-alpha03
wird freigegeben. Version 1.4.0-alpha03 enthält diese Commits.
Neue Funktionen
CameraInfo.mustPlayShutterSound
wurde hinzugefügt, um anzugeben, ob ein Auslösegeräusch gemäß den regionalen Beschränkungen abgespielt werden muss. (Ifda84)OnImageCapturedCallback.onCaptureStarted
undOnImageSavedCallback.onCaptureStarted
wurden hinzugefügt, um benachrichtigt zu werden, wenn die Kamera mit der Belichtung eines Frames begonnen hat. Es wird empfohlen, das Auslösegeräusch oder die Auslöseanimation an dieser Stelle abzuspielen. (Ic49b3)- Kamera X unterstützt jetzt die Funktion „Bildschirmblitz“ für die Aufnahme von Bildern der Frontkamera. CameraX übernimmt die Framework-seitige API-Handhabung und synchronisiert die Zeitangaben je nach Bedarf mit den Änderungen an der Benutzeroberfläche der App (z.B. der AE-Auslöser für die Aufnahme nach einer Änderung der Bildschirmfarbe/Helligkeit des App-Bildschirms). Apps müssen nur ihre Implementierungen auf der Benutzeroberfläche der
ScreenFlashUiControl
-Schnittstelle hinzufügen, die CameraX zur Verfügung gestellt wird. (I8ae84) - Unterstützung für die Implementierung von Bildschirmblitz auf der Benutzeroberfläche in CameraX wurde hinzugefügt. Apps können eine einfache
ImageCapture.ScreenFlashUiControl
-Implementierung abPreviewView
oder der neu hinzugefügtenScreenFlashView
erhalten, die eine einfarbige Overlay-Ansicht ermöglicht und die Bildschirmhelligkeit während der Bildschirmaufnahme von Flash-Fotos maximiert. (I1810e)
API-Änderungen
- Unterstützt neue Erweiterungsfunktionen(Postview- und Capture-Prozessfortschritt): Es wurden
ImageCapture#getImageCaptureCapabilities()
-APIs für Apps hinzugefügt, um die Funktionen von Postview abzufragen und den Callback zum Prozessfortschritt zu erfassen. Apps können die PostView mithilfe vonImageCapture.Builder#setPostviewEnabled()
aktivieren. Die PostView-Größe kann mithilfe vonImageCapture.Builder#setPostviewResolutionSelector()
ausgewählt werden. Beim Aufrufen vontakePicture()
könnenonPostviewBitmapAvailable
undonCaptureProcessProgressed
inOnImageSavedCallback
oderOnImageCapturedCallback
implementiert werden, um die PostView- und Verarbeitungsfortschrittbenachrichtigungen zu erhalten, sofern dies unterstützt wird. (I5cd88) - APIs zur Berechnung der Koordinatentransformation vom Sensor in den aktuellen Zwischenspeicher, mit einer Markierung, die angibt, ob die Oberfläche Informationen zur Kameraausrichtung enthält (I59096)
- Geben Sie die API in der Vorschau
UseCase
für die Abfrage vonPreviewCapabitlity
frei. (Ie5b6c) - Es wurden APIs hinzugefügt, um mehr Qualitäten für
VideoCapture
zu unterstützen.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, möglichst UHD-Video aufzuzeichnen, dieCamcorderProfile
des Geräts jedoch keine UHD-Einstellungen enthält, obwohl der Codec UHD-Videos aufzeichnen kann. (Iedbe2, b/263961771) - Fügen Sie
CameraController
das AusgabeformatImageAnalysis
als Getter/Setter hinzu. (I9a96c, b/308240643)
Fehlerkorrekturen
- Von Kamera
1.3.1
: Die Leistung vonProcessCameraProvider#bindToLifecycle()
wurde verbessert. Die größte Änderung besteht darin, die 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) - Das Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Serien Samsung A71 und M51 wurde behoben. Die aufgenommenen JPEG-Bilder enthalten redundante Padding-Daten mit Nullen im komprimierten JFIF-Datensegment. Dies führt dazu, dass die erfassten Bilder eine extrem große Dateigröße haben. Diese redundanten Padding-Daten für Nullen werden entfernt, damit die aufgenommenen Bilder wieder eine normale Bilddateigröße haben. (I01afc, b/288828159)
- Deaktiviere die
ImageAnalysis
-Unterstützung auf Pixel, um den Fehler zu vermeiden, der versehentlich die nicht leerenImageAnalysis
unterstützten Größen zurückgibt. (I7ec31) - Leistungsproblem behoben, bei dem die CPU-Auslastung und der Stromverbrauch bei aktivierten Erweiterungen zugenommen haben. (Ibdccb)
- Snapdragon 480 wurde dem
CameraUseInconsistentTimebaseQuirk
hinzugefügt. Dadurch wird auf Geräten mit diesem Chipsatz unter Android 12 ein Problem behoben, bei dem die Audiospur in Aufnahmen durch die Dauer des gesperrten Geräts kompensiert wird. (I58010)
Version 1.4.0-alpha02
18. Oktober 2023
androidx.camera:camera-*:1.4.0-alpha02
wird freigegeben. 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) - APIs hinzufügen, um die Gerätefunktion abzufragen und die Video-/Vorschaustabilisierung zu aktivieren (I87544)
- Geben Sie eine API zum Anpassen der Öffnungszeit für die Kamera an. (I0c642)
- Veröffentlichung von
ProcessCameraProvider.shutdownAsync
als öffentliche Test-API, damit Prozesskamera-Anbieter in Testsuiten verwendet werden können, die CameraX zwischen den Tests möglicherweise auf unterschiedliche Weise initialisieren müssen. (I9eca7) - Füge APIs hinzu, um den dynamischen Bereich für die Videoaufnahme, die Framerate und den Spiegelungsmodus zu konfigurieren. (Ifb8f7)
- Verwerfen Sie
OutputSize
und ersetzen Sie ihn durchResolutionSelector
.ResolutionSelector
ist eine umfassendere Möglichkeit zur Auswahl von Auflösungen und entspricht der API des Kamerakerns. (I93abd, b/286801438)
Fehlerkorrekturen
- Das Problem mit der schwarzen Vorschau auf dem Samsung Galaxy S23 Ultra 5G, wenn Bokeh- oder Gesichtsretusche für Erweiterungen mit
ImageAnalysis
auf der Rückkamera aktiviert war, wurde behoben. (I2e8b1) - Probleme mit der Vorschau und
VideoCapture
Verlängerung auf Moto E5 Play wurden behoben. (73dce2)
Version 1.4.0-alpha01
20. September 2023
androidx.camera:camera-*:1.4.0-alpha01
wird freigegeben. Version 1.4.0-alpha01 enthält diese Commits.
API-Änderungen
- Füge eine neue API hinzu, um während der Aufnahme auf Informationen zu Audio-Amplituden 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)
- Es wurde ein Fehler bei der Konfiguration der Aufzeichnungssitzung behoben, der auf die Überschreitung der unterstützten Oberflächenkombination zurückzuführen war, da intern eine zusätzliche sich wiederholende Oberfläche hinzugefügt wurde. (Id718c)
- Das Problem mit großen aufgenommenen JPEG-Bildern auf dem Vivo S16-Gerät wurde behoben. Die aufgenommenen JPEG-Bilder enthalten redundante Padding-Daten mit Nullen im komprimierten JFIF-Datensegment. Dadurch sind die erfassten Bilder sehr groß. Diese redundanten Padding-Daten für Nullen werden entfernt, damit die aufgenommenen Bilder wieder eine normale Bilddateigröße haben. (I79505, b/299069235)
- Das Problem, dass
ImageAnalysis
nicht mitImageCapture
und der Vorschau verbunden werden konnte, wenn auf einigen Geräten einige Erweiterungsmodi aktiviert waren, wurde behoben. Zur Problembehebung wird der richtige Wert zurückgegeben, wenn dieImageAnalysis
-Verfügbarkeit überExtensionsManager#isImageAnalysisSupported()
von Apps abgefragt wird. (I7d538) - Aktualisieren Sie JavaDoc, um das Verhalten anzupassen. Anstatt den Vorgang sofort abzuschließen, warten
#setZoomRatio
,#setLinearZoom
und#enableTorch
, bis die Kamera bereit ist. Außerdem wurden Informationen zum Erreichen des maximalen Sichtfelds mit der#takePicture
API hinzugefügt. (I23588)
Version 1.3
Version 1.3.4
12. Juni 2024
androidx.camera:camera-*:1.3.4
wird freigegeben. Version 1.3.4 enthält diese Commits.
Fehlerkorrekturen
- Das Problem, dass
getZoomRatio
fälschlicherweise einen niedrigeren Wert zurückgegeben hat, wenn ein höheres Zoomverhältnis angewendet wurde, wurde behoben. (I4aa0d, b/317543616) - Das Problem wurde behoben, bei dem immer noch die Werte für den FPS-/Stabilisierungsmodus bei der Aufnahme durch Tippen und durch Tippen nicht berücksichtigt wurden. Dies führte dazu, dass die Aufnahmesitzung neu erstellt werden konnte, was zu Latenzproblemen oder einem Einfrieren der Vorschau bei einigen Geräten führen konnte. (I7dc0b)
- Das Problem, dass die Framerate beim Aufrufen von
setTargetFrameRate
mitFRAME_RATE_RANGE_UNSPECIFIED
auf einen niedrigeren Wert gesetzt wurde, wurde behoben. (I78c61)
Version 1.3.3
17. April 2024
androidx.camera:camera-*:1.3.3
wird freigegeben. Version 1.3.3 enthält diese Commits.
Fehlerkorrekturen
- Das Problem bei der Auswahl der Auflösung von
ImageAnalysis
im Zusammenhang mit der Standardzielauflösungseinstellung des Analyse-Tools wurde behoben: Die Zielauflösung wurde fälschlicherweise als 640 × 480 beibehalten, auch wenn in Anwendungen eine andere Standardauflösungseinstellung des Analysetools festgelegt war. Wenn dieses Problem bei Anwendungen auftritt (1.3.0 bis 1.3.2) und kein Upgrade auf die neueren Versionen möglich ist, die die Lösung enthalten, kann das Problem durch direktes Festlegen einesResolutionSelector
mit der bevorzugten Auflösung und einer passendenAspectRatioStrategy
auf den AnwendungsfallImageAnalysis
umgangen werden. (I81f72, b/330091012)
Version 1.3.2
6. März 2024
androidx.camera:camera-*:1.3.2
wird freigegeben. 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 korrekt und die Funktion
ImageProxy.toBitmap()
gibt korrekte Bitmap-Objekte zurück. (I8d6eb, b/309005680) - Die Auflösungsoption 9280 × 6944 wurde auf Redmi Note 9 Pro-Geräten aufgrund von Problemen entfernt. (Ia23da)
Version 1.3.1
13. Dezember 2023
androidx.camera:camera-*:1.3.1
wird freigegeben. Version 1.3.1 enthält diese Commits.
Fehlerkorrekturen
Die Leistung von ProcessCameraProvider#bindToLifecycle()
wurde verbessert. Die größte Änderung besteht darin, die 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 bis 60 ms
- Samsung Galaxy S23 Ultra: ca. 540 ms bis 45 ms
- Samsung A53 5G: ca. 115 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 bis 12 ms
Snapdragon 480 wurde dem
CameraUseInconsistentTimebaseQuirk
hinzugefügt. Dadurch wird auf Geräten mit diesem Chipsatz unter Android 12 ein Problem behoben, bei dem die Audiospur in Aufnahmen durch die Dauer des gesperrten Geräts kompensiert wird. (I58010)
Version 1.3.0
18. Oktober 2023
androidx.camera:camera-*:1.3.0
wird freigegeben. 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/Stummschaltung aufheben, Framerate festlegen und mehr.
- Duale Kamera
- Effektbibliothek
- Auflösungsauswahl
- Auswahl für Ultraweitwinkel- und Teleskopkamera
- Kamerawechsel bei Videoaufnahmen (experimentelle Funktion)
Version 1.3.0-rc02
20. September 2023
androidx.camera:camera-*:1.3.0-rc02
wird freigegeben. 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 behoben, die beim Wechsel des Erweiterungsmodi oder der Kamera aufgetreten sind. Iddaac
- Das Problem, dass
ImageAnalysis
nicht mitImageCapture
und der Vorschau verbunden werden konnte, wenn auf einigen Geräten einige Erweiterungsmodi aktiviert waren, wurde behoben. Zur Problembehebung wird der richtige Wert zurückgegeben, wenn dieImageAnalysis
-Verfügbarkeit überExtensionsManager#isImageAnalysisSupported()
von Apps abgefragt wird. (I7d538) - Audio- und Videoaufzeichnungen waren nicht synchron, wenn der Spiegelungsmodus auf Xiaomi Poco X3 NFC aktiviert war. Dieses Problem wurde behoben. (I20b4c)
Version 1.3.0-rc01
23. August 2023
androidx.camera:camera-*:1.3.0-rc01
wird freigegeben. Version 1.3.0-rc01 enthält diese Commits.
API-Änderungen
PendingRecording.asPersistentRecording
wurde hinzugefügt, damit eine Aufzeichnung kontinuierlich aufgezeichnet wird, während dieVideoCapture
, mit der der Rekorder verbunden ist, wieder aufgenommen wird. (I517c6)
Fehlerkorrekturen
- Ein Absturz wurde behoben, wenn ein Stream sowohl für
VideoCapture
als auch für die Vorschau freigegeben wurde. Auch ein schwarzer Bildschirm auf LEGACY-Geräten bei aktivierter Streamfreigabe wurde behoben. - Das Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Serie Samsung S7 (SM-G930T, SM-G930V) wurde behoben. Die aufgenommenen JPEG-Bilder enthalten redundante Padding-Daten mit Nullen im komprimierten JFIF-Datensegment. Dadurch sind die erfassten Bilder sehr groß. Diese redundanten Padding-Daten für Nullen werden entfernt, damit die aufgenommenen Bilder wieder eine normale Bilddateigröße haben. (I407b0, b/288828159)
- Das 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 aufgenommenen JPEG-Bilder enthalten redundante Padding-Daten mit Nullen im komprimierten JFIF-Datensegment. Dadurch haben die erfassten Bilder auf dem S22 SM-S901B/DS-Gerät eine große Dateigröße von etwa 13 MB. Diese redundanten Padding-Daten für Nullen werden entfernt, damit die aufgenommenen Bilder wieder eine normale Bilddateigröße haben. (I73be9, b/288828159)
- Das Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Serien Samsung A5, A52, A70 und A72 wurde behoben. Die aufgenommenen JPEG-Bilder enthalten redundante Padding-Daten mit Nullen im komprimierten JFIF-Datensegment. Dadurch haben die erfassten Bilder eine extreme Dateigröße, zum Beispiel etwa 32 MB oder sogar 96 MB. Diese redundanten Padding-Daten für Nullen werden entfernt, damit die aufgenommenen Bilder wieder eine normale Bilddateigröße haben. (I97c4d, b/288828159)
- Der native Absturz bei der Aufnahme von Bildern mit aktivierten Erweiterungen wurde behoben (I698f5).
Version 1.3.0-beta02
26. Juli 2023
androidx.camera:camera-*:1.3.0-beta02
wird freigegeben. Version 1.3.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Taschenlampe als Blitz für Pixel 4 und Pixel 5 verwenden, um die Aufnahmequalität bei wenig Licht zu verbessern (I56ff5, b/280221967)
- Das Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Serie Samsung A5 (2017) wurde behoben. Die aufgenommenen JPEG-Bilder enthalten redundante Padding-Daten mit Nullen im komprimierten JFIF-Datensegment. Dadurch haben die erfassten Bilder eine Dateigröße von etwa 32 MB. Diese redundanten Padding-Daten für Nullen werden entfernt, damit die aufgenommenen Bilder wieder eine normale Bilddateigröße haben. (I29837, b/288828159)
- Ein Problem wurde behoben, bei dem die Wiederholungsversuche bei einem Aufnahmefehler bei problematischen Geräten, die in
CaptureFailedRetryQuirk
erwähnt wurden, nicht ordnungsgemäß ausgelöst wurden. (I7b589)
Version 1.3.0-beta01
21. Juni 2023
androidx.camera:camera-*:1.3.0-beta01
wird freigegeben. Version 1.3.0-beta01 enthält diese Commits.
API-Änderungen
- Der Name der
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)
-Funktion wurde insetAllowedResolutionMode
umbenannt und dieResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
-Konstanten inPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION
/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE
umbenannt. (If84e8) - Die verworfenen APIs
ImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
undVideoCapture.setTargetRotationDegrees(int)
wurden entfernt. (Id8e77) - Die Klasse
DynamicRange
stellt den dynamischen Bereich von Bildern dar. Kann verwendet werden, um High Dynamic Range-Formate als Ausgabe vonVideoCapture
bisVideoCapture.Builder#setDynamicRange()
auszuwählen. (Ib0377) - Der
ExtensionsManager
wurde eineisImageAnalysisSupported
API hinzugefügt. Über diese API können Apps feststellen, ob einImageAnalysis
-Anwendungsfall verknüpft werden kann, zusammen mit der Vorschau undImageCapture
, wenn Erweiterungen aktiviert sind. (I1bc63) - Mit der neuen Klasse
VideoCapabilities
aus demRecorder
können unterstützte dynamische Bereiche und Qualitäten für die Videoaufnahme auf dem Gerät abgefragt werden. Die MethodengetSupportedQualities()
undisQualitySupported()
vonQualitySelector
werden eingestellt. Verwende stattdessen die MethodengetSupportedQualities()
undisQualitySupported()
vonVideoCapabilities
. (I04014) CameraController#setVideoCaptureTargetQuality()
wurde insetVideoCaptureQualitySelector
umbenannt und verwendet das ArgumentQualitySelector
, das mehr Flexibilität bei der Einrichtung der Videoqualität bietet.CameraController#getVideoCaptureTargetQuality()
wird entsprechend zugetVideoCaptureQualitySelector
geändert. (I520ed)- Die experimentelle Anmerkung für Videofunktionen wurde entfernt. Die Videofunktionen sind jetzt stabil. (I1a113)
Fehlerkorrekturen
- Auf Samsung SM-A320-Modellen als Blitzlicht verwenden, um bei schlechten Lichtverhältnissen die Geschwindigkeit und die Bildqualität zu verbessern (I6a022, b/286190938)
ImageFormat.JPEG
-Formatunterstützung fürImageProxy.toBitmap()
hinzufügen. Wenn das JPEG-Bytearray nicht decodiert werden kann, wird einUnsupportedOperationException
ausgegeben. (I81958, b/282057603)
Version 1.3.0-alpha07
24. Mai 2023
androidx.camera:camera-*:1.3.0-alpha07
wird freigegeben. Version 1.3.0-alpha07 enthält diese Commits.
Neue Funktionen
- Mit der neuen
VideoCapture.Builder# setTargetFrameRate(Range)
API können Videoaufnahmen auch mit anderen Framerates als der Standardeinstellung des Geräts aufgenommen werden. Die verfügbaren Framerates für Aufnahmen 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 Name der Builder-FunktionsetHighResolutionEnabledFlag
insetAllowedResolutionMode
wurde umbenannt. (Iae817) CameraInfo#getSupportedFrameRateRanges()
gibt jetztSet
stattList
zurück, um besser darzustellen, dass die Bereiche unsortiert sind. (I02f43)- Fügen Sie
CameraEffect
einen Fehler-Listener hinzu, um nicht behebbare Fehler zu verarbeiten (Ice471). - Fügen Sie zur besseren Testbarkeit einen öffentlichen Konstruktor in
ResolutionInfo
hinzu (If6d1c) - Eine API
UseCase.snapToSurfaceRotation(int)
wurde bereitgestellt, um die Nutzung vonsetTargetRotationDegrees
zu ersetzen und die APIImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
undVideoCapture.setTargetRotationDegrees(int)
einzustellen. (Ia9010) - Neue API
Preview#getTargetFrameRate
undPreview.Builder#setTargetFrameRate
hinzugefügt, um die Ziel-Framerate für den Vorschau-Anwendungsfall festlegen und abrufen zu können (If4f22) VideoRecordEvent.Finalize
enthält jetzt den FehlercodeERROR_RECORDING_GARBAGE_COLLECTED
, wenn dasRecording
-Objekt aufgrund der automatischen Speicherbereinigung beendet wird. (Iba974)
Fehlerkorrekturen
NullPointerException
wurde korrigiert, wenn die im Cache gespeicherten Ausgabegrößen inStreamConfigurationMapCompat
null sind. (Idf124, b/282025204)- Problem behoben, bei dem
Preview.setSurfaceProvider(null)
die Vorschau in Erweiterungen nicht pausiert hat (Ia903e) - Ein Problem wurde behoben, bei dem
ConcurrentModificationException
beim Öffnen der Kamera ausgelöst wurde, wennVideoCapture
gebunden wurde. (Ic8ac4)
Version 1.3.0-alpha06
19. April 2023
androidx.camera:camera-*:1.3.0-alpha06
wird freigegeben. Version 1.3.0-alpha06 enthält diese Commits.
Neue Funktionen
- Die gleichzeitige Kamera ist eine neue Funktion, die ab Android 11 eingeführt wurde und das gleichzeitige Streaming von Kamerageräten unterstützt. So können auf einem Gerät beispielsweise die Front- und Rückkamera gleichzeitig laufen. CameraX unterstützt derzeit nur zwei Kameras gleichzeitig. Das ermöglicht die gleichzeitige Nutzung von zwei Kameras mit maximal zwei {@link UseCase}s. Die maximale Auflösung beträgt 720p oder 1440p. Weitere Informationen finden Sie im folgenden Link: CameraManager#getConcurrentCameraIds()
- Die neue
ResolutionSelector
API unterstützt die folgenden Funktionen:- Anwendungen können Strategien für das Seitenverhältnis und die Auflösung festlegen, um die beste Auflösung für ihre Anforderungen auszuwählen.
- Alle Parameter für Größe und Seitenverhältnis werden in den Koordinaten des Gerätesensors der Kamera angegeben.
- Anwendungen können einen benutzerdefinierten Auflösungsfilter implementieren, um die unterstützten Größen in der gewünschten Reihenfolge anzuordnen.
- Anwendungen können auch Aufnahmen in hoher Auflösung ermöglichen, um Bilder mit höherer Auflösung zu erhalten. Beachten Sie jedoch, dass die Aufnahme einer hohen Auflösung länger dauern kann.
VideoCapture
Spiegelungs-APIs hinzugefügt. VonVideoCapture
aufgenommene Videos werden nicht standardmäßig gespiegelt. Die Kameravorschau wird jedoch standardmäßig auf der Frontkamera gespiegelt. MitVideoCapture
-Spiegelungs-APIs kann bei Verwendung der Frontkamera eine Ausrichtung auf die Kameravorschau vorgenommen werden. Es gibt dreiMirrorMode
,OFF
,ON
undON_FRONT_ONLY
. Zum Ausrichten an der Kameravorschau empfiehlt sich die Verwendung vonON_FRONT_ONLY
. Das bedeutet, dass die Spiegelung nicht für die Rückkamera, aber für die Frontkamera aktiviert ist.
API-Änderungen
- Neue
ResolutionSelector
API freigegeben. In Anwendungen können mithilfe von Fallback-Regeln oder einem benutzerdefinierten Auflösungsfilter Strategien für das Seitenverhältnis und die Auflösung festgelegt werden, um die gewünschten Ergebnisse zu erzielen. Anwendungen können ein Flag angeben, um eine Aufnahme in hoher Auflösung zu ermöglichen. So kann CameraX bei der Aufnahme von Fotos oder Videos höhere Auflösungen auswählen. Beachten Sie jedoch, dass die Aufnahme einer hohen Auflösung länger dauern kann. (Ibed95) - Die vom AE-Algorithmus unterstützten fps-Bereiche können jetzt über
CameraInfo#getSupportedFrameRateRanges()
abgefragt werden. (Iaa67f) - Fassen Sie die Namen aller Framerate-Methoden mithilfe von 'FrameRate' zusammen. Korrigieren Sie den Javadoc-Fehler in
VideoCapture#getTargetFrameRate()
(I83304) - Die alte
setTargetAspectRatio
- undsetTargetResolution
-API wurde verworfen. Verwenden Sie stattdessen die neueResolutionSelector
API. (I542c3) - Es wurden öffentliche APIs für die gleichzeitige Verwendung von zwei Kameras hinzugefügt, einschließlich
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
boolean isConcurrentCameraModeOn()
undConcurrentCameraConfig
,SingleCameraConfig
undConcurrentCamera
(Iab1c1)
ImageProcessor.Response#getOutputImage
als Nicht-Null festlegen (Ib9c60)VideoCapture
Spiegelungs-APIs hinzugefügt, einschließlichVideoCapture.Builder.setMirrorMode(int)
undVideoCapture.getMirrorMode()
. Die APIs sind nützlich für Anwendungen, bei denen die Videoaufzeichnung mit dem üblichen Vorschauverhalten der Kamera übereinstimmen muss, d.h., die Vorschau der Rückkamera wird nicht gespiegelt, aber die Frontkamera-Vorschau gespiegelt. (I713b6, b/194634656)- Fügen Sie die
setTargetFrameRate()
API in derVideoCapture.Builder
und dergetTargetFramerate()
API inVideoCapture
hinzu (I109d4). - Machen Sie
SurfaceOutput
, die Closable erweitert, und blenden Sie den öffentlichen Konstruktor von SurfaceOutput.Event
aus. (I60ea8) Recording.mute
wurde hinzugefügt, um eine Aufzeichnung während der Verarbeitung dynamisch stummzuschalten oder die Stummschaltung aufzuheben.RecordingStats
enthältAudioStats.AUDIO_STATE_MUTED
, wenn die laufende Aufzeichnung explizit stummgeschaltet wird. (Ie17fc)- Der Parameter
#setEffects()
wurde auf den Wert null gesetzt. Füge eine#clearEffects()
API zum Entfernen 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 Kopierkonstruktor zu verwenden (I621a7).
Fehlerkorrekturen
- Apps, die die Extensions API aufrufen, konnten beim Schließen der Kamera abstürzen (Ib27e5). Dieses Problem wurde behoben.
- Das Problem, dass „
VideoCapture
“ auf einigen Geräten mit der Frontkamera nicht funktioniert hat, wurde behoben. Beispiel auf dem Samsung Galaxy S23 und dem Xiaomi 2107113SG. (Ibec7e, b/270656244) - Das Problem, dass die Aufnahme von Bildern mit der Datei „Datei“ im öffentlichen externen Speicherordner unter Android 10 oder höher immer fehlgeschlagen ist, wurde behoben. Bitte beachten Sie, dass unter Android 10 für die Aufnahme von Bildern mit der Datei „Datei“ im öffentlichen Ordner des externen Speichers außerdem
requestLegacyExternalStorage
im App-Tag auf „true“ gesetzt werden muss. (I11b2c) - Ein
RejectedExecutionException
-Absturz inDefaultSurfaceProcessor
wurde behoben. Der Absturz könnte 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
wird freigegeben. Version 1.3.0-alpha05 enthält diese Commits.
API-Änderungen
VideoCapture
Rotations-APIs hinzugefügt, einschließlichVideoCapture.Builder.setTargetRotation(int)
,VideoCapture.setTargetRotation(int)
,VideoCapture.setTargetRotationDegrees(int)
undVideoCapture.getTargetRotation()
. Die APIs sind nützlich für Anwendungen, die die Geräteausrichtung sperren.ImageCapture.setTargetRotationDegrees(int)
undImageAnalysis.setTargetRotationDegrees(int)
wurden ebenfalls hinzugefügt. (Id3ffe, b/205242781)VIDEO_CAPTURE
undPREVIEW|VIDEO_CAPTURE
als Effektziel zulassen. Effekte, die auf „VIDEO_CAPTURE
“ ausgerichtet sind, werden auf den Anwendungsfall „VideoCapture
“ angewendet. Effekte, die auf „PREVIEW|VIDEO_CAPTURE
“ ausgerichtet sind, werden auf einen geteilten Stream angewendet, bevor sie in die Vorschau und denVideoCapture
-Stream kopiert werden. (Iee6f3)
Fehlerkorrekturen
- Von Kamera
1.2.2
: Das Problem, dass CameraX-Erweiterungen auf einigen Geräten wie Pixel (I90aa2) nicht richtig funktionierten, wenn Proguard aktiviert war, wurde behoben. - Ein
PreviewView
-Fehler wurde behoben, bei dem die Vorschau beim Drehen verzerrt werden kann, wenn die App die Bildschirmausrichtung selbst übernimmt. 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
wird freigegeben. Version 1.3.0-alpha04 enthält diese Commits.
Neue Funktionen
Eine neue Funktion, mit der bisher nicht unterstützte Oberflächenkombinationen durch die gemeinsame Nutzung eines Streams für mehrere Anwendungsfälle unterstützt werden.
- Bisher hat CameraX beim Binden von „Preview, VideoCapture, ImageAnalysis“ auf Kamerahardwareebene VOLL und darunter oder bei Bindung von „Preview, VideoCapture, ImageCapture“ auf Hardwareebene LEGACY
IllegalArgumentException
ausgelöst. - 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 das Kopieren des Zwischenspeichers anfallen, können die Latenz und der Stromverbrauch der Anwendung steigen.
API-Änderungen
- Füge eine API hinzu, um
ImageProxy
inBitmap
zu konvertieren. Das unterstützteImageProxy
-Format istImageFormat.YUV_420_888
undPixelFormat.RGBA_8888
. Wenn das Format ungültig ist, wirdIllegalArgumentException
ausgelöst. (Ic7110) CoroutineCameraViewfinder
wurde hinzugefügt, um die Konfiguration des Suchers mithilfe von Sperrfunktionen in Kotlin zu unterstützen. (I657bc)- Neuen öffentlichen Konstruktor für
ViewfinderSurfaceRequest
hinzufügen. Sie bietet die Flexibilität, wenn der NutzerCameraCharacteristics
nicht angeben kann. (Ie6549)
Fehlerkorrekturen
- Der Absturz von Erweiterungen, der auf einigen Samsung-Geräten auftrat, wenn die App zu schnell pausiert oder fortgesetzt wurde, wurde behoben (Iaca26).
Version 1.3.0-alpha03
25. Januar 2023
androidx.camera:camera-*:1.3.0-alpha03
wird freigegeben. 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
wurde hinzugefügt, um Informationen zur Objektivausrichtung bereitzustellen.CameraSelector#LENS_FACING_EXTERNAL
wurde als experimentelle Funktion zur Auswahl externer Kameras hinzugefügt. (Icaf3e)- Füge
#setEffect()
zuCameraController
hinzu, um Effekte zur Kameraausgabe hinzuzufügen. (I1d21f) - Fügen Sie die Methode
invalidate()
zuSurfaceRequest
hinzu. Der Anbieter von Oberflächen kann Ihnen mitteilen, 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) - Die API „
Recorder.Builder.setAspectRatio()
“ wurde hinzugefügt, die mitQualitySelector
kombiniert werden kann, um noch mehr Videoauflösungen zu unterstützen. (I8a082) Recorder.Builder#setTargetVideoEncodingBitRate
wurde hinzugefügt, umBitRate
undRecorder#getTargetVideoEncodingBitRate
für die Zielvideocodierung festzulegen, um die Bitrate der Zielvideocodierung zu erhalten. (I5984d)
Fehlerkorrekturen
ImageCapture
ist fehlgeschlagen, wenn keine Blitzeinheit vorhanden und der Blitzmodus aktiviert ist. (I9e8b4, b/263391112)- Das Problem mit Beschädigungen von JPEG-Bildern beim Schreiben von EXIF-Standortdaten auf einigen Samsung Android 12-Geräten wurde behoben. (Ib7086, b/263747161, b/263289024)
- Wenn die Taschenlampe bzw. der Zoom vor den Compelets für die Kamerainitialisierung eingestellt wird (z. B. beim 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
wird freigegeben. Version 1.3.0-alpha02 enthält diese Commits.
API-Änderungen
- eine neue API zum Anwenden von Nachbearbeitungseffekten auf die Vorschauausgabe hinzufügen. (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 Videoaufnahme zu verarbeiten. Die Annotation@RequiresPermission
wird vonstartRecording
-Funktionen inAudioConfig
verschoben, um unnötige Berechtigungsanfragen für Fälle zu vermeiden, in denen kein Audio benötigt wird. (I28755) - Entfernt die Klassen „Metadata“ sowie die Klassen
OnVideoSavedCallback
,OutputFileOptions
undOutputFileResults
, die nach Anwendung der neuen Videoaufnahme-API nicht mehr verwendet werden. (I38cd8) - Wenden Sie die neue Video Capture API an. Die Methoden
getVideoCaptureTargetSize
undsetVideoCaptureTargetSize
werden durch die MethodengetVideoCaptureTargetQuality
undsetVideoCaptureTargetQuality
ersetzt, dasetTargetResolution
nicht mehr unterstützt wird. (I2a1d5)
Fehlerkorrekturen
- Verworfene
core.VideoCapture
API entfernen. (I531e0) - Das Problem, dass der
onError
-Callback bei Fotos ohne Speicherberechtigung nicht aufgerufen wurde (I936db, b/244807669) wurde behoben. - Verbessern Sie die Qualität und Zuverlässigkeit von Kameraerweiterungen. Kameraerweiterungen sind auf Motorola-Geräten mit Kameraerweiterungen v1.1.0 und älter deaktiviert, da Probleme mit der Bokeh-Unterstützung, der Bildaufnahme und der Fortsetzung der Vorschau auftreten können. (Id3ce3)
- Der native Absturz wurde behoben, wenn das Zuschneiden von Videos über
ViewPort
auf älteren Geräten aktiviert ist. (I16b8a, b/251357665)
Version 1.3.0-alpha01
9. November 2022
androidx.camera:camera-*:1.3.0-alpha01
wird freigegeben. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
Camera-viewfinder
wurde offiziell veröffentlicht.Camera-viewfinder
bietet ein Basissucher-Widget, mit dem der Kamerafeed der Camera2 angezeigt werden kann. Im Beispielcode finden Sie ein Beispiel.
API-Änderungen
OutputOptions.setDurationLimit
wurde hinzugefügt, um das Festlegen der Dauer von Videos zu ermöglichen. Die Aufzeichnung wird automatisch abgeschlossen, wenn die angegebene Dauer überschritten wird. (I902a0)- Audiofehlerstatus für Videoaufnahme hinzufügen:
AudioStats.AUDIO_STATE_SOURCE_ERROR
. Wird gesendet, wenn die Einrichtung der Audioquelle fehlschlägt oder ein Fehler auftritt. (I37410)
Fehlerkorrekturen
- Füge etwas Eigenheiten hinzu, damit bei problematischen Geräten ein neuer Aufnahmeversuch möglich ist, wenn Aufnahmefehler auftreten. (Id4795)
- Problem mit dem schwarzen Bildschirm bei der Implementierung von
PreviewView
SurfaceView
aufViewPager2
beheben. Im Rahmen der Korrektur verwendetPreviewView
dieSurfaceView
wieder, wenn die angeforderte Auflösung nicht geändert wird. (Ib3f27) - Das Zuschneiden von Videos (WYSIWYG-Funktion) wird unterstützt, wenn die
ViewPort
- oderCameraController
-API verwendet wird. (Ifbba8, b/201085351) - Ein Problem mit der Frontkamera, das auf dem Huawei P40 Lite aufgenommen wurde, wurde behoben. (I87c57, b/250807400)
Version 1.2
Version 1.2.3
24. Mai 2023
androidx.camera:camera-*:1.2.3
wird freigegeben. Version 1.2.3 enthält diese Commits.
Fehlerkorrekturen
- Das Problem, dass „
VideoCapture
“ auf einigen Geräten mit der Frontkamera nicht funktioniert hat, wurde behoben. Beispiel auf dem Samsung Galaxy S23 und dem Xiaomi 2107113SG. (Ibec7e, b/270656244)
Version 1.2.2
22. März 2023
androidx.camera:camera-*:1.2.2
wird freigegeben. Version 1.2.2 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem CameraX-Erweiterungen auf einigen Geräten wie Pixel (I90aa2) nicht richtig funktionierten, wenn Proguard aktiviert war
Version 1.2.1
25. Januar 2023
androidx.camera:camera-*:1.2.1
wird freigegeben. Version 1.2.1 enthält diese Commits.
Fehlerkorrekturen
- Problem mit Beschädigung von JPEG-Bildern beim Schreiben von EXIF-Standortdaten auf einigen Samsung Android 12-Geräten wurde behoben. (b/263289024)
Version 1.2.0
7. Dezember 2022
androidx.camera:camera-*:1.2.0
wird freigegeben. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Neue Bibliothek „kamera-mlkit-vision“. CameraX lässt sich ganz einfach in viele MLKit-Funktionen wie Barcode-Scanning, Gesichtserkennung, Texterkennung usw. einbinden.
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, wird die Latenz zwischen dem Klicken auf den Auslöser und der Aufnahme des Bildes im Vergleich zu anderen Aufnahmemodi voraussichtlich minimiert. Auf Geräten, dieZERO_SHUTTER_LAG
nicht unterstützen, wird aufCAPTURE_MODE_MINIMIZE_LATENCY
zurückgesetzt. android.camera.core.VideoCapture
wird eingestellt.setStreamUseCase()
wurde als öffentlicheCamera2Interop
API hinzugefügt.- Für
setOutputImageRotationEnabled
wurde eine API-Level-Anforderung hinzugefügt. ImageAnalysis.Analyzer#getTargetResolutionOverride()
wurde inImageAnalysis.Analyzer#getDefaultTargetResolution()
umbenannt.- Es wurde eine API zum Festlegen von Standortmetadaten für das gespeicherte Video hinzugefügt.
- Niedrige Framerate bei Verwendung von
VideoCapture
und der Vorschau in Anwendungsfällen mit einem Seitenverhältnis von 16:9 wurde korrigiert - Es wurde ein Problem mit der schwarzen Vorschau behoben, das auftrat, wenn die BOKEH-Erweiterung auf einigen Samsung-Geräten aktiviert war und der Nutzer die Kameras wechselte.
- Das Problem mit den erweiterten erweiterten Funktionen von Samsung J7 Prime (SM-G610M) und J7 (SM-J710MN)
Preview/VideoCapture
auf Geräten mit API-Level 27 wurde behoben. - Die Problemumgehung zum horizontalen Umdrehen des AF-Bereichs der Frontkameras von 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
wird freigegeben. Version 1.2.0-rc01 enthält diese Commits.
API-Änderungen
- Fügen Sie die
setStreamUseCase
API fürOutputConfiguration
hinzu. Der Nutzer kann den Stream-Anwendungsfall für die Streamsitzung angeben und so die interne Logik von CameraX überschreiben, um den Anwendungsfall „Stream“ zu wählen und ihn entsprechend seiner Anforderungen zu optimieren. (Ib1a95)
Fehlerkorrekturen
- Das Problem mit den erweiterten erweiterten Funktionen von 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, um nicht die Auflösung 1920 x 1080 für die Vorschau oderVideoCapture
auszuwählen, um ein Problem mit gedehnten Bildern zu vermeiden. (I0e04e) - Eine niedrige Framerate bei Verwendung von
VideoCapture
und der Vorschau in Anwendungsfällen mit einem Seitenverhältnis von 16:9 auf einigen Huawei-Geräten wurde behoben. (If8c88, b/223643510) - Ein Fehler beim Öffnen der Kamera wurde behoben, wenn „
SurfaceProvider
“ der Vorschau nicht festgelegt war. Im Rahmen dieser Problembehebung wird jetzt keine Vorschau ohneSurfaceProvider
in der Kameraaufnahme konfiguriert. (I99681)
Version 1.2.0-beta02
21. September 2022
androidx.camera:camera-*:1.2.0-beta02
wird freigegeben. 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 Umkehren des AF-Bereichs der Frontkameras von Samsung Android T wurde deaktiviert, da das Problem behoben wurde. (I05f69)
- Das Problem mit der schwarzen Vorschau, das auftrat, wenn die Erweiterung
BOKEH
auf einigen Samsung-Geräten aktiviert war und Nutzer die Kameras wechseln, wurde behoben. (If6168)
Version 1.2.0-beta01
24. August 2022
androidx.camera:camera-*:1.2.0-beta01
wird freigegeben. Version 1.2.0-beta01 enthält diese Commits.
Neue Funktionen
- Neue Mediathek:
camera-mlkit-vision
. CameraX lässt sich ganz einfach in viele MLKit-Funktionen wie Barcode-Scanning, Gesichtserkennung, Texterkennung usw. einbinden. 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, wird die Latenz zwischen dem Klicken auf den Auslöser und der Aufnahme des Bildes im Vergleich zu anderen Aufnahmemodi voraussichtlich minimiert. Auf Geräten, die ZERO_SHUTTER_LAG nicht unterstützen, wird auf CAPTURE_MODE_MINIMIZE_LATENCY zurückgesetzt.
ImageAnalysis.Analyzer
undMLKitAnalyzer
wurden als offizielle APIs eingeführt.- Exposed API zum Festlegen von Standortmetadaten für das gespeicherte Video.
- Benennen Sie
ImageAnalysis.Analyzer#getTargetResolutionOverride()
inImageAnalysis.Analyzer#getDefaultTargetResolution()
um.
Fehlerkorrekturen
- Das Bilderfassungsproblem von Alps k61v1_basic_ref wurde behoben. Die aufgenommenen JPEG-Bilder von HAL haben falsche EXIF-Metadaten. Die EXIF-Metadaten enthalten nicht das Tag 0xffd9 oder 0xffda, damit
ExifInterface
die Attribute korrekt parsen kann. 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
wird freigegeben. 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 mit dem Wert vonImageAnalysis#setTargetResolution()
überschrieben werden kann. (If1d36) - Exposed 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 beim Aufnehmen eines Bilds mit aufgehobener Vorschau (Ie70b6, b/235119898).
- Das Problem mit einem Absturz in
Recorder
wurde behoben, wenn versucht wurde, eine Aufnahme durchzuführen, während die Audioquelle nicht verfügbar war. (I9f652)
Version 1.2.0-alpha03
29. Juni 2022
androidx.camera:camera-*:1.2.0-alpha03
wird freigegeben. Version 1.2.0-alpha03 enthält diese Commits.
API-Änderungen
- Die experimentelle Annotation für
ImageAnalysis.Analyzer
undMLKitAnalyzer
wurde entfernt. (I0ff22)
Fehlerkorrekturen
- Neues Standardzeitlimit für den Autofokus von 5.000 ms hinzugefügt, das den AF-Teil mit
isFocusSuccessful
falsch beendet, wennFocusMeteringAction
nicht abgebrochen wird und der AF-Teil in der Dauer nicht konvergiert wird. (Ibc2e3) - Problem beim Aufnehmen eines Bildes mit aufgehobener Vorschau (I1d3a2, b/235119898) beheben
- Erweiterte Extender-Implementierung wurde aktiviert und die CameraX-Support-Extension-Interface-Version wurde auf 1.2 aktualisiert (I92256).
Version 1.2.0-alpha02
1. Juni 2022
androidx.camera:camera-*:1.2.0-alpha02
wird freigegeben. Version 1.2.0-alpha02 enthält diese Commits.
Neue Funktionen
- Verwenden Sie die CameraX Zero-Shutter Lag API als experimentell.
API-Änderungen
- Füge einen neuen Aufnahmemodus
CAPTURE_MODE_ZERO_SHUTTER_LAG
inImageCapture
undisZslSupported
inCameraInfo
hinzu, um die Gerätefunktion abzufragen. ImCAPTURE_MODE_ZERO_SHUTTER_LAG
-Modus wird versucht, die minimale Latenz für Sofortaufnahmen zu gewährleisten. Sie wird auf Grundlage eines Ringpuffers implementiert, der Aufnahmeergebnisse zwischenspeichert, um sie später erneut zu verarbeiten, wenn der Nutzer Schaltflächen zum Aufnehmen von Bildern drückt. Wenn {@link VideoCapture} gebunden, der Blitzmodus nicht deaktiviert oder die OEM-Erweiterung aktiviert ist, wird dieser Modus automatisch deaktiviert. (I9ae74) - Methode
ImageAnalysis.getBackgroundExecutor()
hinzufügen (Icc945)
Fehlerkorrekturen
- Das Problem mit der "takePicture-Methode" von
ImageCapture
wurde behoben, durch die die Taschenlampe auf den gemeldeten Geräten ausgeschaltet wurde. (Ib5eb5, b/228272227) - Es wurde ein Fehler behoben, bei dem
AssertionError
beim Abrufen desCONTROL_ZOOM_RATIO_RANGE
-Attributs nicht verarbeitet wurde.(/Ia248a, b/231701345)
Version 1.2.0-alpha01
18. Mai 2022
androidx.camera:camera-*:1.2.0-alpha01
wird freigegeben. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Neue Bibliothek „kamera-mlkit-vision“
Fehlerkorrekturen
- Problem behoben, bei dem
QualitySelector
kein UHD-Video aufzeichnet, wenn eine Fallback-Strategie aktiviert ist. Das Problem tritt auf, wennVideoCapture
anImageCapture
gebunden ist und in der Vorschau auf einem Kameragerät auf Hardwareebene oder höher ist. Die Fallback-Strategie „QualitySelector
“ 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) - Problem mit
NullPointerException
amImageCapture.takePicture()
behoben. (I92366, b/230454568, b/229766155) - Asynchrones Pausenverhalten von
androidx.camera.video.Recorder
(Ia8ce8) korrigieren
Kamera-Kamera2, Kamerakern, Kameralebenszyklus und Kamera-Video-Version 1.1.0
Version 1.1.0
29. Juni 2022
androidx.camera:camera-*:1.1.0
wird freigegeben. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.0.0
- „Landed View“, „Extension“ und „Video Capture“ als erste RC-Version. Ab 1.1.0-beta01 haben alle CameraX-Bibliotheken dieselbe Versionsnummer. Dies wird Entwicklern helfen, Versionen viel einfacher zu verfolgen und die Komplexität großer Versionskompatibilitätsmatrizen zu reduzieren.
- Einführung neuer öffentlicher APIs und Funktionen, darunter:
- Fügen Sie die offizielle Mediathek für 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 zulassen, dass CameraX-Apps die Kamera fortsetzen, wenn die Kamera durch eine andere App unterbrochen wird und der Fokus wieder fokussiert ist.
- Durch Behebung einiger Probleme mit der Vorschau wird sichergestellt, dass CameraX auf faltbaren Geräten gut funktioniert.
- Eine
CameraState
API wurde 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. - JPEG-Ausgabeformat für
ImageCapture#OnImageCapturedCallback
, wenn Erweiterungen aktiviert sind - Die API „
isFocusMeteringSupported
“ wurde zuCameraInfo
hinzugefügt. Damit können Anwendungen prüfen, ob die angegebeneFocusMeteringAction
von der aktuellen Kamera unterstützt wird. - Gefährdete
getResolutionInfo
API zur Bereitstellung der Auflösungsinformationen für die Vorschau,ImageCapture
undImageAnalysis
. - Es wurde eine neue API
ImageCapture.Builder#setJpegQuality
hinzugefügt, die das Ändern der JPEG-Ausgabekomprimierungsqualität bei der Aufnahme von Bildern ermöglicht. 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 wurde hinzugefügt.- Es wurde eine experimentelle API zur Verwendung von
CameraController
mit externen Bildverarbeitungsbibliotheken hinzugefügt, z. B.MLKit. - Die experimentelle API
CameraInfo#getCameraSelector()
wurde hinzugefügt, die eineCameraSelector
eindeutig für die Kamera zurückgibt - Mehrere experimentelle APIs wurden zu formalen öffentlichen APIs hochgestuft
- Die Annotation
@Experimental
wurde in den experimentellen APIs durch@RequiresOptIn
ersetzt. Verwenden Sie zum Aufrufen experimenteller APIs androidx.annotation.OptIn anstelle des verworfenen Objekts androidx.annotation.experimental.UseExperimental. - Die folgenden experimentellen APIs wurden auf offizielle APIs hochgestuft:
CameraXConfig.Builder#setAvailableCamerasLimiter()
,CameraXConfig.Builder#setMinimumLoggingLevel()
,CameraXconfig.Builder#setSchedulerHandler()
,CameraXConfig#getAvailableCamerasLimiter()
,CameraXConfig#getMinimumLoggingLevel()
,CameraXConfig#getCameraExecutor()
,CameraXConfig#getSchedulerHandler()
, @ExperimentalCameraFilter
APIs- oder experimenteller Expositionskompensation.
- Wir haben die experimentelle
UseCaseGroup
API für Kamerakern, Kameralebenszyklus und Kameravideo beworben.ViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
undViewPort.Builder#setScaleType
zum Anpassen des Darstellungsbereichs hinzugefügt. - Die
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.QualitySelector
Creator API wurde in eine listenbasierte API geändert
Fehlerkorrekturen
- Das Problem
YuvToJpegProcessor
EOFException
wurde behoben, wenn der Erweiterungsmodus aktiviert und derImageCapture#CAPTURE_MODE_MAX_QUALITY
-Modus festgelegt wurde. - Fehler bei der Codec-Konfiguration, da die Videoaufzeichnung beendet wurde
- Das Seitenverhältnis von Vorschau und Video bei Aufzeichnung in FHD wurde korrigiert.
- Audio/Video wurde auf einigen Geräten nach Pausieren und Fortsetzen nicht synchron abgespielt.
- Ein Problem wurde behoben, bei dem der Blitz beim Tippen zum Fokussieren (
startFocusAndMetering
) ausgelöst wurde, wenn der Blitzmodus automatisch oder bei wenig Licht auf „Always_on“ eingestellt war.
Version 1.1.0-rc02
1. Juni 2022
androidx.camera:camera-*:1.1.0-rc02
wird freigegeben. Version 1.1.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Problem mit
NullPointerException
amImageCapture.takePicture()
behoben. (I92366, b/230454568, b/229766155) - Es wurde ein Fehler behoben, bei dem
AssertionError
beim Abrufen desCONTROL_ZOOM_RATIO_RANGE
-Merkmals nicht verarbeitet wurde. (Ia248a, b/231701345)
Version 1.1.0-rc01
11. Mai 2022
androidx.camera:camera-*:1.1.0-rc01
wird freigegeben. Version 1.1.0-rc01 enthält diese Commits.
Neue Funktionen
- Erste RC-Version für Kameravideo, Kameraansicht und Kameraerweiterung veröffentlichen
Fehlerkorrekturen
- Der Video-Codec wurde nicht freigegeben, als
VideoCapture<Recorder>
gebunden wurde. Dadurch schlugen nachfolgende Verwendungen vonVideoCapture<Recorder>
bei der Aufnahme mitMediaCodec.CodecException
fehl, insbesondere auf API 21-22-Geräten. (Ie7f68) - Probleme mit aufgenommenen Bildern von
CameraExtensionsActivity
wurden inImageCaptureTest
nicht gelöscht
Version 1.1.0-beta03
6. April 2022
androidx.camera:camera-*:1.1.0-beta03
wird freigegeben. Version 1.1.0-beta03 enthält diese Commits.
API-Änderungen
- Der
CaptureRequestOptions
-Konstruktor wurde eingeschränkt. (I261b6) - Es wurde eine experimentelle API zur Verwendung von
CameraController
mit externen Bildverarbeitungsbibliotheken hinzugefügt, z. B.MLKit (I4ea71).
Fehlerkorrekturen
- Das Problem, dass die Vorschau in
PreviewView
zur Seite wurde, wenn Aktivität nach rotierenden Geräten im Mehrfenstermodus nicht neu gestartet wurde, wurde behoben. (I1ea36, b/223488673) - Ein Problem mit dem Mehrfenstermodus wurde behoben, bei dem die Kamera nicht wieder aktiviert wird, wenn der Fokus wieder auf die App gesetzt wird, wenn (1) eine andere App mit hoher Priorität eine andere Kamera öffnet (2) es sich um Android 12-Geräte von Samsung handelt. (I7e9f2)
- Eine Problemumgehung ist für Geräte enthalten, die bei der Überprüfung der Flash-Verfügbarkeit abstürzen. Auf diesen Geräten ist keine Taschenlampe verfügbar. (If26a3, b/216667482)
- Problem „
AbstractMethodError
“ wurde behoben, wenn Apps Erweiterungen verwenden und Proguard aktiviert wurde. (I7cbaf, b/222726805) - Erzwingen Sie die Deaktivierung des Bokeh-Erweiterungsmodus auf einem Motorola Razr 5G-Gerät, was zu Problemen mit dem schwarzen Vorschaubildschirm führt. (I35d49)
- Audio/Video wurde auf einigen Samsung-Geräten vor API-Version 29 nach Pausieren und Fortsetzen nicht synchron wiedergegeben. (I64622, b/202798609, b/202798572)
- Audio und Video waren auf dem Sony G3125 nach Pausieren und Fortsetzen nicht synchron. (I2a1a5, b/202799148)
- Ein Absturz wurde behoben, wenn im Rekorder ein
InvalidConfigException
erkannt wurde. Diese Korrektur verhindert jedoch nur den Absturz der App, behebt jedoch nicht die Ursache desInvalidConfigException
-Fehlers. WennRecorder
immer noch nicht konfiguriert werden kann, erhalten Anwendungen einen Fehler-Callback, wenn sie mit der Aufzeichnung beginnen. (I89c29, b/213617227)
Externer Beitrag
- :compose:ui:ui-test api (updateApi) aufgrund einer Migration von test-coroutines-lib aktualisiert (I3366d)
Version 1.1.0-beta02
23. Februar 2022
androidx.camera:camera-*:1.1.0-beta02
wird freigegeben. Version 1.1.0-beta02 enthält diese Commits.
API-Änderungen
- Möglichkeit, die physische Kamera-ID über Camera2Interop anzugeben. (I5aed8)
Fehlerkorrekturen
- Das Problem mit der gestreckten Vorschau in Oppo Find N (I7d004) wurde behoben.
- Es wurde ein Problem mit dem Galaxy J7 Prime-Problem behoben, bei dem die Vorschau verzerrt war. (I4c500)
- Verwende eine kompatible Bitrate, um den Video-Encoder zu finden. (d969052)
Version 1.1.0-beta01
26. Januar 2022
androidx.camera:camera-*:1.1.0-beta01
wird freigegeben. Version 1.1.0-beta01 enthält diese Commits.
Neue Funktionen
- Ab 1.1.0-beta01 haben alle CameraX-Bibliotheken dieselbe Versionsnummer. Dies wird Entwicklern helfen, Versionen viel einfacher zu verfolgen und die Komplexität der Kompatibilitätsmatrix für größere Versionen zu verringern.
API-Änderungen
Camera2CameraControl.clearCaptureRequestOptions
zum Löschen der vorhandenen Optionen für Aufnahmeanfragen wurde hinzugefügt. (Ifa07d)
Fehlerkorrekturen
- Der Absturz beim Aufzeichnen des Videos auf einigen Geräten vor Android O(API 26) wurde behoben. (I88fdf, b/212328261)
- Das Problem mit dem falschen AF-Bereich bei Verwendung von
cameraControl#startFocusAndMetering()
mit der Kamera auf der Frontlinse von Samsung-Geräten wurde behoben (Ifbf59, b/210548792). - Auf Pixel 3a und Pixel 3a XL die Taschenlampe als Blitz verwenden, um die Geschwindigkeit und die Qualität der Aufnahme bei Dunkelheit zu verbessern (Ib12b6, b/211474332)
- Aktivierte Anwendungen, die die Kamera fortsetzen, wenn die Kamera im Mehrfenstermodus von einer anderen Anwendung mit höherer Priorität unterbrochen wird und der Fokus wieder auf die Anwendung wechselt. Aufgrund eines Framework-Problems kann eine gewisse Latenz(1 bis 10 Sekunden oder mehr) zwischen Fokusänderungen und dem erneuten Öffnen der Kamera auftreten. (I4d092)
Version 1.1.0-alpha12
15. Dezember 2021
androidx.camera:camera-*:1.1.0-alpha12
wird freigegeben. 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ätskonstanten und Konstanten für die Fallback-Strategie von
QualitySelector
wurden geändert und werden nun durch Klassenobjekte dargestellt. Beispiel:QualitySelector.QUALITY_HD
wird inQuality.HD
geändert undQualitySelector.FALLBACK_STRATEGY_LOWER
wird auf die vonFallbackStrategy.lowerQualityOrHigherThan(Quality)
zurückgegebene Instanz geändert. Die zum Erstellen vonQualitySelector
verwendete API wurde in eine listenbasierte API geändert. Die neue API „QualitySelector.fromOrderedList(List<Quality>)
“ bezieht sich auf die Reihenfolge in der Liste der Eingabequalität und nicht auf die Reihenfolge, die durchQualitySelector.Procedure
erstellt wurde.QualitySelector.Procedure
Kurs wurde entfernt. (I43343) PendingRecording.withEventListener()
wurde entfernt. 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 reduzieren. (I77ceb)
Fehlerkorrekturen
- Das Problem, dass Fotos im Modus
FLASH_AUTO
bei dunklen Lichtverhältnissen unterbelichtet waren, wurde auf Pixel 3a und Pixel 3a XL (I13f19, b/205373142) behoben. - Immer die neueste Anzeigegröße zur Bestimmung der Vorschau-
Resolution
verwenden. (I4a694) - Herausgefilterte Kameras ohne
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Kameras mitREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
haben die Mindestfunktionen, die von jeder Kamera unterstützt werden. Eine Kamera ohneREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
ist möglicherweise eine Kamera, die besondere Funktionen und keine Standardfarbausgabe unterstützt.CameraX
unterstützt die AnwendungsfällePreview
,ImageCapture
,ImageAnalysis
oderVideoCapture
für diese Kameras nicht. Diese Kameras sollten daher herausgefiltert werden, um eine falsche Verwendung zu verhindern. Ib8cda CameraSelector#filter
gibt keinIllegalArgumentException
mehr aus, wenn die Ergebnismenge leer ist. (I27804)- Anhand der vom OEM angegebenen Profile werden jetzt Encoder-Einstellungen mithilfe intelligenterer Heuristiken ausgewählt. (Iaeef0)
- Nach dem Start der UHD-Videoaufnahme auf Pixel1 werden in der festen Vorschau verschachtelte Farblinien angezeigt. (I833c6, b/205340278)
Version 1.1.0-alpha11
17. November 2021
androidx.camera:camera-*:1.1.0-alpha11
wird freigegeben. Version 1.1.0-alpha11 enthält diese Commits.
API-Änderungen
- CameraSelector#filter wurde der öffentlichen API hinzugefügt, um eine Liste von CameraInfos basierend auf einem CameraSelector zu filtern. (I105d0)
Fügen Sie die setOutputImageRotationEnabled API für die ImageAnalysis-Konfiguration hinzu. Der Nutzer kann die Rotation für YUV/RGB-Bildzwischenspeicher aktivieren. Der Grad der Drehung ist eine relative Drehung, die auf der Sensor- und Zieldrehung berechnet wird, um das Bild vorne zu halten.
Fügen Sie die setOutputImageRotationEnabled API für die ImageAnalysis-Konfiguration hinzu. Der Nutzer kann die Rotation für YUV/RGB-Bildzwischenspeicher aktivieren. Der Grad der Drehung ist eine relative Drehung, die auf der Sensor- und Zieldrehung berechnet wird, um das Bild vorne zu halten.
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 von einem {UseCase} einem anderen zugeordnet werden. Beispielsweise werden die Koordinaten des mit ImageAnalysis erkannten Gesichts der Vorschau angezeigt. (I9ff1e)Es wurde eine neue API „ImageCapture.Builder#setJpegQuality“ hinzugefügt, die das Ändern der JPEG-Ausgabekomprimierungsqualität bei der Bildaufnahme ermöglicht. I8dcf4.
"MediaStoreOutputOptions.getCollection" wurde in "MediaStoreOutputOptions.getCollectionUri" umbenannt. (I16639)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem der Blitz ausgelöst wurde, wenn der Blitz durch Tippen (startFocusAndMetering) fokussiert wurde (startFocusAndMetering), wenn der Blitzmodus in Umgebungen mit wenig Licht automatisch oder immer aktiviert war. (Id4c11)
- HDR wurde auf Pixel 2 XL / Pixel 3 XL im Modus MINIMIZE_LATENCY deaktiviert, um die Latenz zu verringern. (Ib6270, b/203505523)
Externer Beitrag
Version 1.1.0-alpha10
13. Oktober 2021
androidx.camera:camera-*:1.1.0-alpha10
wird freigegeben. Version 1.1.0-alpha10 enthält diese Commits.
Neue Funktionen
androidx.camera:camera-video:1.1.0-alpha10
wurde offiziell als erste Alphaversion für Video veröffentlicht. Es gibt mehrere bekannte Probleme, die in den späteren Versionen behoben werden müssen.
API-Änderungen
- Allen CameraX-Klassen wurde die Anmerkung
@RequiresApi(21)
hinzugefügt und „minSdkVersion“ aus der AndroidManifest.xml entfernt. Dadurch kann der Kamerakern einfach in Anwendungen eingebunden werden, deren minSdkVersion kleiner als 21 ist, aber Codepfade verwenden möchten, die auf API 21 oder höher basieren. Bei jeder Anwendung mit minSdkVersion 21 oder höher sind für diese Änderung keine Maßnahmen erforderlich. (Ie7f2e, b/200599470)
Fehlerkorrekturen
- Lösen Sie eine InitializationException aus, damit die App den beim Erstellen von CameraCharacteristics aufgetretenen AssertionError problemlos 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 Annotation „ExperimentalUseCaseGroup“ wurde entfernt, da die APIs nicht mehr experimentell sind. (I01ef5)
Fehlerkorrekturen
- Beheben Sie das Problem, bei dem aufgenommene Fotos im
MAXIMIZE_QUALITY
-Modus unkenntlich gemacht wurden. (I173a9, b/193823892) - Problem mit dem Samsung Galaxy J5 behoben, bei dem die Kamera nach dem Aufnehmen von Bildern mit eingeschaltetem Blitz/automatischem Blitz in dunkler Umgebung hängen geblieben ist (I3aab9)
- Wenn für ImageCapture ein Zuschneiden erforderlich ist, wird das zugeschnittene Ausgabebild mit der angegebenen JPEG-Qualität gemäß dem festgelegten Erfassungsmodus komprimiert. Wenn der Aufnahmemodus
CAPTURE_MODE_MINIMIZE_LATENCY
ist, beträgt die JPEG-Komprimierungsqualität 95. Wenn der AufnahmemodusCAPTURE_MODE_MAXIMIZE_QUALITY
ist, 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 wurde für die Bildanalysekonfiguration hinzugefügt. Nutzer können „ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888“ oder „ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888“ auswählen. Standardmäßig ist ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 ausgewählt. (I7902d)
API-Änderungen
- Die Annotation „ExperimentalUseCaseGroupLifecycle“ wurde entfernt, da die APIs nicht mehr experimentell sind. (I17b85)
Fehlerkorrekturen
- Fester Vorschaubildschirm ist beim Huawei P20 Lite zu hell. Dieses Problem tritt nur auf, wenn bestimmte Sonderauflösungen der Vorschau zusammen mit einem großen Wert für die Heranzoomen verwendet werden. (Idefce, b/192129158)
- Der Blitz funktionierte auf einigen Geräten nicht, wenn der Blitzmodus kurz auf FLASH_MODE_ON eingestellt und danach Bilder aufgenommen wurden. Dieses Problem wurde behoben. (Ieb49b)
- Das Problem, dass die Vorschau beim Aufnehmen von Bildern eine Zeit lang angehalten wurde, wenn VideoCapture, ImageCapture und Vorschau gebunden sind, wurde behoben. (I56197, b/193864120)
- ImageAnalysis kann eine Auflösung auswählen, die größer als 1080p ist. Ein Gerät mit LIMITED höher kann eine Auflösung von RECORD für ImageAnalysis unterstützen, wenn es mit Preview und ImageCapture verknüpft ist. Der Nachteil: Die ausgewählte Auflösung für ImageCapture muss ebenfalls eine RECORD-Auflösung sein. Um für ImageAnalysis eine RECORD-Größenauflösung erfolgreich auszuwählen, sollte sowohl für ImageCapture als auch für ImageAnalysis eine Zielauflösung von RECORD mit einer Größe festgelegt werden. Dies weist darauf hin, dass die Anwendung die Kompromisse genau versteht und für ImageAnalysis eine höhere Auflösung als für ImageCapture bevorzugt, um eine Maximalauflösung zu haben. Die Definitionen von RECORD, MAXIMUM Größen und weitere Informationen findest du unter https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-record. Die RECORD-Größe bezieht sich auf die maximal vom CamcorderProfile unterstützte Aufnahmeauflösung des Kamerageräts. Die Größe MAXIMUM bezieht sich auf die maximale Ausgabeauflösung der Kamera für dieses Format oder Ziel aus StreamConfigurationMap.getOutputSizes(int). (I1ee97, b/192911449)
- Fügen Sie dem aufgenommenen Bild die EXIF-Informationen hinzu. (I01ff0, b/193342619)
- Geben Sie in ImageCapture den URI des gespeicherten Bildes zurück, wenn der Speicherort "File" ist. (Ib5b49, b/149241379)
- Mit Flash aufgenommene Bilder sind 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
- Es wurde ein Problem mit dem Samsung Galaxy Note 5 behoben, bei dem die Kamera nach der Aufnahme von Bildern mit eingeschaltetem Blitz/automatisch in dunkler Umgebung nicht weiter reagiert hat (If6871).
- Das Problem
YuvToJpegProcessor
EOFException 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 Expositionskompensations-APIs für den Kamerakern (I08ee8) hochstufen
- In CameraInfo wurde die API „isFocusMeteringSupported“ hinzugefügt, mit der Anwendungen prüfen können, ob die FocusMeteringAction von der aktuellen Kamera unterstützt wird oder nicht. (Ib45ae, b/188606490)
- Gefährdete getResolutionInfo API zur Bereitstellung der Auflösungsinformationen für Preview, ImageCapture und ImageAnalysis. (I2b613, b/188600718)
- Die folgenden experimentellen APIs wurden auf offizielle APIs hochgestuft: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor()I2CameraXConfig#getSchedulerHandler().2
- Die CameraProvider-Schnittstelle wurde offengelegt, um Zugriff auf eine Reihe von Kameras zu gewähren. (I1a7b1)
- Die experimentelle UseCaseGroup API für Kamerakern, Kameralebenszyklus und Kameravideo bewerben
ViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
undViewPort.Builder#setScaleType
zum Anpassen des Darstellungsbereichs 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. Schlagt vor, die Kamera nach CameraFilter auszuwählen und dann bei Bedarf über Camera2CameraInfo Informationen zu „CameraCharacteristics“ oder „Camera2“ abzurufen. (Ib887c)ExperimentalCameraFilter
APIs haben die experimentelle Phase durchlaufen und werden zu formalen APIs. Sie können ohne kommentiertes Opt-In verwendet werden. (I4bc94)- Kamerastatus-API hinzugefügt, die über
CameraInfo#getCameraState()
freigegeben ist. (Ia86b4) - Die experimentelle API
CameraInfo#getCameraSelector()
wurde hinzugefügt, die einen für die Kamera eindeutigen CameraSelector (I77f9f) zurückgibt.
Fehlerkorrekturen
- Problem behoben, bei dem ListenableFuture, das in setZoomRatio und setLinearZoom zurückgegeben wurde, auf einigen Android 11-Geräten nicht abgeschlossen werden konnte (I716d7)
- Beschleunigen Sie den Kamerawechsel und verringern Sie die Fehlerrate bei der Kamera (I34c99).
- „ExperimentalUseCaseGroupLifecycle“ wurde durch „ExperimentalUseCaseGroup“ ersetzt. (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 den 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
wurde in den experimentellen APIs durch@RequiresOptIn
ersetzt. Verwenden Sie zum Aufrufen experimenteller APIsandroidx.annotation.OptIn
anstelle des verworfenenandroidx.annotation.experimental.UseExperimental
. (Iff226) - Ein Fehler bei der Bilderfassung mit aktiviertem Blitz / „Automatisch“ macht verwaschene Bilder auf dem Samsung Galaxy S7 korrigiert. (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
- JPEG-Ausgabeformat für
ImageCapture#OnImageCapturedCallback
, wenn Erweiterungsmodus aktiviert ist (I0d7b1) - Ein Fehler bei der Initialisierung auf UMIDIGI BISON-Geräten wurde behoben (I57d9e, b/180818665)
- Problem mit der gestreckten Vorschau auf dem Samsung A3 in der Vorschauansicht behoben. (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
- Eine API
ProcessCameraProvider.getAvailableCameraInfos()
wurde hinzugefügt, um direkt Informationen über die verfügbaren Kameras abzurufen. Das sind entweder alle Kameras des Geräts oder die, die über dieCameraSelector
inCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)
ausgewählt wurden. (IEAC08)
Fehlerkorrekturen
- CameraX versucht jetzt, das Öffnen einer Kamera beim ersten Versuch zu erzwingen. Dies kann dazu führen, dass CameraX die Kamera von anderen Kamera-Clients wegnimmt, wenn die zugehörige App eine höhere Priorität hat. (Iab069, b/175820568)
- Der Robolectric-Testfehler bei der Verwendung von setAvailableCamerasLimiter in CameraXConfig wurde behoben. (Ice307)
- Mit dieser Änderung wird die Ausnahme abgefangen, wenn die Bildwarteschlange in ImageAnalysis das Limit erreicht hat. Anstelle eines Absturzes kann es vorkommen, dass andere Anwendungsfälle eingefroren oder langsam sind, z. B. eine eingefrorene/verzögerte Vorschau. (Ic12da, b/175851631)
- Fehlerkorrektur für ExtensionsErrorListener, sodass jetzt Fehler gemeldet werden, wenn nur Preview oder ImageCapture gebunden ist. (I5ae39)
- Der Leistungsabfall von ImageCapture wurde durch Entfernen der Validierung des gespeicherten Bildstandorts vor der Aufnahme eines Bildes behoben. Wenn Sie diese Änderung vorgenommen haben und das Speicherziel ungültig ist, dauert es länger, bis Sie die Fehlerantwort erhalten, da versucht wird, das Bild nach der Aufnahme des Fotos zu speichern. (I1fd4e, b/177061560)
- Der Leistungsabfall von ImageCapture mit OutputFileOptions vom Typ "File" wurde behoben. (I5164a, b/177061560)
- Die Dokumentation wurde aktualisiert, sodass die Verwendung von
ProcessCameraProvider.configureInstance(...)
aus dem Bibliothekscode nicht empfohlen wird. (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
- Eine Problemumgehung ist enthalten, wenn auf der rückseitigen Kamera SM-G930T zeitweise beschädigte JPEG-Bilddaten verwendet werden. (I52001, b/159831206)
IllegalArgumentException
-Problem behoben, das auftrat, wenn alle in der Vorschau unterstützten Größen kleiner als 640 x 480 und Anzeigegröße größer als 640 x 480 waren. (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 Kameralebenszyklus 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
- Beheben Sie das Problem, bei dem aufgenommene Fotos im
MAXIMIZE_QUALITY
-Modus unkenntlich gemacht wurden. (I173a9, b/193823892) - Mit Flash aufgenommene Bilder sind auf vielen Geräten dunkel. Dieses Problem wurde behoben. (I4e510)
Kamera-Kamera2, Kamerakern und Kameralebenszyklus 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, dass das in
setZoomRatio
undsetLinearZoom
zurückgegebeneListenableFuture
auf einigen Android 11-Geräten (I716d7) nicht abgeschlossen werden konnte, wurde behoben.Das Problem, dass die Kamera auf einigen Geräten beim Schließen des Kamerastatus hängen geblieben ist und eine schwarze Vorschau verursacht hat, wurde behoben. (I34c99)
Kamera-Kamera2, Kamerakern und Kameralebenszyklus 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 Vorschau, Bilderfassung und Analyse
- CameraX verwaltet den Lebenszyklus der Kamera über eine nutzerfreundliche API.
- CameraX soll eine Kompatibilitätsebene bereitstellen, die viele Probleme der Android-Kamera-Umgebung behebt.
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
- Ein Fehler bei der Bilderfassung mit aktiviertem Blitz / „Automatisch“ macht verwaschene Bilder auf dem Samsung Galaxy S7 korrigiert. (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
- Ein Fehler bei der Initialisierung auf UMIDIGI BISON-Geräten wurde behoben (I57d9e, b/180818665)
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 von
ProcessCameraProvider#getInstance
beheben - Der Robolectric-Testfehler bei der Verwendung von setAvailableCamerasLimiter in CameraXConfig wurde behoben.
- Der Leistungsabfall von ImageCapture wurde durch Entfernen der Validierung des gespeicherten Bildstandorts vor der Aufnahme eines Bildes behoben. Wenn Sie diese Änderung vorgenommen haben und das Speicherziel ungültig ist, dauert es länger, bis Sie die Fehlerantwort 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 das Limit erreicht hat. Anstelle eines Absturzes kann es vorkommen, dass andere Anwendungsfälle eingefroren oder langsam sind, z. B. eine eingefrorene/verzögerte Vorschau.
- Eine Problemumgehung ist enthalten, wenn auf der rückseitigen Kamera SM-G930T zeitweise beschädigte JPEG-Bilddaten verwendet werden. (I52001, b/159831206)
- Mit dieser Änderung wird die Ausnahme abgefangen, wenn die Bildwarteschlange in ImageAnalysis das Limit erreicht hat. Anstelle eines Absturzes kann es vorkommen, dass andere Anwendungsfälle eingefroren oder langsam sind, z. B. eine eingefrorene/verzögerte Vorschau. (Ic12da, b/175851631)
- Der Robolectric-Testfehler bei der Verwendung von setAvailableCamerasLimiter in CameraXConfig wurde behoben. (Ice307)
- Der Leistungsabfall von ImageCapture wurde durch Entfernen der Validierung des gespeicherten Bildstandorts vor der Aufnahme eines Bildes behoben. Wenn Sie diese Änderung vorgenommen haben und das Speicherziel ungültig ist, dauert es länger, bis Sie die Fehlerantwort erhalten, da versucht wird, das Bild nach der Aufnahme des Fotos zu speichern. (I1fd4e, b/177061560)
- Der Leistungsabfall von ImageCapture mit OutputFileOptions vom Typ "File" wurde behoben. (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
- Ein Problem mit dem Fehler " fügen" wurde behoben , falls alle in der Vorschau unterstützten Größen kleiner als 640 x 480 und die Anzeigegröße größer als 640 x 480 waren. (b/150506192)
Begrenzen Sie die Anzahl der Versuche zum erneuten Öffnen der Kamera. KameraX versucht nicht mehr, die Kamera auf unbestimmte Zeit wieder zu öffnen, um bestimmte Probleme beim Öffnen der Kamera wiederherzustellen. Stattdessen wird sie nach 10 Sekunden abgebrochen.I435d2
IllegalArgumentException
-Problem behoben, das auftrat, wenn alle in der Vorschau unterstützten Größen kleiner als 640 x 480 und Anzeigegröße größer als 640 x 480 waren. (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 sie in CameraInfo aufgenommen werden. (I6883d)
- Die experimentelle Klasse Camera2CameraControl wurde hinzugefügt, um die dynamische Zusammenarbeit mit Camera2 APIs zu ermöglichen. (I45cf3)
- Kamera2CameraInfo#fromCameraInfo wurde in #from umbenannt. (Ia2bd6)
- Eine experimentelle API vom Typ „setAvailableCamerasLimiter“ wurde zu CameraXConfig hinzugefügt. Damit können Apps die Initialisierungslatenz optimieren, indem nicht verwendete Kameras nicht initialisiert werden. (I6cf88)
- Die experimentelle Methode
CameraXConfig.Builder#setMinimumLoggingLevel()
wurde hinzugefügt, um das Festlegen einer Mindestprotokollstufe für CameraX-Protokolle zu ermöglichen. Wenn nichts festgelegt ist, wird standardmäßigLog#DEBUG
verwendet. (Ic3245)
Fehlerkorrekturen
- Eine Problemumgehung ist enthalten, wenn auf der rückseitigen Kamera SM-G930V zeitweise beschädigte JPEG-Bilddaten verwendet werden. (I5aca5, b/159831206)
- Das Problem, dass beim Aufnehmen von Bildern keine Ergebnisse angezeigt werden, wenn der Blitz immer/an ist und die Umgebung auf Samsung SM-A716-Geräten dunkel ist, wurde behoben. (If98b2, b/172036589)
- Das Problem, dass die Vorschau durch Aufrufen von
Preview.setSurfaceProvider(null)
nicht beendet werden konnte, wurde behoben. (I3ac18) - Ein Ausrichtungsproblem bei der Aufnahme von Bildern im Seitenverhältnis 4:3 auf einigen Geräten wurde behoben. (I0e3fb, b/171492111)
Camera Camera2, Core und Lifecycle 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
- Der automatische Blitz auf Samsung A3-Geräten wurde deaktiviert, um den Absturz beim Aufnehmen eines Fotos mit dem automatischen Blitz (AE-Modus) auf Samsung A3-Geräten zu beheben. (Ia5fe3, b/157535165)
- Auf Nexus 4-Geräten mit Android L (API-Level 21 und 22) wurde die Vorschau gedehnt. Das Problem wurde behoben. (I4d407, b/158749159)
- Bei der Implementierung der
OnImageCapturedCallback#onCaptureSuccess
-Basisklasse wird das Image nicht mehr geschlossen. So soll unerwartetes Verhalten von Entwicklern verhindert werden. Entwickler sollten sich beim Schließen des Images nicht auf super.onCaptureSuccess verlassen. (Ifbf9c) - Die Androidx-Variante der experimentellen Annotation wurde verworfen, um sie an Kotlin anzupassen. Sie wurde durch die Annotation „AnforderungsOptIn“ ersetzt und der Java-Linter wurde aktualisiert, um sowohl die neue Kotlin-Annotation als auch die neue androidx-Variante zu unterstützen. (I52495, b/151331381)
Kamera-Kamera2 Version 1.0.0-beta11
14. Oktober 2020
androidx.camera:camera-camera2:1.0.0-beta11
wird freigegeben. Version 1.0.0-beta11 enthält diese Commits.
Neue Funktionen
- Unterstützt die Android 11
CONTROL_ZOOM_RATIO
API für das Zoomen auf Geräten mit Android 11 oder höher, die ein gültigesCONTROL_ZOOM_RATIO_RANGE
enthalten. (I62cc6)
Fehlerkorrekturen
- Das Problem mit dem NumberFormatException-Fehler wurde behoben, wenn die Kamera-ID keine Ganzzahl ist. (Ib2228)
- Die Latenz bei CameraX-Initialisierung und bindToLifecycle (I61dc5) wurde verbessert.
- Die Erstellung von Anwendungsfällen erfordert keine Initialisierung von CameraX. Alle implementierungsspezifischen Konfigurationen werden für den Anwendungsfall festgelegt, sobald er mit einer Kamerainstanz verknüpft ist, für die die öffentliche API
ProcessCameraProvider.bindToLifecycle()
ist. (Ia5411) <UseCase>.getTargetRotation()
gibt bei AufrufSurface.ROTATION_0
zurück, bevor es an eine Kamerainstanz angehängt wird, es sei denn, für den Builder oder Anwendungsfall wurde eine targetRotation festgelegt. (I80fcd)
Kamera-Core-Version 1.0.0-beta11
14. Oktober 2020
androidx.camera:camera-core:1.0.0-beta11
wird freigegeben. Version 1.0.0-beta11 enthält diese Commits.
Neue Funktionen: Unterstützt die Android 11 CONTROL_ZOOM_RATIO
API für das Zoomen auf Geräten mit Android 11 oder höher, die gültige CONTROL_ZOOM_RATIO_RANGE
enthalten. (I62cc6)
Fehlerkorrekturen
- Das Problem mit dem NumberFormatException-Fehler wurde behoben, wenn die Kamera-ID keine Ganzzahl ist. (Ib2228)
- Die Erstellung von Anwendungsfällen erfordert keine Initialisierung von CameraX. Alle implementierungsspezifischen Konfigurationen werden für den Anwendungsfall festgelegt, sobald er mit einer Kamerainstanz verknüpft ist, für die die öffentliche API
ProcessCameraProvider.bindToLifecycle()
ist. (Ia5411) <UseCase>.getTargetRotation()
gibt bei AufrufSurface.ROTATION_0
zurück, bevor es an eine Kamerainstanz angehängt wird, es sei denn, für den Builder oder Anwendungsfall wurde eine targetRotation festgelegt. (I80fcd)
Kamera-Core-Version 1.0.0-beta10
23. September 2020
androidx.camera:camera-core:1.0.0-beta10
wird freigegeben. Version 1.0.0-beta10 enthält diese Commits.
Fehlerkorrekturen
- Fehler beim Validieren des Dateispeicherziels für die Bildaufnahme behoben (I8c565, b/167697553)
Kamera-Kamera2 Version 1.0.0-beta10
23. September 2020
androidx.camera:camera-camera2:1.0.0-beta10
wird freigegeben. 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
wird freigegeben. Version 1.0.0-beta09 enthält diese Commits.
API-Änderungen
- Statt statische Methoden bereitzustellen, verwendet Camera2CameraInfo eine CameraInfo-Instanz, wenn sie erstellt wird, um Camera2-bezogene Informationen abzurufen. (I5b844)
Fehlerkorrekturen
- Problem mit dem Zielseitenverhältnis auf Tablets behoben. Eine Größe von 16:9 sollte ausgewählt werden, wenn das Zielseitenverhältnis auf
AspectRatio.RATIO_16_9
festgelegt ist. (Ib7fcf, b/151969438) - Wirf
InitializationException
aus, damit die App den beim Erstellen von CameraCharacteristics aufgetretenen AssertionError problemlos verarbeiten kann. (I89c8c, b/160524721) - Experimentelle Schnittstellen für ExposureCompensation (If96c7) hinzugefügt
Kamera-Core-Version 1.0.0-beta09
16. September 2020
androidx.camera:camera-core:1.0.0-beta09
wird freigegeben. Version 1.0.0-beta09 enthält diese Commits.
API-Änderungen
- Der Fehler, bei dem der Darstellungsbereich in UseCaseGroup als nicht null markiert wurde, wurde behoben. Entwickler sollten einen Darstellungsbereich erstellen können, ohne einen Darstellungsbereich festzulegen. (Ie3d2e)
- Experimentelle Schnittstellen für
ExposureCompensation
(If96c7) hinzugefügt - Beliebige Zielrotation für die Vorschau zulassen. Die Transformationsinformationen werden berechnet und bei Bedarf über einen neuen
TranformationInfoListener
-Callback an den Nutzer zurückgegeben. (I21470)
Fehlerkorrekturen
- Problem behoben, bei dem der Blitz auf einigen Geräten nicht deaktiviert werden konnte. Dieser Fehler tritt auf, wenn der Blitzmodus auf
FLASH_MODE_ON
eingestellt ist, um ein Bild aufzunehmen, und aufFLASH_MODE_OFF
geändert wird, wenn der Blitz ausgelöst wird. Das Symptom ist, dass der Taschenlampen-Modus 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-/Fragment-Datenleck, wenn ein Aktivitäts-/Fragmentkontext an
ProcessCameraProvider.getInstance(Context)
übergeben wurde, wurde behoben.
Bekannte Probleme
- Wenn ViewPort festgelegt ist, ist das Zuschnittrechteck von ImageCapture auf Geräten, die den Bildzwischenspeicher in HAL rotieren, 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
wird freigegeben. Version 1.0.0-beta08 enthält diese Commits.
Fehlerkorrekturen
- BindToLifecycle wurde für eine schnelle Ausführung im Hauptthread optimiert. (I1d57e)
- DisplayOrientedMeteringPointFactory verwendet eine CameraInfo-Instanz anstelle eines CameraSelector, sodass eine direkte Zuordnung zur Kamera möglich ist, für die die Fabrik Punkte generiert. Alle Klassen, die DisplayOrientedMeteringPointFactory verwenden, verwenden auch eine CameraInfo-Instanz anstelle von CameraSelector. (I400c1)
- Das Problem mit der Größengruppierung für das Seitenverhältnis bei automatischer Auflösung, bei dem eine mod16-Größe von 864 x 480 (16:9) ausgewählt wurde, wenn die Zielauflösungseinstellung 2016 x 1080 lautete und eine weitere Größe von 16:9 (1920 x 1080) unterstützt wurde, wurde behoben. (I53167, b/159363774)
- Beheben Sie das CameraControl-Problem, bei dem die Kamera aufgrund einer Race-Bedingung nicht funktioniert (I2279f, b/152333890, b/160714166).
Kamera-Core-Version 1.0.0-beta08
19. August 2020
androidx.camera:camera-core:1.0.0-beta08
wird freigegeben. Version 1.0.0-beta08 enthält diese Commits.
API-Änderungen
DisplayOrientedMeteringPointFactory
übernimmt eineCameraInfo
-Instanz anstelle einerCameraSelector
-Instanz, sodass es eine direkte Zuordnung zur Kamera gibt, für die die Factory Punkte generiert. Alle Klassen, dieDisplayOrientedMeteringPointFactory
verwenden, nehmen auch eineCameraInfo
-Instanz anstelle vonCameraSelector
auf. (I400c1)
Fehlerkorrekturen
- Überschreiben Sie für die Bildaufnahme die Markierung „Horizontal spiegeln“ in den Metadaten basierend auf der Kamerarichtung. (I28499)
- Die Initialisierung sollte nicht mehr abstürzen, wenn ein Kontext verwendet wird, der kein Anwendungsobjekt von
Context.getApplicationContext()
zurückgibt. (I3d3c9, b/160817073)
Kamera-Kamera2 Version 1.0.0-beta07
22. Juli 2020
androidx.camera:camera-camera2:1.0.0-beta07
wird freigegeben. Version 1.0.0-beta07 enthält diese Commits.
Fehlerkorrekturen
- Das Problem, dass die Vorschau auf einem älteren Gerät mit Android 5.0 gedehnt wurde, wurde behoben. (I0c03a)
- Einige von JPEG unterstützte Größen, die auf einigen Geräten zu einem WYSIWYG-Problem führen, wurden ausgeschlossen. (Ib5128)
Kamera-Core-Version 1.0.0-beta07
22. Juli 2020
androidx.camera:camera-core:1.0.0-beta07
wird freigegeben. Version 1.0.0-beta07 enthält diese Commits.
API-Änderungen
FIT_CENTER
,FIT_START
undFIT_END
-Passform mitFIT
zusammenführen.FIT
bedeutet, dass das zurückgegebene Zuschnittrechteck das maximal mögliche Sensorrecht ist. (Ia73c3)- Das Zuschneiderechteck der Vorschau wird anhand des Darstellungsbereichs konfiguriert. Für Endnutzer sollte nur der Bereich sichtbar sein, der vom Zuschnittrechteck abgedeckt ist. (I142a4)
Fehlerkorrekturen
- Das Problem, dass die Vorschau auf einem älteren Gerät mit Android 5.0 gedehnt wurde, wurde behoben. (I0c03a)
- Das Ausnahmeproblem
ConcurrentModificationException
beim Aufheben der Bindung von Anwendungsfällen wurde behoben. (I371c0)
Kamera-Kamera2 Version 1.0.0-beta06
24. Juni 2020
androidx.camera:camera-camera2:1.0.0-beta06
wird freigegeben. Version 1.0.0-beta06 enthält diese Commits.
API-Änderungen
- Es wurden experimentelle Oberflächen zum Filtern von Kameras nach Kamera-ID und CameraCharacteristics hinzugefügt. (I28f61)
Fehlerkorrekturen
- Das Problem, bei dem startFocusAndMetering das Samsung Galaxy S7 nicht erfolgreich fokussieren konnte, wurde behoben. (If3be7, b/159039233)
- Fehler beheben, damit die Kamera nach Beenden der App nicht geschlossen werden kann (I7a7b3)
- Fehler bei wiederholten Kamerawechsel beheben, die die Vorschau bei Verwendung der SurfaceView-Implementierung von PreviewView (I920ce) unterbrechen
CameraControl#startFocusAndMetering
schlägt fehl, wenn keines der angegebenen MeteringPoint gültige Messrechtecke generieren kann. (Id53ce)
Kamera-Core-Version 1.0.0-beta06
24. Juni 2020
androidx.camera:camera-core:1.0.0-beta06
wird freigegeben. Version 1.0.0-beta06 enthält diese Commits.
API-Änderungen
- Es wurden experimentelle Oberflächen zum Filtern von Kameras nach Kamera-ID und CameraCharacteristics hinzugefügt. (I28f61)
Fehlerkorrekturen
- CameraX kann jetzt mit
ProcessCameraProvider#configureInstance()
konfiguriert werden, bevorProcessCameraProvider#getInstance()
aufgerufen wird. Dadurch kann derCameraXConfig
angepasst werden, ohne dassCameraXConfig.Provider
in der Anwendungsklasse der App implementiert werden muss. (Ia1a8d) CameraControl#startFocusAndMetering
schlägt fehl, wenn keines der angegebenen MeteringPoint gültige Messrechtecke generieren kann. (Id53ce)
Kamera-Kamera2 Version 1.0.0-beta05
10. Juni 2020
androidx.camera:camera-camera2:1.0.0-beta05
wird freigegeben. Version 1.0.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Der Absturz beim App-Start beim Initialisieren von CameraX im Modus „Bitte nicht stören“ wurde behoben. Ein
InitializationException
enthält einenCameraUnavailableException
, der auf denListenableFuture
des Initialisierungsergebnisses gesetzt wird, anstatt die Anwendung zum Absturz zu bringen. (I9909a, b/149413835) - Der Absturz beim Aufrufen von
startFocusAndMetering
auf Geräten, auf denenCONTROL_AF_STATE
null ist, wurde behoben. (Ife55e, b/157084254)
Kamera-Core-Version 1.0.0-beta05
10. Juni 2020
androidx.camera:camera-core:1.0.0-beta05
wird freigegeben. Version 1.0.0-beta05 enthält diese Commits.
API-Änderungen
- Der Absturz beim App-Start beim Initialisieren von CameraX im Modus „Bitte nicht stören“ wurde behoben. Ein
InitializationException
enthält einCameraUnavailableException
, das auf denListenableFuture
des Initialisierungsergebnisses festgelegt wird, anstatt die Anwendung abstürzen zu lassen. (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
wird freigegeben. Version 1.0.0-beta04 enthält diese Commits.
Fehlerkorrekturen
- Anwendungen dürfen beliebige Parameter für Camera2-Aufnahmeanfragen über
Camera2Interop
festlegen, ohne einen Absturz zu verursachen. Beachten Sie, dass durch das Überschreiben von Parametern Probleme auftreten. Stabilität und Verhalten sind beim Überschreiben von Parametern mit Camera2Interop nicht garantiert. (Ibe5a1, b/149103700) - Bei der Verwendung einer App auf einem Gerät, das eine Pseudo-Sprache verwendet, wurde die automatische Initialisierung korrigiert. (I3bef3, b/154767663)
- Das Fehlerprotokoll im Zusammenhang mit dem getrennten Anwendungsfall wurde in ein Debug-Protokoll für Camera2CameraImpl umgewandelt. (I1a565, b/154422490)
- Ein Problem wurde behoben, bei dem ein aufgenommenes Bild manchmal zu dunkel war, obwohl Flash ausgelöst wurde. (I5d9fa, b/149729613)
- Fehler behoben, bei dem der Zwischenspeicher in
ImageProxy
vonImageCapture
nicht zurückgespult wurde (I0c455, b/153249512) - Probleme behoben, bei denen nur bei Bindung zur Bildaufnahme (1) Fotos mit MAX_QUALITY nicht aufgenommen wurden; (2) Schlechte Bildqualität, da die automatische Belichtung nicht funktionierte. (I17782, b/145326998)
- Zuverlässigkeit beim erneuten Öffnen der Kamera verbessert, wenn CameraX durch einen anderen Prozess oder Codepfad getrennt wurde, der die Kamera stiehlt (I1fbc3, b/153714651)
Kamera-Core-Version 1.0.0-beta04
27. Mai 2020
androidx.camera:camera-core:1.0.0-beta04
wird freigegeben. Version 1.0.0-beta04 enthält diese Commits.
API-Änderungen
- Es wurde eine experimentelle API hinzugefügt,
CameraXConfig.Builder#setSchedulerHandler()
, mit der der intern vom CameraX-Kamerastapel verwendete Handler festgelegt wird. Diese neue API sollte zusammen mitCameraXConfig.Builder#setCameraExecutor()
die vollständige Kontrolle über die vom CameraX-Kamerastack verwendeten Threads ermöglichen. (I7bf32, b/121160431)
Fehlerkorrekturen
- Es wurde ein Absturz in
ImageAnalysis
behoben, bei dem aufImageProxy
zugegriffen wurde, nachdemImageReaderProxy
geschlossen wurde. Dies bewirkt auch, dass alleImageProxy
, die an derAnalyzer
empfangen werden, geschlossen sein müssen, bevor derImageReaderProxy
geschlossen wird. (I4b299, b/145956416, b/154155377, b/156357269) - Der
CameraInfo
-Parameter wurde ausPreviewView#createSurfaceProvider()
entfernt.PreviewView
ruft ihn jetzt intern ausSurfaceRequest
ab. (If18f0, b/154652477) - Bei der Verwendung einer App auf einem Gerät, das eine Pseudo-Sprache verwendet, wurde die automatische Initialisierung korrigiert. (I3bef3, b/154767663)
- Ein Problem wurde behoben, bei dem ein aufgenommenes Bild manchmal zu dunkel war, obwohl Flash ausgelöst wurde. (I5d9fa, b/149729613)
- Ein Problem mit
ImageAnalysis
wurde behoben, bei dem mehrere Aufrufe von setAnalyzer/clearAnalyzer dazu geführt haben, dass das Analysetool keine zu analysierenden Bilder erhielt. (I6169f, b/151605317, b/153514544) - Fehler behoben, bei dem der Zwischenspeicher in
ImageProxy
vonImageCapture
nicht zurückgespult wurde (I0c455, b/153249512) - Das Problem, dass die erste Kamera in der Liste der unterstützten Kameras von
CameraManager
nicht immer zur Verwendung ausgewählt wurde, wurde behoben. (I4c624, b/153418028) - Das Problem mit einem vorübergehenden Absturz wurde behoben, der dadurch verursacht wurde, dass
Preview.SurfaceProvider
die zuvor angeforderte Oberfläche nicht freigegeben hatte.“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
wird freigegeben. Version 1.0.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Korrekturen zur Unterstützung der Veröffentlichung von
camera-core
Kamera-Core-Version 1.0.0-beta03
15. April 2020
androidx.camera:camera-core:1.0.0-beta03
wird freigegeben. Version 1.0.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Die Regression von beta03 wurde behoben, bei der der Aufruf von
bindToLifecycle()
mit nullUseCase
s zu einer ausgelösten Ausnahme führte. Dadurch konnte keinCamera
abgerufen werden, ohne einUseCase
zu binden.
Kamera-Kamera2 Version 1.0.0-beta02
1. April 2020
androidx.camera:camera-camera2:1.0.0-beta02
wird freigegeben. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
ImageInfo.getRotationDegrees()
aus dem vonImageCapture
erzeugtenImageProxy
wurde korrigiert, sodass es mit dem Wert der EXIF-Ausrichtungsausrichtung übereinstimmt. (Id4281, b/150802561)- Eine explizite Reihenfolge der CameraX-Abhängigkeiten innerhalb von
build.gradle
ist nicht mehr erforderlich, um die Standardimplementierung von CameraX/Camera2 zu verwenden. In Fällen, in denen strikte Abhängigkeiten deklariert werden müssen, können jetzt alle CameraX-Abhängigkeiten in die Build-Datei aufgenommen werden. (I46e88) - Das Problem
IllegalArgumentException
, das auf Geräten auftrat, auf denen die Anzeige kleiner als 640 × 480 war, wurde behoben. (Ife3f2, b/150506192) bindToLifecycle
wurde so korrigiert, dass der Anwendungsfall nur geändert wird, wenn er erfolgreich gebunden wurde. Bisher wurde beim Aufrufen vonbindToLifecycle
für Auflösungsberechnungen der Anwendungsfall aktualisiert. Jetzt muss der Anwendungsfall für die Berechnungen nicht mehr aktualisiert werden (I78d9e).
Kamera-Core-Version 1.0.0-beta02
1. April 2020
androidx.camera:camera-core:1.0.0-beta02
wird freigegeben. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
ImageInfo.getRotationDegrees()
aus dem vonImageCapture
erzeugtenImageProxy
wurde korrigiert, sodass es mit dem Wert der EXIF-Ausrichtungsausrichtung übereinstimmt. (Id4281, b/150802561)bindToLifecycle
wurde so korrigiert, dass der Anwendungsfall nur geändert wird, wenn er erfolgreich gebunden wurde. Bisher wurde beim Aufrufen vonbindToLifecycle
für Auflösungsberechnungen der Anwendungsfall aktualisiert. Jetzt muss der Anwendungsfall für die Berechnungen nicht mehr aktualisiert werden (I78d9e).- Die Aufnahmesitzung des Anwendungsfalls „
Preview
“ wurde nicht aktualisiert, wenn sich die Vorschauoberfläche nach mehr als einmal Aufrufen vonPreview.setSurfaceProvider()
änderte.
Kamera-Kamera2 Version 1.0.0-beta01
26. Februar 2020
androidx.camera:camera-camera2:1.0.0-beta01
wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.
Fehlerkorrekturen
SurfaceRequest.setSurface(Surface)
wurde inSurfaceRequest.provideSurface(Surface)
undSurfaceRequest.setWillNotComplete()
inSurfaceRequest.willNotProvideSurface()
umbenannt. (I224fe)- Ein Problem wurde behoben, bei dem das Seitenverhältnis eines gespeicherten Bilds nach Änderung des Werts für die Zieldrehung mit
ImageCapture.setTargetRotation()
nicht korrekt war. (I474ea, b/148763432) - Die Initialisierung von App-Varianten mit aktiviertem ProGuard wurde korrigiert, indem das Flag beibehalten wurde, mit dem der Standardanbieter
CameraXConfig
festgelegt wird. (I2d6c1)
Kamera-Core-Version 1.0.0-beta01
26. Februar 2020
androidx.camera:camera-core:1.0.0-beta01
wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
ListenableFuture
inSurfaceRequest.provideSurface()
durchExecutor
undCallback
ersetzt. Dies vereinfacht die API, da die Verarbeitung von Ausnahmen fürprovideSurface()
nicht mehr erforderlich ist. Außerdem wird erzwungen, dass derprovideSurface()
-Callback nicht abgebrochen werden kann. Dadurch werden Abstürze auf älteren Geräten verhindert, die durch eine vorzeitige Veröffentlichung von Oberflächen verursacht werden. Mit demSurfaceRequest.Result
-Objekt wird jetzt erfasst, wie einSurfaceRequest
das bereitgestellteSurface
verwendet. (I7854b)SurfaceRequest.setSurface(Surface)
wurde inSurfaceRequest.provideSurface(Surface)
undSurfaceRequest.setWillNotComplete()
inSurfaceRequest.willNotProvideSurface()
umbenannt. (I224fe)
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem das Seitenverhältnis eines gespeicherten Bilds nach Änderung des Werts für die Zieldrehung mit
ImageCapture.setTargetRotation()
nicht korrekt war. (I474ea, b/148763432) - Die Initialisierung von App-Varianten mit aktiviertem ProGuard wurde korrigiert, indem das Flag beibehalten wurde, mit dem der Standardanbieter
CameraXConfig
festgelegt wird. (I2d6c1) - Die Dokumentation für Flash Mode APIs wurde aktualisiert, um mögliche Werte aufzunehmen. (I4a3ec)
Kamera-Kamera2 Version 1.0.0-alpha10
10. Februar 2020
androidx.camera:camera-camera2:1.0.0-alpha10
wird freigegeben. Version 1.0.0-alpha10 enthält diese Commits.
Fehlerkorrekturen
- Verbesserte Stabilität auf
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
-Geräten, daSurface
s nur so lange aufbewahrt werden, wie Camera2 verwendet wird. (I9dac2) - Das Problem mit der unterbelichteten Vorschau auf LEGACY-Geräten wurde durch ordnungsgemäße Anpassung von
CONTROL_AE_TARGET_FPS_RANGE
behoben. 1224638
Kamera-Core-Version 1.0.0-alpha10
10. Februar 2020
androidx.camera:camera-core:1.0.0-alpha10
wird freigegeben. Version 1.0.0-alpha10 enthält diese Commits.
API-Änderungen
ImageCapture
wurde aktualisiert, damit Bilder inUri
undOutputStream
gespeichert werden können. ÜberlastetetakePicture
-Methoden wurden in einer kombiniert. Die Test-App wurde aktualisiert, damitUri
als kanonisches Beispiel verwendet wird. (Ia3bec)Preview.PreviewSurfaceProvider
wurde inPreview.SurfaceProvider
umbenannt. FürSurfaceProvider
s müssen Entwickler keine eigenenListenableFuture
mehr erstellen. Die Bereitstellung 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()
(I5bc17) hinzugefügt- Die zuvor in
ImageCapture.OnImageSavedCallback.onError()
undImageCapture.OnImageCapturedCallback.onError()
übergebenen Argumente wurden jetzt durch ein einzelnes 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 fertig markiert. (I2500b) - Die API wurde mit den Methoden
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
undgetLinearZoom()
aktualisiert, umCameraInfo
mitgetZoomState()
zusammenzuführen, wodurch eineZoomState
-Instanz zurückgegeben wird. (Ib19fe) - Die API-Felder
OPTION_TARGET_CLASS
undOPTION_TARGET_NAME
wurden ausCameraXConfig
entfernt, da sie nur für die interne Verwendung von Bibliotheken bestimmt sind. Konstruktor fürCameraXConfig.Builder
wurde entfernt. (I96912) - Die Anforderung, dass die App
Application
erweitern muss, um CameraX zu initialisieren, wurde entfernt. CameraX wird jetzt mit einer Standardkonfiguration für Camera2 initialisiert, sofern das Artefaktcamera-camera2
imbuild.gradle
der Anwendung enthalten ist. (I58ff5) (b/146923574)
Kamera-Kamera2 Version 1.0.0-alpha09
22. Januar 2020
androidx.camera:camera-camera2:1.0.0-alpha09
wird freigegeben. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
Fügen Sie einen Camera2-Interoperabilitätspfad hinzu, um eine Camera2-Kamera-ID zu extrahieren. Sie können die Kamera-ID mit
Camera2CameraInfo.extractCameraId()
ausCameraInfo
extrahieren. Das folgende Codebeispiel zeigt, wie dies verwendet wird:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
Für die Klasse
Camera2CameraInfo
ist die MarkierungsklasseExperimentalCamera2Interop
erforderlich.
Kamera-Core-Version 1.0.0-alpha09
22. Januar 2020
androidx.camera:camera-core:1.0.0-alpha09
wird freigegeben. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
- Der
SurfaceOrientedMeteringPointFactory
-ParameteruseCaseForSurface
wurde inuseCaseForAspectRatio
umbenannt und die Referenzdokumentation wurde erweitert. FocusMeteringAction.Builder.from()
-Methoden werden durch die KonstruktorenFocusMeteringAction.Builder()
ersetzt.DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)
wurde entfernt. Anwendungen sollten den Konstruktor verwenden, der einenDisplay
-Parameter verwendet und die aktuelle Anzeige übergibt.- Javadoc-Verbesserungen für Focus API und Metering APIs bezüglich
MeteringMode
- und 3A-Flags und Verwendung desDisplay
-Parameters. - Die Referenzdokumentation für
setZoomRatio
undsetLinearZoom
wurde erweitert.
Fehlerkorrekturen
- Es wurden Probleme behoben, die beim Schließen und Öffnen von Kameras zu einem Fehler bei der Prüfung „Vorbedingung“ geführt haben.
- Ein
ConcurrentModificationException
wurde behoben, das bei der Verwendung von Torch und Zoom APIs auftreten konnte. - Ein Problem wurde behoben, durch das jetzt Auflösungen ausgewählt werden, die näher an der angeforderten Auflösung liegen, wenn eine mod16-Größe verfügbar ist.
- Die
startFocusMetering
- undcancelFocusMetering
-APIs verhalten sich jetzt wie dokumentiert, mit korrektem Timing und möglichen Fehlern, die auftreten, wenn sie auftreten. - Ein Problem wurde behoben, bei dem eine bestimmte Zielauflösung mit einem Seitenverhältnis für den Zuschnitt auf einem Gerät angefordert wurde, das solche Größen nicht unterstützt. Jetzt wird eine nicht zugeschnittene Größe mit ausreichender Auflösung zum Binden der ursprünglichen Anfrage ausgewählt, wenn diese verfügbar ist.
Kamera-Kamera2 Version 1.0.0-alpha08
18. Dezember 2019
androidx.camera:camera-camera2:1.0.0-alpha08
wird freigegeben. Version 1.0.0-alpha08 enthält diese Commits.
Bekannte Probleme
- Nicht alle Optionen für Aufnahmeanfragen von Camera2 funktionieren bei Verwendung der Camera2-Interoperabilität. Wenn die angeforderte Option nicht unterstützt wird, kann die Sitzung nicht gestartet werden und es kann ein Fehler wie dieser 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 auf API-Level 21 und 22 ein schwarzer Vorschaubildschirm angezeigt wurde.
API-Änderungen
- Experimentell: Ein Kamera2-Interoperabilitätspfad zum Extrahieren der Kamera-ID wurde hinzugefügt.
Kamera-Core-Version 1.0.0-alpha08
18. Dezember 2019
androidx.camera:camera-core:1.0.0-alpha08
wird freigegeben. Version 1.0.0-alpha08 enthält diese Commits.
Bekannte Probleme
- Bei Apps, in denen
PreviewView
oderCameraView
verwendet werden, ist die Vorschau des Seitenverhältnisses möglicherweise falsch. Dies geschieht nach dem Pausieren oder Fortsetzen auf einigen VOLLSTÄNDIGEN Geräten, wie z. B. auf dem Pixel2.
Fehlerkorrekturen
- Die Dokumentation für
FocusMeteringAction
undCameraControl
wurde aktualisiert. TorchControl
fürenableTorch()
undgetTorchState()
implementiert.
API-Änderungen
- IntDefs wurden ausgeblendet und IntDef-Konstanten außerhalb der IntDef-Definition verschoben.
rotationDegrees
wurde aus Kurs „OnImageCaptureCallback
“ in „ImageInfo
“ verschoben.rotationDegrees
wurde aus Kurs „Analyzer
“ in „ImageInfo
“ verschoben.
Camera-Camera2-Version 1.0.0-alpha07
4. Dezember 2019
androidx.camera:camera-camera2:1.0.0-alpha07
wird freigegeben. Version 1.0.0-alpha07 von Kamera-Kamera2 enthält diese Commits
Camera2Config
kann jetzt für die Initialisierung und Konfiguration einer Camera2-basierten Implementierung für CameraX verwendet werden. Weitere Informationen zur Verwendung bei der Initialisierung finden Sie in den Versionshinweisen im Abschnitt zum Kamerakern.- Die Interoperabilität von Camera2 ist jetzt als experimentell gekennzeichnet und wurde in ein separates Paket verschoben:
androidx.camera.camera2.interop.
Kamera-Core-Version 1.0.0-alpha07
4. Dezember 2019
androidx.camera:camera-core:1.0.0-alpha07
wird freigegeben. Version 1.0.0-alpha07 des Kamerakerns enthält diese Commits
Im Rahmen der Vorbereitung auf die Betaversion gibt es in diesem Alpharelease einige wesentliche Änderungen. Wir empfehlen Ihnen, sich die Änderungen anzusehen und der Google-Gruppe „CameraX“ Feedback zu geben. Entwicklern, die CameraX in Apps aus dem Play Store verwenden, empfehlen wir, die offizielle Betaversion abzuwarten, 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 den vonandroidx.camera.camera2
bereitgestellten Standard-Camera2Config
verwenden. Eine typische Verwendung ist: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. Die
bindToLifecycle()
,unbind()
,unbindAll()
,isBound()
undhasCamera()
, die zuvor im CameraX-Kursaufruf bereitgestellt wurden, sind jetzt über dieProcessCameraProvider
verfügbar.Eine prozessspezifische Instanz von
ProcessCameraProvider
wird asynchron mit der statischen MethodeProcessCameraProvider.getInstance()
abgerufen, die ein auflistbares Future-Objekt zurückgibt, das nach Abschluss dasProcessCameraProvider
bereitstellt. Hier wird er inonCreate()
für eine typische Verwendung angezeigt. Sie könnengetInstance()
später im Lebenszyklus der Aktivität aufrufen, um die Latenz bei der Initialisierung 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); }
Dem von
getInstance()
zurückgegebenenListenableFuture
kann ein Listener hinzugefügt werden. Dadurch kann der Kameraanbieter aus derFuture
abgerufen werden, ohne dass er aufFuture.get()
blockiert wirdcameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))
Die Kameraauswahl erfolgt jetzt über die Kameraauswahl und nicht mehr je nach Anwendungsfall
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
CameraProvider.bindToLifecycle
erhält den Lebenszyklusinhaber, die Kameraauswahl und Anwendungsfälle, die dann an diesen Lebenszyklusinhaber gebunden und für die ausgewählte Kamera ausgeführt werden.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)
Anwendungsfallklassen vom Typ „Config“ werden entfernt. Stattdessen können Sie Anwendungsfälle direkt erstellen und Optionen für die einzelnen Anwendungsfälle festlegen. Beispiele:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
Der Anwendungsfall „Vorabversion“ wurde aktualisiert und akzeptiert nun eine Oberfläche, die von der App erstellt und verwaltet wird, um Best Practices für Android zu gewährleisten. Es wird dringend empfohlen, die im Kameraansicht-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 Analyzer-Methode
ImageAnalysis
muss für empfangene Bilderimage.close()
aufrufen, nachdem sie verwendet wurden. Andernfalls kann es sein, dass keine neuen Bilder empfangen werden oder die Kamera sich verirrt. Weitere Informationen finden Sie in der Referenzdokumentation.„
ImageAnalysis ImageReaderMode
“ ist jetzt in die Gegendruckstrategie „intdef
“ geändert.ImageProxy.getImage()
ist als experimentell gekennzeichnet. Die Nutzung sollte durch die Anwendung annotiert werden, beispielsweise über@androidx.camera.core.ExperimentalGetImage
Die Anmerkungsanforderung
UIThread
fürAnalyzer
wurde entfernt.Zum Entfernen eines Analyzers wird 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 zu IntDef geändert
Zoomsteuerelemente wurden hinzugefügt:
CameraControl.setLinearZoom()
CameraControl.setZoomRatio()
CameraInfo.getLinearZoom()
CameraInfo.getMaxZoomRatio()
CameraInfo.getZoomRatio()
CameraInfo.hasFlashUnit()
wird hinzugefügt, um zu ermitteln, ob ein Blitzgerät oder eine Taschenlampe vorhanden ist.CameraInfo.isFlashAvailable()
wurde entfernt. Taschenlampe überschreibt die Blitzfunktion. Weitere Informationen finden Sie in der Referenzdokumentation.ImageCapture.Metadata
-Felder werden durch die Zugriffsmethoden „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 von Fabriken produziert. Apps sollten die vorhandenen Factorys statt benutzerdefinierter Factorys verwenden.
Behobene Probleme
- Ein Problem wurde behoben, das beim Fortsetzen von Bildern aufgetreten ist (nachdem bei einer früheren Pause Bilder aufgenommen wurden, die noch nicht abgeschlossen waren).
- Bekanntes Problem:
CameraControl.enableTorch()
funktioniert, aber der zurückgegebeneListenableFuture<Void>
steht immer in unmittelbarercomplete(success)
-Zukunft, selbst wenn keine Flash-Einheit vorhanden ist. Dieses endgültige Verhalten wird in zukünftigen Versionen behoben: Wenn keine Flash-Einheit vorhanden ist, schlägtenableTorch(true)
sofort fehl und sendet keine Anfrage anCaptureSession
undTorchState
bleibt deaktiviert. - Bekanntes Problem:
startFocusAndMetering
undcancelFocusAndMetering
starten und brechen die Fokusmessung ab, geben jedoch sofort eincompleted (success)
-Objekt zurück, das nicht dem dokumentierten Verhalten entspricht. DasFocusMeteringResult
vonListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()
ist ein fiktives Ergebnis, dasisFocusSuccessful()
und immer „falsch“ ist. Es unterscheidet sich also vom beabsichtigten, dokumentierten Verhalten. - Bekanntes Problem: Eine Metering Point Factory zur Verwendung mit
PreviewView
-Touch-Ereignissen wird entwickelt. Derzeit können Apps, die benutzerdefinierte verwaltete Oberflächen verbinden, die vorhandenen Metering Point Factorys verwenden. Andernfalls ist fürPreviewView
keine Touchfokus-Funktion verfügbar.
Kamera-Kamera2 und Kamera-Core-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
werden veröffentlicht. Dies sind die in camera-camera2:1.0.0-alpha06
enthaltenen Commits und die in camera-core:1.0.0-alpha06
enthaltenen Commits.
Neue Funktionen
Änderungen an den Einstellungen der Seitenverhältnisse:
setTargetAspectRatioMode()
wurde hinzugefügt und akzeptiert ein enum-Argument. Dadurch wird der Modus für das Seitenverhältnis mit den OptionenRATIO_4_3
oderRATIO_16_9
anstelle eines beliebigen Seitenverhältnisses festgelegt. Dies spiegelt die Tatsache wider, dass von der Kamera nur bestimmte Seitenverhältnisse zur Verfügung gestellt werden, nicht ein willkürliches Verhältnis.- Derzeit sind nur die Seitenverhältnisse 16:9 und 4:3 verfügbar. Im Fall von 1:1 ist dies nur bei bestimmten Geräten über die Kamera möglich, und das dann auch nur bei begrenzter Auflösung. Anwendungen, die eine 1:1-Schnittstelle oder -Verarbeitung entwerfen, sollten die flexibleren Optionen im Format 16:9 oder 4:3 verwenden und die Anzeige oder den Prozess in einer Unterregion zuschneiden.
- Diese Seitenverhältnisse sind auf die maximale Sensorfläche ausgerichtet.
getTargetAspectRatio()
wurde den APIs für die Anwendungsfallkonfiguration hinzugefügt und gibt das Seitenverhältnis zurück, auf das die Ausgabe des Anwendungsfalls ausgerichtet ist.- Die Methode
setTargetAspectRatio(Rational aspectRatio)
wurde für ImageCapture zusetTargetAspectRatioCustom(Rational aspectRatio)
geändert. Wenn festgelegt, wird die ImageCapture-Ausgabe entsprechend zugeschnitten.
Executor-APIs
- Die folgenden Funktionen akzeptieren einen Executor-Parameter, mit dem die App steuern kann, auf welchem Executor die Funktion ausgeführt wird.
Preview.setOnPreviewOutputUpdateListener()
API erstellen. 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“ mit den Kontrollkästchen „Flash verfügbar“ und „Sensor Rotation APIs“ hinzugefügt
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 die Kamera verfügbar ist. Beispiele: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 gibt die Ausrichtung des Kamerasensors relativ zur natürlichen Ausrichtung des Geräts oder aus Gründen der Nutzerfreundlichkeit relativ zu einer Ausrichtung an, die durch eine Oberflächenrotation beschrieben wird (die eine Ausrichtung relativ zur natürlichen Ausrichtung beschreibt).
API-Änderungen und Fehlerkorrekturen
- Seitenverhältnisse: Für jeden Anwendungsfall sollten Anwendungen nur entweder
setTargetResolution()
odersetTargetAspectRatio()
aufrufen. Wenn beide für denselben Builder aufgerufen werden, wird ein Fehler zurückgegeben.- Im Allgemeinen wird die Verwendung von
setTargetAspectRatio()
aufgrund des UI-Designs der Anwendung empfohlen. Lösungen hängen vom jeweiligen Anwendungsfall ab. Die Vorschau entspricht beispielsweise fast der Bildschirmauflösung und die Bildaufnahme liefert Standbilder mit hoher Auflösung. Weitere Informationen finden Sie in der Tabelle zur automatischen Problemlösung. - Verwende
setTargetResolution()
für konkretere Fälle, z. B. wenn minimale Auflösungen (um Berechnungen) oder maximale Auflösungen (zur Verarbeitung von Details) erforderlich sind.
- Im Allgemeinen wird die Verwendung von
- Executor API: Der
setCallbackHandler()
-Aufruf wurde aus den APIs für die Anwendungsfallkonfiguration entfernt. Stattdessen können Anwendungen den Executor als Parameter in verschiedenen anderen APIs festlegen, die einen Callback festlegen. - Null-Annotationen für verschiedene Funktionen wurden aktualisiert.
- Beim Öffnen der Kamera wurde
java.lang.IllegalStateException at Camera$StateCallback.onError
ausgelöst. Dieses Problem wurde behoben. - Ein Problem wurde behoben, bei dem zu kleine Auflösungen (unter 640 × 480) ausgewählt wurden, wenn die App größere oder Standardauflösungen anforderte, was zu einem blockartigen oder verschwommenen Vorschaubild führte. Anwendungen, die eine geringere Auflösung benötigen, können diese explizit anfordern.
- Ein Problem wurde behoben, bei dem die Kamera nach ihrer Rückkehr von einem Intent, bei dem eine andere Kamera-App gestartet wurde, einen schwarzen Bildschirm anzeigten (die Kamera konnte nicht gestartet werden).
- Der folgende Fehler wurde behoben, wenn Apps wiederholt gestartet oder beendet wurden:
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
- Der folgende Fehler, der beim Deaktivieren von ImageAnalysis auftrat, wurde behoben:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
. - Es wurden zusätzliche Tests für den Ablauf beim Trennen der Kamera hinzugefügt.
- Die Stabilität des Testsystems bei aufeinanderfolgenden Kameratests wurde verbessert.
Kamera-Kamera2 und Kamera-Core-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
werden veröffentlicht. Dies sind die in „kamera-camera2:1.0.0-alpha05“ enthaltenen Commits und die enthaltenen „kamera-core:1.0.0-alpha05“.
API-Änderung: Umbenannte Fehlervariablen für Anwendungsfälle:
ImageCapture.UseCaseError
wird inImageCapture.ImageCaptureError
umbenannt.VideoCapture.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 das Objektiv ausgewählt wird:CameraX.getCameraControl(LensFacing lensFacing)
MeteringPointFactory
,MeteringPoint
,MeteringMode
undFocusMeteringAction
wurden zum Ausführen des Tippens zum Fokussieren 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 Factories hinzugefügt, die die Übersetzung von Tippkoordinaten in Sensorkoordinaten auf der Grundlage von 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 geben Sie
IllegalStateException
aus, wenn dies nicht der Fall ist. Zukünftige Versionen ermöglichen die Verwendung in anderen Threads und stellen die Serialisierung sicher.CameraX.bindToLifecycle()
CameraX.unbind()
CameraX.unbindAll()
ImageAnalysis.setAnalyzer()
ImageAnalysis.getAnalyzer()
ImageAnalysis.removeAnalyzer()
Preview.removePreviewOutputListener()
Preview.getOnPreviewOutputUpdateListener()
Preview.setOnPreviewOutputUpdateListener()
Verschiedene Konfigurationseinstellungen akzeptieren jetzt Nullparameter und entsprechende Getter geben möglicherweise null zurück.
Das Problem beim Testen auf Emulatoren, die keine AF/AE/AWB-Einstellungen unterstützen, wurde behoben.
Absturzfehler beim Drehen während der Bildanalyse wurde behoben.
Ein Fehler wurde behoben, bei dem die Vorschau nach dem Drehen oder Wechseln zwischen Front- und Rückkamera beim Start schwarz angezeigt wurde (keine Kameradaten).
Tests für mehrere gleichzeitige Bildanalyseanwendungsfälle wurden entfernt. Aus Gründen der Kompatibilität sollten Anwendungen nur einen einzigen Anwendungsfall für die Bildanalyse anhängen.
Erste robolektrische Tests für gefälschte Kameras in Kameratest-Suite (WIP) hinzugefügt.
Der Camera2Inititalizer-Test wurde entfernt, da die Abdeckung unklar oder irreführend war.
Kamera-Kamera2 und Kamera-Core-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
werden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
Neue Funktionen
Änderungen bei der Auswahl von Seitenverhältnis und Auflösung
Das Ziel von CameraX ist es, eine Kamerasitzung erfolgreich zu starten. Das bedeutet, dass CameraX je nach Gerätekapazität Kompromisse bei Auflösung und Seitenverhältnissen eingeht, um als erstes Ziel eine Aufnahme zu starten. Daher werden exakte Anfragen möglicherweise nicht berücksichtigt. Das kann folgende Gründe haben:
- Geräte, die die angeforderte Auflösung nicht unterstützen
- Kompatibilitätsprobleme, beispielsweise auf LEGACY-Geräten, bei denen bestimmte Auflösungen erforderlich sind, damit das Gerät richtig funktioniert
- Auf einigen Geräten sind bestimmte Formate nur bei bestimmten Seitenverhältnissen verfügbar.
- Eine Präferenz für einen „nächsten mod16“ für JPEG- oder Videocodierung. Weitere Informationen finden Sie unter
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
.
Obwohl CameraX die Sitzung erstellt und verwaltet, sollten Sie die zurückgegebenen Bildgrößen immer in der Ausgabe des Anwendungsfalls in Ihrem Code prüfen und entsprechend anpassen.
Es wurden einige Änderungen an den Einstellungen von Auflösungen und Seitenverhältnissen vorgenommen, um die API noch verständlicher zu machen:
- Im Anwendungsfall „Vorschau“ wird jetzt davon ausgegangen, dass das Seitenverhältnis standardmäßig 4:3 ist, wenn keins festgelegt ist.
- Wenn CameraX intern Änderungen an angeforderten Auflösungen und Seitenverhältnissen basierend auf der Gerätefunktion berücksichtigt, wird zuerst versucht, dasselbe Seitenverhältnis beizubehalten (durch
setTargetAspectRatio
- odersetTargetResolution
-Aufrufe festgelegt). - Eine „Nächste Version 16“ der Auflösung wird als dasselbe Seitenverhältnis angesehen.
Nicht blockierender Bildanalysemodus
- Das Verhalten von
ImageReaderMode.ACQUIRE_LATEST_IMAGE
ist jetzt nicht mehr blockierend. Dabei wird das neueste Bild in der Warteschlange erfasst, aber nicht verwendete Bilder kontinuierlich verwirft, um eine Blockierung durch die Kamera-Pipeline zu vermeiden. - Das Analysetool kann ein einzelnes Bild für unbegrenzte Zeit aufbewahren, ohne die Pipeline zu stören.
- Wenn die Anwendung einen Executor bereitstellt, der dann blockiert, werden die Anwendungsfallblöcke ImageAnalysis.
- Der intern festgelegte Standard-Executor verhält sich wie ein nicht blockierender Executor.
Fehlerkorrekturen
- Zeitüberschreitung beim Warten auf die 3A-Konvergenz bei der Aufnahme von Bildern auf Geräten ohne Autofokus, automatische Belichtung und automatisches Weißabgleich. Dieses Problem wurde behoben.
- Ein Problem wurde behoben, das bei einer schnellen Aufnahme von Bildern mit ImageCapture auftrat. Behebt den Fehler:
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. - Problem behoben, bei dem für das LEGACY-Gerät ein bestimmtes Seitenverhältnis als maximale JPEG-Auflösung erforderlich war
- Ein Problem wurde behoben, das beim Öffnen der App im Hintergrund beim Öffnen der Kamera aufgetreten ist.
- Problem mit API < 25 behoben, bei dem der Fehler
checkAndUpdateEglState: invalid current EGLDisplay
entfernt wurde - Ein Problem wurde behoben, wenn die Bindung der Vorschau nach dem Aktivieren und Starten von Erweiterungen aufgehoben wurde
- Build-Artefakte für Kameraansicht und Kameraerweiterungen werden jetzt als Alphaversionen veröffentlicht
Kamera-Kamera2 und Kamera-Core-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
werden veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
API-Änderungen
- Es wurde eine Javadoc-Erläuterung für "target" in den setTarget-Konfigurationsaufrufen hinzugefügt.
Kamerakern
- Behebung eines nicht konfigurierten Absturzes der Eingabe-/Ausgabeoberfläche beim schnellen Öffnen/Schließen oder Binden/Aufheben der Bindung
- Zu neuen Future-Implementierungen wechseln
- Fehlerkorrekturen für zuverlässigere Tests
- Hauptintegrationstest zeigt jetzt an, wie lange die Aufnahme von Fotos dauert
- Entwicklung interner Compat-Kurs für Executors
- Timing-Test-App-Aufnahmen warten, bis vorherige abgeschlossen sind und verbesserte Stabilität
Erweiterungen
- Versionsverwaltungsprüfungen hinzugefügt
- Zusätzliche Testabdeckung – Rückrufe für Erweiterungsereignisse
- Verbesserungen für intern entsprechende Bild- und Metadaten
- Fehlerkorrekturen beim Moduswechsel in der Test-App
Kamera-Kamera2 und Kamera-Core-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
werden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Problem mit div by null bei Verwendung des Emulators behoben
- Der Fehler "NullPointerException/Surface Abandoned" trat auf einigen Geräten auf, wenn schnell Fotos aufgenommen wurden, während Anwendungsfälle schnell aufgehoben und neu verknüpft wurden.
- Internes Problem behoben, das dafür sorgte, dass Aktualisierungen von Aufnahmeanfragen einheitlich auf allen Oberflächen angewendet werden
- 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-Klassen- und Lebenszyklusverwaltung
- Instrumentierte Tests für die Antilope-App für Leistungstests hinzugefügt
- Entfernung der Notwendigkeit von „-keepattributes Signature“ in der App Proguard-Konfiguration
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
werden freigegeben. Version 1.0.0-alpha01 enthält diese Commits.
Kameralebenszyklus Version 1.0.0-beta11
14. Oktober 2020
androidx.camera:camera-lifecycle:1.0.0-beta11
wird freigegeben. Version 1.0.0-beta11 enthält diese Commits.
Fehlerkorrekturen
<UseCase>.getTargetRotation()
gibt bei AufrufSurface.ROTATION_0
zurück, bevor es an eine Kamerainstanz angehängt wird, es sei denn, für den Builder oder Anwendungsfall wurde eine targetRotation festgelegt. (I80fcd)
Kameralebenszyklus Version 1.0.0-beta10
23. September 2020
androidx.camera:camera-lifecycle:1.0.0-beta10
wird freigegeben. Version 1.0.0-beta10 enthält diese Commits.
Fehlerkorrekturen
- Release zur Unterstützung von Camera-Core 1.0.0-beta10
Kameralebenszyklus Version 1.0.0-beta09
16. September 2020
androidx.camera:camera-lifecycle:1.0.0-beta09
wird freigegeben. Version 1.0.0-beta09 enthält diese Commits.
Kameralebenszyklus Version 1.0.0-beta08
19. August 2020
androidx.camera:camera-lifecycle:1.0.0-beta08
wird freigegeben. Version 1.0.0-beta08 enthält diese Commits.
Fehlerkorrekturen
- Die Initialisierung sollte nicht mehr abstürzen, wenn ein Kontext verwendet wird, der kein Anwendungsobjekt von
Context.getApplicationContext()
zurückgibt. (I3d3c9, b/160817073)
Kameralebenszyklus Version 1.0.0-beta07
22. Juli 2020
androidx.camera:camera-lifecycle:1.0.0-beta07
wird freigegeben. Version 1.0.0-beta07 enthält diese Commits.
Kameralebenszyklus Version 1.0.0-beta06
24. Juni 2020
androidx.camera:camera-lifecycle:1.0.0-beta06
wird freigegeben. Version 1.0.0-beta06 enthält diese Commits.
API-Änderungen
- CameraX kann jetzt vor dem Aufruf von ProcessCameraProvider#getInstance() mit ProcessCameraProvider#configureInstance() konfiguriert werden. Dadurch kann CameraXConfig angepasst werden, ohne dass CameraXConfig.Provider in der Anwendungsklasse der App implementiert werden muss. (Ia1a8d)
Kameralebenszyklus Version 1.0.0-beta05
10. Juni 2020
androidx.camera:camera-lifecycle:1.0.0-beta05
wird freigegeben. Version 1.0.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Der Absturz beim App-Start beim Initialisieren von CameraX im Modus „Bitte nicht stören“ wurde behoben. Ein
InitializationException
enthält einCameraUnavailableException
, das auf denListenableFuture
des Initialisierungsergebnisses festgelegt wird, anstatt die Anwendung abstürzen zu lassen. (I9909a, b/149413835)
Kameralebenszyklus Version 1.0.0-beta04
27. Mai 2020
androidx.camera:camera-lifecycle:1.0.0-beta04
wird freigegeben. Version 1.0.0-beta04 enthält diese Commits.
Kameralebenszyklus Version 1.0.0-beta03
15. April 2020
androidx.camera:camera-lifecycle:1.0.0-beta03
wird freigegeben. Version 1.0.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Die Regression von beta03 wurde behoben, bei der der Aufruf von
bindToLifecycle()
mit nullUseCase
s zu einer ausgelösten Ausnahme führte. Dadurch konnte keinCamera
abgerufen werden, ohne einUseCase
zu binden. - Korrekturen zur Unterstützung der Veröffentlichung von
camera-core
Kameralebenszyklus Version 1.0.0-beta01
26. Februar 2020
androidx.camera:camera-lifecycle:1.0.0-beta01
wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- Die Dokumentation wurde korrigiert, sodass beim Abrufen eines
ProcessCameraProvider
während der Initialisierung eine Standardkonfiguration verwendet wird und das Erweitern vonApplication
optional ist. (I5e395)
Kameralebenszyklus Version 1.0.0-beta02
1. April 2020
androidx.camera:camera-lifecycle:1.0.0-beta02
wird freigegeben. 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.
Kameralebenszyklus Version 1.0.0-alpha10
10. Februar 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10
wird freigegeben. Version 1.0.0-alpha10 enthält diese Commits.
API-Änderungen
- Den Methoden "BindToLifecycle", "unbind" und "unbindAll" wurde die Anmerkung
@MainThread
hinzugefügt. (I990d2)
Kameralebenszyklus Version 1.0.0-alpha03
22. Januar 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03
wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.
Updates
- Verschiedene Fehlerkorrekturen und Updates zur Unterstützung von Änderungen an Camera Core und Camera2.
Kameralebenszyklus Version 1.0.0-alpha02
18. Dezember 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02
wird freigegeben. Version 1.0.0-alpha02 enthält diese Commits.
Abhängigkeitsänderungen
- Aktualisiert, um
androidx.camera:camera-core:1.0.0-alpha08
zu verwenden.
Kameralebenszyklus Version 1.0.0-alpha01
4. Dezember 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01
wird freigegeben. Version 1.0.0-alpha01 des Kameralebenszyklus enthält diese Commits
API-Hinweise
- Das Artefakt für den Kameralebenszyklus wird hinzugefügt. Es bietet eine
LifeCycleCameraProvider
-Schnittstelle und eine Implementierung namensProcessCameraProvider
, die viele Funktionen der vorherigen CameraX-Klasse im Kern enthält und über einegetInstance()
-Methode abgerufen wird. - Apps müssen die Kamera-Lebenszyklusbibliothek enthalten, um CameraX zu verwenden.
- Informationen zur Initialisierung von CameraX mit einem
ProcessCameraProvider
finden Sie in den Hinweisen im Abschnitt Kamerakern.
Kameraerweiterungen und Kameraansicht 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
werden 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 Artefakte der Kamera-Erweiterungen aktualisieren. (If683a, b/161377155)
Fehlerkorrekturen
- Die App darf beim Binden von
VideoCapture
keine Erweiterungsmodi 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 keinIllegalArgumentException
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 deutlich 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 sich auf die maximale Ausgabegröße oder den Parameter für die Eingabeauflösung beziehen. (I74bb2) - Verschieben Sie den
CameraProvider
-Parameter vonExtensionsManager
-Funktionen in diegetInstance()
API. Damit die Nutzer denCameraProvider
-Parameter nicht jedes Mal eingeben müssen, wenn sie dieExtensionsManager
-Funktionen aufrufen. (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
werden veröffentlicht. Version 1.0.0-alpha31 enthält diese Commits.
API-Änderungen
- CameraSelector#filter wurde der öffentlichen API hinzugefügt, um eine Liste von CameraInfos basierend auf einem CameraSelector zu filtern. (I105d0)
Fehlerkorrekturen
- Ein Absturz beim schnellen Wechseln des Erweiterungsmodus auf bestimmten Geräten wurde behoben. (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
werden veröffentlicht. Version 1.0.0-alpha30 enthält diese Commits.
API-Änderungen
- Allen CameraX-Klassen wurde die Annotation @RequiresApi(21) hinzugefügt und „minSdkVersion“ aus der AndroidManifest.xml gelöscht. Dadurch kann der Kamerakern einfach in Anwendungen eingebunden werden, deren minSdkVersion kleiner als 21 ist, aber Codepfade verwenden möchten, die auf API 21 oder höher basieren. Bei jeder Anwendung mit minSdkVersion 21 oder höher sind für diese Änderung keine Maßnahmen erforderlich. (Ie7f2e, b/200599470)
Fehlerkorrekturen
- Das Problem "ZusammenfassungMethodError", das bei aktiviertem Proguard aufgetreten ist, 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
werden veröffentlicht. Version 1.0.0-alpha29 enthält diese Commits.
API-Änderungen
- Die Annotation „ExperimentalUseCaseGroup“ wurde entfernt, da die APIs nicht mehr experimentell sind. (I01ef5)
RotationProvider#removeAllListeners()
entfernen. Bitte verwende stattdessenRotationProvider#removeListener(...)
. (Id9d4a)- Die RotationReceiver-Klasse wurde aktualisiert: Der Parameter "set/clear" wurde in "add/remove/removeAll" geändert, die setListener-Variante, die standardmäßig den Hauptthread verwendet, entfernt und die Methodenanmerkungen wurden hinzugefügt. (Ib1669)
Fehlerkorrekturen
- ExtensionMode#BEAUTY wurde in FACE_RETOUCH umbenannt, um die Aktionen des Erweiterungsmodus korrekt darzustellen. (I61f54, b/198515274)
- Das Problem, dass die Kamera unerwartet geschlossen wurde, wenn mehrere CameraController- und PreviewView-Elemente 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
werden 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. Dieselbe Funktion wird auch mit einer etwas anderen API bereitgestellt. (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 als endgültig festgelegt (I099fa)
Fehlerkorrekturen
- Veraltete
<EffectName><UseCase>Extender
-Klassen, ExtensionsErrorListener und zugehörige 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
werden veröffentlicht. Version 1.0.0-alpha27 enthält diese Commits.
API-Änderungen
- Die Darstellungsbereich-API wurde aus der experimentellen Phase 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 Verwendung zusammen mit der Benutzeroberfläche für das Schreiben 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
werden veröffentlicht. Version 1.0.0-alpha26 enthält diese Commits.
API-Änderungen
- füge die neue Methode
CameraController#getTapToFocusState()
hinzu, mit der das letzte Ergebnis beim Tippen zum Fokussieren angezeigt wird. (Iaccb0) - Hinzufügen weiterer Kamerafunktionen zu CameraController: Getter/Setter für das Zielseitenverhältnis, die Zielauflösung, den Aufnahmemodus, CameraControl und benutzerdefinierte Executors. (Iea8f2)
- Fügen Sie eine RotationReceiver-Klasse hinzu, die Änderungen der Oberflächenrotation empfängt. Damit kann die Zieldrehung festgelegt werden, wenn sich das Gerät im festen Hochformat/Querformat befindet. (Ib278f)
- Neue öffentliche APIs vom Typ „getGeschätzteCaptureLatenzRange“ in der ExtensionsManager-Klasse verfügbar gemacht. (I6a8ec)
- Eingestellter ExtensionsErrorListener. Derzeit wird mit dieser Oberfläche nur geprüft, ob beim Aktivieren von Erweiterungsmodi eine Vorschau oder eine Bildaufnahme fehlt. CameraX fügt automatisch eine zusätzliche Vorschau oder Bildaufnahme hinzu, damit die Funktionen der Erweiterung einwandfrei funktionieren. Danach werden über diese Oberfläche keine Fehler mehr gemeldet. (I47d9e)
- Neue öffentliche „ExtensionManager“-APIs, „isExtensionAvailable“ und „getExtensionEnabledCameraSelector“-APIs sowie eingestellte alte
<EffectName><UseCase>Extender
-Klassen und zugehörige APIs wurden offengelegt. (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
werden veröffentlicht. Version 1.0.0-alpha25 enthält diese Commits.
API-Änderungen
- Die experimentellen APIs von ExperimentalCameraFilter befinden sich jetzt in der experimentellen Phase. Sie werden zu formalen APIs. Sie können ohne kommentiertes Opt-In verwendet werden. (I4bc94)
- Fügen Sie ein Dienstprogramm hinzu, das Koordinaten zwischen Anwendungsfällen umwandelt. Anwendungsbeispiel: Im ImageAnalysis-Anwendungsfall erkannte Koordinaten transformieren und das erkannte Objekt in der Vorschau hervorheben. (I63ab1, b/137515129)
CameraView
wurde entfernt. „CameraView
“ wurde durch „CameraController
“ ersetzt. Weitere Informationen zur Migration finden Sie in der Migrationsanleitung: (Id5005)
Fehlerkorrekturen
ExperimentalUseCaseGroupLifecycle
wurde durchExperimentalUseCaseGroup
ersetzt. (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
werden veröffentlicht. Version 1.0.0-alpha24 enthält diese Commits.
Fehlerkorrekturen
- Die Annotation
@Experimental
wurde in den experimentellen APIs durch@RequiresOptIn
ersetzt. Verwenden Sie zum Aufrufen experimenteller APIsandroidx.annotation.OptIn
anstelle des verworfenenandroidx.annotation.experimental.UseExperimental
. (Iff226) - Das Problem mit der gestreckten Vorschau bei der Vorschau 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
werden veröffentlicht. Version 1.0.0-alpha23 enthält diese Commits.
API-Änderungen
- CameraView wird eingestellt. Bitte verwende stattdessen
LifecycleCameraController
. Weitere Informationen finden Sie in der Migrationsanleitung (Idac2c). - FloatRange-Annotation zu setLinearZoom() hinzugefügt (I69971)
Fehlerkorrekturen
- Angepinnte Abhängigkeiten der Kameraansicht, die auf 1.0.0-Artefakten basieren Abhängig von der Kameraansicht führt die Gradle-Abhängigkeitsauflösung nicht mehr dazu, dass Kamerakern, Kamera-Kamera2 und Kameralebenszyklus automatisch auf die neuesten Artefakte der Version 1.1.0 aktualisiert werden. Die Kameraansicht ist jedoch weiterhin mit diesen Artefakten kompatibel, wenn für sie explizit 1.1.0 verwendet wird. (Ic8fa1, b/181599852)
- Problem mit der gestreckten Vorschau auf dem Samsung A3 in der Vorschauansicht behoben. (Iacb30, b/180121821)
- Das Problem, dass die Kameraauswahl nicht vor der Initialisierung der Kamera festgelegt werden konnte, wurde behoben. (Ic8bd0)
Kameraerweiterungen und Ansicht von Version 1.0.0-alpha22
24. Februar 2021
androidx.camera:camera-extensions:1.0.0-alpha22
und androidx.camera:camera-view:1.0.0-alpha22
werden veröffentlicht. Version 1.0.0-alpha22 enthält diese Commits.
API-Änderungen
- Einen CameraInfo-Getter zu CameraController hinzufügen. (Ib8138, b/178251727)
Fehlerkorrekturen
- Fehlerkorrektur für ExtensionsErrorListener, sodass jetzt Fehler gemeldet werden, wenn nur Preview oder ImageCapture gebunden ist. (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
werden veröffentlicht. Version 1.0.0-alpha21 enthält diese Commits.
Wird veröffentlicht, um andere Artefakte aus der Kamerabibliothek zu unterstützen.
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
werden veröffentlicht. Version 1.0.0-alpha20 enthält diese Commits.
Wird veröffentlicht, um andere Artefakte aus der Kamerabibliothek zu unterstützen.
Kameraerweiterungen und Kameraansicht 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
werden veröffentlicht. Version 1.0.0-alpha19 enthält diese Commits.
Fehlerkorrekturen
- Die Anmerkung „
@ExperimentalVideo
“ wurde für die Kameraansicht eingeführt. Diese Annotation kennzeichnet APIs mit experimentellen Videofunktionen, die sich im Laufe der Zeit noch ändern können. Jede Methode, die diese APIs verwendet, sollte die Annotation@UseExperimental
mitExperimentalVideo
alsmarkerClass
verwenden. (I6d729)
Kameraerweiterungen Version 1.0.0-alpha18
14. Oktober 2020
androidx.camera:camera-extensions:1.0.0-alpha18
wird freigegeben. Version 1.0.0-alpha18 enthält diese Commits.
Fehlerkorrekturen
- Die Latenz bei CameraX-Initialisierung und bindToLifecycle (I61dc5) wurde verbessert.
<UseCase>.getTargetRotation()
gibt bei AufrufSurface.ROTATION_0
zurück, bevor es an eine Kamerainstanz angehängt wird, es sei denn, für den Builder oder Anwendungsfall wurde eine targetRotation festgelegt. (I80fcd)
Camera View-Version 1.0.0-alpha18
14. Oktober 2020
androidx.camera:camera-view:1.0.0-alpha18
wird freigegeben. Version 1.0.0-alpha18 enthält diese Commits.
Wird veröffentlicht, um andere Artefakte aus der Kamerabibliothek zu unterstützen.
Kamera-Erweiterungen Version 1.0.0-alpha17
23. September 2020
androidx.camera:camera-extensions:1.0.0-alpha17
wird freigegeben. 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
wird freigegeben. 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
wird freigegeben. Version 1.0.0-alpha16 enthält diese Commits.
Fehlerkorrekturen
- In
ExtensionsManager
wurde eine Methode zum Abrufen einesExtensions
-Objekts hinzugefügt, mit dem Erweiterungen auf Kamerainstanzen aktiviert und abgefragt werden können (I4fb7e).
Camera View-Version 1.0.0-alpha16
16. September 2020
androidx.camera:camera-view:1.0.0-alpha16
wird freigegeben. Version 1.0.0-alpha16 enthält diese Commits.
API-Änderungen
PreviewView#setDeviceRotationForRemoteDisplayMode()
undPreviewView#getDeviceRotationForRemoteDisplayMode()
wurden entfernt. Die beiden Methoden dienen der Anpassung der Vorschaudrehung, wenn die gewünschte Drehung nicht die Displaydrehung ist (z.B. Remote-Display). Wenn die Vorschau ohne Display jetzt ausgeliefert werden soll, 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 Vorschau zulassen. Die Transformationsinformationen werden berechnet und bei Bedarf ü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 fälschlicherweise von PreviewView#onTouchEvent() verwendet. 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
wird freigegeben. Version 1.0.0-alpha15 enthält diese Commits.
Fehlerkorrekturen
- Die Methode
ExtensionsManager.init()
akzeptiert jetzt einen Kontext als Parameter, anstatt 0 Argumente zu haben. (Ife754) Die Initialisierung sollte nicht mehr abstürzen, wenn ein Kontext verwendet wird, der kein Anwendungsobjekt von
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
wird freigegeben. Version 1.0.0-alpha15 enthält diese Commits.
Fehlerkorrekturen
DisplayOrientedMeteringPointFactory
übernimmt eineCameraInfo
-Instanz anstelle einerCameraSelector
-Instanz, sodass es eine direkte Zuordnung zur Kamera gibt, für die die Factory Punkte generiert. Alle Klassen, dieDisplayOrientedMeteringPointFactory
verwenden, nehmen auch eineCameraInfo
-Instanz anstelle vonCameraSelector
auf. (I400c1)TextureViewMeteringPointFactory
wurde entfernt.PreviewView
bietet eine öffentliche API (createMeteringPointFactory()
) zum Erstellen einer Metering Point Factory, unabhängig davon, ob eineTextureView
oderSurfaceView
verwendet wird. (ID693)- Benennen Sie die
SURFACE_VIEW
/TEXTURE_VIEW
-Implementierungsmodi von PreviewView inPERFORMANCE
/COMPATIBLE
um.PERFORMANCE
ist der alteSURFACE_VIEW
-Modus undCOMPATIBLE
der alteTEXTURE_VIEW
-Modus. (I0edc2) - Überschreiben Sie für die Bildaufnahme die Markierung „Horizontal spiegeln“ in den Metadaten basierend auf der Kamerarichtung. (I28499)
Kamera-Erweiterungen Version 1.0.0-alpha14
22. Juli 2020
androidx.camera:camera-extensions:1.0.0-alpha14
wird freigegeben. 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
wird freigegeben. 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
wird freigegeben. Version 1.0.0-alpha13 enthält diese Commits.
Fehlerkorrekturen
- Es wurden experimentelle Oberflächen zum Filtern von Kameras nach Kamera-ID und CameraCharacteristics hinzugefügt. (I28f61)
Camera View Version 1.0.0-alpha13
24. Juni 2020
androidx.camera:camera-view:1.0.0-alpha13
wird freigegeben. Version 1.0.0-alpha13 enthält diese Commits.
Fehlerkorrekturen
- CameraView stürzt bei der Bindung an einen LifecycleOwner nicht mehr ab, wenn der Lebenszyklus kurz nach der Bindung in den Status DESTROYED übergeht. Durch das Binden von Lebenszyklen im Status GELÖSCHT wird nicht versucht, die Kamera zu öffnen. (I7c2b8)
- PreviewView StreamState ist jetzt über CameraView.getPreviewStreamState() (I21a2b) verfügbar
Kameraerweiterungen Version 1.0.0-alpha12
10. Juni 2020
androidx.camera:camera-extensions:1.0.0-alpha12
wird freigegeben. Version 1.0.0-alpha12 enthält diese Commits.
Fehlerkorrekturen
- Der Absturz beim App-Start beim Initialisieren von CameraX im Modus „Bitte nicht stören“ wurde behoben. Ein
InitializationException
enthält einCameraUnavailableException
, das auf denListenableFuture
des Initialisierungsergebnisses festgelegt wird, anstatt die Anwendung abstürzen zu lassen. (I9909a, b/149413835)
Camera View Version 1.0.0-alpha12
10. Juni 2020
androidx.camera:camera-view:1.0.0-alpha12
wird freigegeben. Version 1.0.0-alpha12 enthält diese Commits.
Fehlerkorrekturen
- Fügen Sie die
PreviewView#getBitmap()
API hinzu, die eine Bitmap-Darstellung des auf der Vorschauoberfläche angezeigten Inhalts zurückgibt. (I9b500, b/157659818)
Kameraerweiterungen Version 1.0.0-alpha11
27. Mai 2020
androidx.camera:camera-extensions:1.0.0-alpha11
wird freigegeben. 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
wird freigegeben. Version 1.0.0-alpha12 enthält diese Commits.
Neue Funktionen
API-Änderungen
Fehlerkorrekturen
- Fügen Sie die
PreviewView#getBitmap()
API hinzu, die eine Bitmap-Darstellung des auf der Vorschauoberfläche angezeigten Inhalts zurückgibt. (I9b500, b/157659818)
Camera View Version 1.0.0-alpha11
27. Mai 2020
androidx.camera:camera-view:1.0.0-alpha11
wird freigegeben. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- Fügen Sie die
PreviewView#getPreviewStreamState
API hinzu, mit der Anwendungen feststellen können, ob die Vorschau gestreamt wird. Befindet sich die Vorschauansicht im Modus TEXTURE_VIEW, sorgt der STREAMING-Status auch dafür, 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 Anwendung im Remote-Anzeigemodus ausgeführt wird. (I59b95, b/153514525)
Fehlerkorrekturen
- Das Problem mit Verzerrungen in der Vorschau bei
FULL/LIMITED/LEVEL_3
-Kameras mit Android 7.0 und niedriger wurde behoben. DerImplementationMode#TEXTURE_VIEW
-Modus wird erzwungen, wenn Android 7.0 oder niedriger installiert ist. (I83e30, b/155085307) - Der
CameraInfo
-Parameter wurde ausPreviewView#createSurfaceProvider()
entfernt.PreviewView
ruft ihn jetzt intern ausSurfaceRequest
ab. (If18f0, b/154652477) - Das Standard-Seitenverhältnis von VideoCapture wurde in CameraView auf 16:9 geändert. (Ie6a7b, b/153237864)
- Beheben Sie
PreviewView
Probleme mit dem schwarzen Bildschirm, wenn Sie das FragmentPreview
herausgewischt und dann in ViewPager2 zurückgewischt haben. Das Problem beiremoveView(previewview)
und dannaddView(previewView)
wurde ebenfalls behoben. (Iab555, b/149877652, b/147354615) - Aktualisieren Sie die
CameraView#takePicture()
API, um das Speichern von Bildern inUri
undOutputStream
zuzulassen. Aktualisieren Sie die Test-App so, dassUri
als kanonisches Beispiel verwendet wird. (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. Verwenden Sie stattdessenPreviewView.ScaleType
, um einen Skalierungstyp mit CameraView festzulegen/zu erhalten. (Ia8974, b/153014831)- Legen Sie für
PreviewView
standardmäßig eine Hintergrundfarbe fest, falls noch keine vorhanden ist. Dadurch wird verhindert, dass der dahinter bezogene Inhalt vor Beginn des Vorschaustreams sichtbar ist. (I09fad)
Kamera-Erweiterungen Version 1.0.0-alpha10
15. April 2020
androidx.camera:camera-extensions:1.0.0-alpha10
wird freigegeben. Version 1.0.0-alpha10 enthält diese Commits.
Fehlerkorrekturen
- Fehlerkorrekturen zur Unterstützung der Veröffentlichung von Camera-Core
Camera-View-Version 1.0.0-alpha10
15. April 2020
androidx.camera:camera-view:1.0.0-alpha010
wird freigegeben. Version 1.0.0-alpha010 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein früheres bekanntes Problem behoben, bei dem die OberflächenView-Implementierung von
PreviewView
auf bestimmten Geräten nicht richtig funktionierte und dazu führte, dass die App nach der Wiederaufnahme der Vorschau abstürzte. (I5ed6b)
Kamera-Erweiterungen Version 1.0.0-alpha09
1. April 2020
androidx.camera:camera-extensions:1.0.0-alpha09
wird freigegeben. 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
Am 1. April 2020 wird androidx.camera:camera-view:1.0.0-alpha09
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 für die Vorschau verwendeteSurfaceView
-Oberfläche ihre Oberfläche ungültig macht, wenn der Lebenszyklus des Fensters, in dem sie sich befindet, beendet wird. Beim Neustart wird die Kamera wieder geöffnet und versucht möglicherweise, die Vorschau fortzusetzen, bevor die Oberfläche vonSurfaceView
wieder gültig ist. Vorerst solltest duImplementationMode.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 eineCameraInfo
-Instanz verwendet, für die Nullwerte zulässig sind, um die Vorschau nach Möglichkeit mithilfe vonImplementationMode.SURFACE_VIEW
zu optimieren. Wenn eine Null-Instanz übergeben wird oder Sie den bevorzugten Implementierungsmodus aufImplementationMode.TEXTURE_VIEW
festlegen, wirdImplementationMode.TEXTURE_VIEW
intern verwendet.Das folgende Codebeispiel zeigt, wie ein Anwendungsfall für die Vorschau zuvor mit PreviewView verwendet wurde.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
Jetzt 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. Das bedeutet, dass sie aus dem Hauptthread aufgerufen werden muss. (I192f3)PreviewView.setScaleType()
wurde hinzugefügt, mit dem der Skalierungstyp der Vorschau festgelegt werden kann. Einer der Werte ausPreviewView.ScaleType
ist zulässig. Der Standardwert istPreviewView.ScaleType.FILL_CENTER
.„
PreviewView.getScaleType()
“ wurde hinzugefügt.Die Unterstützung zum Festlegen des Implementierungsmodus für
PreviewView
in einem XML-Layout mithilfe des AttributsimplementationMode
wurde entfernt.Füge die
createMeteringPointFactory()
API zu PreviewView hinzu, um die Konvertierung (x, y) inPreviewView
inMeteringPoint
zu unterstützen. (Ib36d7)
Fehlerkorrekturen
- Das Problem, dass nach einer Größenänderung von
PreviewView
eine falsche Vorschau angezeigt wurde, wurde behoben. (I71101)
Kamera-Erweiterungen Version 1.0.0-alpha08
26. Februar 2020
androidx.camera:camera-extensions:1.0.0-alpha08
wird freigegeben. 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
wird freigegeben. Version 1.0.0-alpha08 enthält diese Commits.
Fehlerkorrekturen
ListenableFuture
inSurfaceRequest.provideSurface()
durchExecutor
undCallback
ersetzt. Dies vereinfacht die API, da die Verarbeitung von Ausnahmen fürprovideSurface()
nicht mehr erforderlich ist. Außerdem wird erzwungen, dass derprovideSurface()
-Callback nicht abgebrochen werden kann. Dadurch werden Abstürze auf älteren Geräten verhindert, die durch eine vorzeitige Veröffentlichung von Oberflächen verursacht werden. Mit demSurfaceRequest.Result
-Objekt wird jetzt erfasst, wie einSurfaceRequest
das bereitgestellteSurface
verwendet. (I7854b)SurfaceRequest.setSurface(Surface)
wurde inSurfaceRequest.provideSurface(Surface)
undSurfaceRequest.setWillNotComplete()
inSurfaceRequest.willNotProvideSurface()
umbenannt. (I224fe)- Die Initialisierung von App-Varianten mit aktiviertem ProGuard wurde korrigiert, indem das Flag beibehalten wurde, mit dem der Standardanbieter
CameraXConfig
festgelegt wird. (I2d6c1)
Kamera-Erweiterungen Version 1.0.0-alpha07
10. Februar 2020
androidx.camera:camera-extensions:1.0.0-alpha07
wird freigegeben. Version 1.0.0-alpha07 enthält diese Commits.
Fehlerkorrekturen
- Die zuvor in
ImageCapture.OnImageSavedCallback.onError()
undImageCapture.OnImageCapturedCallback.onError()
übergebenen Argumente wurden jetzt durch ein einzelnes 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
wird freigegeben. Version 1.0.0-alpha07 enthält diese Commits.
API-Änderungen
- In der
TextureView
-Implementierung vonPreviewView
wird jetzt die Größe derTextureView
auf die Ausgabegröße des Kamerasensors festgelegt, bevor sie auf das übergeordnetePreviewView
skaliert wird. Wenn die Kameravorschau einen ganzen Teil der Benutzeroberfläche ausfüllen soll (z. B. den gesamten Bildschirm), solltest du für die Größe vonPreviewView
keinen festen Wert festlegen oder den Inhalt umbrechen (z. B. mithilfe des Attributs „wrap_content
“). Andernfalls füllt die Kameravorschau eventuell nur einen Teil desPreviewView
aus (falls die Größe des Kamerasensors kleiner ist). Stattdessen sollten SiePreviewView
so groß wie das übergeordnete Element festlegen, z. B. mithilfe des Attributs „match_parent
“. (1204869)
Fehlerkorrekturen
ImageCapture
wurde aktualisiert, damit Bilder inUri
undOutputStream
gespeichert werden können. ÜberlastetetakePicture
-Methoden wurden in einer kombiniert. Die Test-App wurde aktualisiert, damitUri
als kanonisches Beispiel verwendet wird. (Ia3bec)Preview.PreviewSurfaceProvider
wurde inPreview.SurfaceProvider
umbenannt. FürSurfaceProvider
s müssen Entwickler keine eigenenListenableFuture
mehr erstellen. Die Bereitstellung 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 zuvor in
ImageCapture.OnImageSavedCallback.onError()
undImageCapture.OnImageCapturedCallback.onError()
übergebenen Argumente wurden jetzt durch ein einzelnes ArgumentImageCaptureException
ersetzt, das weiterhin alle zuvor übergebenen Informationen enthält. - Das zuvor an
ImageCapture.OnImageSavedCallback.onImageSaved()
übergebene Dateiargument wurde entfernt. (I750d2) - Die API wurde mit den Methoden
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
undgetLinearZoom()
aktualisiert, umCameraInfo
mitgetZoomState()
zusammenzuführen, wodurch eineZoomState
-Instanz zurückgegeben wird. (Ib19fe)
Kamera-Erweiterungen Version 1.0.0-alpha06
22. Januar 2020
androidx.camera:camera-extensions:1.0.0-alpha06
wird freigegeben. Version 1.0.0-alpha06 enthält diese Commits.
Updates
- Verschiedene Fehlerkorrekturen und Updates zur Unterstützung von Änderungen an Camera Core und Camera2.
Camera View Version 1.0.0-alpha06
22. Januar 2020
androidx.camera:camera-view:1.0.0-alpha06
wird freigegeben. Version 1.0.0-alpha06 enthält diese Commits.
Updates
- Verschiedene Fehlerkorrekturen und Updates zur Unterstützung von Änderungen an Camera Core und Camera2.
Kameraerweiterungen Version 1.0.0-alpha05
18. Dezember 2019
androidx.camera:camera-extensions:1.0.0-alpha05
wird freigegeben. 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
wird freigegeben. Version 1.0.0-alpha05 enthält diese Commits.
Bekannte Probleme
- Das Seitenverhältnis ist möglicherweise falsch, wenn Sie PreviewView verwenden (b/146215202).
Neue Funktionen
- Implementierung einer neuen Klasse namens
PreviewView.TextureViewImplementation
, die den Lebenszyklus von SurfaceTexture mit der Nutzung der TextureView-Oberfläche durch die Kamera synchronisiert.
Kamera-Erweiterungen Version 1.0.0-alpha04
4. Dezember 2019
androidx.camera:camera-extensions:1.0.0-alpha04
wird freigegeben. Version 1.0.0-alpha04 der Kamera-Erweiterungen enthält diese Commits
API-Änderungen
Bei der Überprüfung auf Verfügbarkeit und Aktivierung einer Erweiterung wird jetzt ein
CameraSelector
als Eingabeparameter verwendet. Dies muss dieselbeCameraSelector
sein, 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
wird freigegeben. Version 1.0.0-alpha04 der Kameraansicht enthält diese Commits
API-Änderungen
- Zum einfachen Anzeigen der Ausgabe des Anwendungsfalls „Vorschau“ in einer Anwendung wird eine
PreviewView
-Klasse bereitgestellt. PreviewView
kann im Layout enthalten sein:<androidx.camera.view.PreviewView android:id="@ id/preview_view" … />
PreviewView
stellt einPreviewSurfaceProvider
-Element bereit, mit dem sich ein Anwendungsfall aus der Vorabversion einfach verbinden lässtpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
In der API-Benennung heißt „
ZoomLevel
“ jetzt „ZoomRatio
“Einige Methodenparameter haben die Null-Zulässigkeit geändert
Camera-Erweiterungen 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
werden veröffentlicht. Dies sind die in camera-extensions:1.0.0-alpha03
enthaltenen Commits und die in camera-view:1.0.0-alpha03
enthaltenen Commits.
Neue Funktionen
- Kontextinitialisierer für Erweiterungen hinzugefügt. Erweiterungsversion erhöht auf 1.1.0
Kamera-Erweiterungen 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
werden freigegeben. Dies sind die in „kamera-extensions:1.0.0-alpha02“ enthaltenen Commits und die enthaltenen Commits „camera-view:1.0.0-alpha02“.
- Es wurden Tests hinzugefügt, mit denen geprüft wird, ob Zeitstempel korrekt in
PreviewImageProcessorImpl
implementiert sind. - Beheben Sie den Testfehler
ExtensionTest
auf Nexus 5 (API-Level 21) und prüfen Sie, ob eine Vorschau verfügbar ist.
Kamera-Erweiterungen 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
werden freigegeben.
Dies sind die in „kamera-extensions:1.0.0-alpha01“ enthaltenen Commits und die enthaltenen Commits „camera-view:1.0.0-alpha01“
- Neue Mediathek 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 „Kameraansicht“. Diese Bibliothek ist noch in der Entwicklung.