CameraX
In dieser Tabelle sind alle Artefakte in der Gruppe androidx.camera aufgeführt.
| Artefakt | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| camera-camera2 | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-core | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-compose | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-effects | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-extensions | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
| camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
| camera-lifecycle | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-mlkit-vision | 1.6.2 | 1.7.0-rc01 | - | - |
| Kameraansicht | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-viewfinder | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
| camera-video | 1.6.2 | 1.7.0-rc01 | - | - |
Gerätetests
CameraX wird in unserem Labor auf vielen Geräten getestet. Eine Liste der Geräte, die sich derzeit im Lab befinden, findest du unter Im Lab getestete CameraX-Geräte.
Abhängigkeiten deklarieren
Für eine Abhängigkeit von CameraX musst du deinem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Google-Maven-Repository.
Fügen Sie die Abhängigkeiten für die benötigten Artefakte in der Datei build.gradle für Ihre App oder Ihr Modul hinzu:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.7.0-rc01" // 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.7.0-rc01" // 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
Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Camera Viewfinder Compose Version 1.0
Version 1.0.0-alpha02
12. Juni 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 ist veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Version 1.0.0-alpha01
14. Mai 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 ist veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
- Neue Bibliothek. Diese Bibliothek führt eine native Viewfinder-Komponierbare Funktion ein, die mit CameraX und Camera2 verwendet werden kann. Der composable Viewfinder unterstützt verschiedene Seitenverhältnisse und die Verarbeitung von Touch-Events.
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 sind 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 sind veröffentlicht. Version 1.4.0-alpha06 enthält diese Commits.
API-Änderungen
- Die Enums von
ViewfinderinImplementationModewurden umbenannt, um die zugrunde liegenden Implementierungen besser widerzuspiegeln, und es wurden feste Konstanten fürTransformationInfo.sourceRotationhinzugefügt. (Ic6149) ZoomGestureDetector.ZoomEventhinzugefügt, um die Status einer Zoom-Geste zu kapseln. (I84cdf)
Version 1.7
Version 1.7.0-rc01
21. Oktober 2026
androidx.camera:camera-*:1.7.0-rc01 ist veröffentlicht. Version 1.7.0-rc01 enthält diese Commits.
API-Änderungen
UseCaseCamera2Interop,ImageCaptureCamera2Interop,SessionConfigCamera2InteropundCameraControlCamera2Interopwurden von Schnittstellen in abstrakte Klassen umgewandelt. (If654e)- Das Problem mit der Mehrdeutigkeit von Camera2Interop V2 wurde behoben (I1bbe5).
Fehlerkorrekturen
- Es wurde ein nativer
SIGSEGV-Absturz imCameraX-OpenGL-Thread behoben, der auftrat, wenn einSurfaceProcessoreine Eingabe-SurfaceTexturefreigegeben hat, derenSurfaceRequestvor dem Abschluss durch die automatische Speicherbereinigung gelöscht wurde. (I76f73, b/563673593) - Es wurde ein Surface-Leak und ein nativer
OpenGL-Absturz behoben, der während der automatischen Speicherbereinigung auftreten konnte, wenn der Executor oderHandlerThreadeinesCameraEffectbeendet wurde, bevor derSurfaceOutputdes Effekts geschlossen wurde. (Ifcc19, b/558819242) - Verbesserung des Verhaltens des Low Light-Modus: Der Low Light-Modus und die Taschenlampe folgen jetzt der Richtlinie „Letzte Einstellung gewinnt“. Wenn eine der beiden Funktionen aktiviert wird, wird die andere automatisch deaktiviert, anstatt die Anfrage abzulehnen. Außerdem kann der Blitz jetzt während der Bilderfassung ausgelöst werden, wenn die Funktion „Optimierung bei schlechten Lichtverhältnissen“ aktiv ist. (Ie583f)
- Die Abhängigkeit
androidx.lifecycle:lifecycle-runtimewurde auf 2.10.0 aktualisiert. Diese Version ist erforderlich, damit die gebündelten Lint-Prüfungen für die Lebenszyklus-Laufzeit mit AGP-Version 9.5.0-alpha04 oder höher ausgeführt werden können. (I99bfd, b/556807521) - Unterstützung für das Abrufen von
CameraSelectorauf physischen Kameras vonCameraInfo.getPhysicalCameraInfos()und das Binden vonUseCasesan physische Kameras. Wenn SieCameraInfomit einem physischenCameraSelectorabfragen, wird jetzt der physischeCameraInfoanstelle des logischenCameraInfozurückgegeben. (Ibe7f2) - In der Javadoc für
OutputOptions.Builder.setLocationwurde klargestellt, dass nur Längen- und Breitengrade in den Videometadaten gespeichert werden. (I77d3b, b/551348846) - In
ImageAnalysiswurde ein Fehler behoben, bei dem das dynamische Ändern der Ausgabedrehung oder das Aufheben der Bindung des Anwendungsfalls zu einem Ressourcenleck bei Surface/ImageReaderführen konnte. (I25cef) CameraInfo.getIntrinsicZoomRatio()rundet das zurückgegebene Verhältnis jetzt auf zwei Dezimalstellen. (Ibe9a8)- Die
HardwareBuffer.isSupported-Prüfung für dasPRIVATE-Format inImageAnalysiswurde gelockert, um falsch negative Fehler auf einigen Geräten zu vermeiden. (I347a4, b/545866947) - Ein Kompilierungsabsturz bei neueren JDK-Versionen wurde behoben, der beim Auflösen transitiv importierter JSpecify-Typanmerkungen für interne
CameraX-Felder auftrat. (I00bb4, b/543937345)
Version 1.7.0-alpha03
12. August 2026
androidx.camera:camera-*:1.7.0-alpha03 ist veröffentlicht. Version 1.7.0-alpha03 enthält diese Commits.
API-Änderungen
- Eingestellte Legacy-Camera2Interop APIs (
Camera2Interop.Extender,Camera2CameraControl,Camera2CameraInfoundCaptureRequestOptions) zugunsten vonCamera2Interop-Konfigurator-Factory-Methoden und Kotlin-Erweiterungsfunktionen. (Ib0845, b/529609261) - Kotlin DSL-Erweiterungsblöcke (
camera2Interop) fürpreview,imageAnalysis,videoCapture,imageCaptureundSessionConfig.Buildersowie die ErweiterungsfunktionCameraControl.applyCamera2InteropAsynchinzugefügt. (I51af9, b/529609261) - Neue
Camera2Interop-Konfigurator-Factory-Methoden (forUseCase,forImageCapture,forSessionConfig,forCameraControl) und entsprechendesetInterop- /applyInteropAsync-Methoden fürPreview.Builder,ImageCapture.Builder,ImageAnalysis.Builder,VideoCapture.Builder,SessionConfig.BuilderundCameraControlhinzugefügt. (I0007b, b/529609261) Camera2Interopwurden Hilfsmethoden und entsprechende Kotlin-Erweiterungseigenschaften (CameraInfo.cameraId,CameraInfo.cameraCharacteristicsundString.toCameraSelector()) hinzugefügt, um die Camera2-Kamera-ID und ‑Eigenschaften ausCameraInfoabzurufen. (I11803, b/529609261)Preview.setMirrorMode,Preview.getMirrorModeundVideoCapture.setMirrorModewurden zu öffentlichen APIs hinzugefügt und die AnnotationExperimentalMirrorModewurde entfernt. (I4ed60, b/519794349, b/470629643)- Kotlin DSL-Builder
preview{ ... },imageCapture{ ... },imageAnalysis{ ... } undvideoCapture{ ... } zum Erstellen vonUseCaseshinzugefügt. (I91df9, b/530013719) - ImagePlane.buffer wurde in einen nicht nullfähigen ByteBuffer geändert. (I98593)
- Die Property-Getter für
SessionConfig.Builder,HighSpeedVideoSessionConfig.BuilderundExtensionSessionConfig.Builderin der Kotlin DSL wurden eingestellt, um Nur-Schreib-Properties zu erzwingen. (I2875b, b/534570559)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem das Binden mehrerer
Preview-Anwendungsfälle mit einemOverlayEffectzu einem Fehler bei der Bereitstellung des Vorschaustreams führte. (I7a383, b/532577546, b/532924417) - Es wurde ein Problem behoben, bei dem
Recording.pause()undRecording.resume()beim Wechseln der Kamera während einer laufenden Videoaufnahme fehlschlugen. (I71004, b/532327691, b/367121726) - Es wurden HAL-Abstürze behoben, die bei Verwendung der Funktion „Zero Shutter Lag“ (ZSL) beim Zoomen über die physischen Kameragrenzen auf Geräten mit mehreren Kameras auftraten. (I1c374, b/527782712, b/514757157)
- Es wurde ein Problem behoben, bei dem die HDR-Videoaufnahme auf Samsung Galaxy S25-, S26- und Fold 7-Geräten fehlschlagen konnte. (Ic0827, b/529618629)
Version 1.7.0-alpha02
1. Juli 2026
androidx.camera:camera-*:1.7.0-alpha02 ist veröffentlicht. Version 1.7.0-alpha02 enthält diese Commits.
API-Änderungen
CameraXViewfinderunterstützt jetzt integrierte Gesten für das Zoomen durch Auf- und Zuziehen und das Fokussieren durch Tippen. Außerdem werden das Aufleuchten bei Benachrichtigungen und der Streamstatus unterstützt.FocusStateist jetzt in viewfinder-core öffentlich, damit die Ergebnisse von „Zum Fokussieren tippen“ beobachtet werden können. (I66a17, b/522549890)isAutoRotationEnabledwurde zuSessionConfig.Builder,HighSpeedVideoSessionConfig.BuilderundExtensionSessionConfig.Builderhinzugefügt und es wurden Kotlin-DSL-Factory-Funktionen für sie eingeführt. So kann die entsprechende Ausrichtung automatisch anhand der Gerätesensoren festgelegt werden. (I5b4a3, b/510752515)- Das Attribut
TransformationModewurde zuTransformationInfohinzugefügt, damit Apps dieOpenGL-Pipeline imEMBEDDED-Modus verwenden können. (Id1de1, b/487826941) isNightModeIndicatorSupported()undgetNightModeIndicator()wurden zuCameraInfohinzugefügt, um zu bestimmen, wann die Umgebungsbedingungen die Kriterien für den Nachtmodus erfüllen. (Iae47b, b/499389465)- ImageAnalysis.OUTPUT_IMAGE_FORMAT_PRIVATE und ImageProxy.getHardwareBuffer() wurden als öffentliche API verfügbar gemacht, um GPU-basierte ImageAnalysis zu unterstützen. (I41cb3, b/496022391, b/492934501)
- „ExtensionsManager#getExtensionEnabledCameraSelector“ wurde eingestellt. Verwenden Sie die neue ExtensionSessionConfig API, um Erweiterungsmodi zu aktivieren. (I2b336, b/473715607)
- Unterstützung für die visuelle Gestaltung von Kamerabildern während der gleichzeitigen Kamerakomposition hinzugefügt. Du kannst jetzt Folgendes anpassen:
- Abgerundete Ecken: Verwenden Sie setRoundedCornerRatio(float), um eine normalisierte Rundung (0,0 bis 1,0) auf die Rahmenkanten anzuwenden.
- Rahmen: Mit „setBorderWidthRatio(float)“ und „setBorderColor(int)“ können Sie einen dekorativen Rahmen mit einheitlicher Breite hinzufügen (I18a07, b/366349205).
- „CompositionSettings“ wurde aktualisiert, um eine nicht negative Z-Reihenfolge zu erzwingen. Außerdem wurde eine Validierung für „ConcurrentCamera.setCompositionSettings“ hinzugefügt, um sicherzustellen, dass die Methode mit der richtigen Anzahl von Einstellungen in einem gültigen Kompositionsmodus aufgerufen wird. (If660d, b/496951658)
- „getNightModeIndicator()“ und „isNightModeIndicatorAvailable()“ wurden zu „CameraExtensionsInfo“ hinzugefügt, damit Anwendungen bei Verwendung von Kameraerweiterungen prüfen können, ob die aktuelle Umgebung im Nachtmodus ist. (I62bb4, b/499389465)
- Unterstützung für die Videoqualität
QHDin VideoCapture hinzugefügt. (I0ac20, b/501305592) Recorder.Builder.setTargetAudioChannelCount(int)undRecorder.getTargetAudioChannelCount()wurden hinzugefügt, damit Entwickler eine explizite Anzahl von Audiokanälen festlegen können. (I6bee0, b/441895100)Recorder.Builder.setTargetAudioEncodingBitRate(int)wurde hinzugefügt, um die Festlegung einer Ziel-Bitrate für die Audiocodierung zu ermöglichen. (I29062, b/241151504)- Die ConcurrentCamera.setCompositionSettings API wurde hinzugefügt, damit Apps die Zusammensetzung der aktuellen Kamera dynamisch aktualisieren können, nachdem der Lebenszyklus gebunden wurde. Außerdem ermöglicht eine neue setZOrder-API in CompositionSettings.Builder die genaue Steuerung der Rendering-Reihenfolge sich überschneidender Kamerastreams. (I90528, b/473702287)
- Einführung von APIs für die detaillierte Steuerung von Codierungsformaten. Entwickler können jetzt mit
Recorder.getSupportedVideoMimeTypes()undgetSupportedAudioMimeTypes(), die sich derzeit in der Testphase befinden, vom Gerät unterstützte Formate ermitteln. Bevorzugte Formate können explizit überRecorder.Builder.setVideoMimeType()undsetAudioMimeType()konfiguriert werden. Außerdem können mitRecorder.getVideoCapabilities(CameraInfo, String)kameraspezifische Funktionen wie unterstützte Qualitäten und Dynamikbereiche für einen ausgewählten Codec abgefragt werden. (I4620e, b/491319384) - CameraController.setAutoRotationEnabled(boolean) wurde hinzugefügt, um das Deaktivieren des automatischen Geräterotations-Listeners zu ermöglichen. (Ia0c03, b/449573627)
- Unterstützung für die AE/AWB-Sperre in FocusMeteringAction über eine neue setLockingMode API hinzugefügt. Dadurch können auch 3A-Regionen aktualisiert werden, ohne den Fokus zu sperren. So kann die Kamera im kontinuierlichen Autofokusmodus bleiben, während der Fokusbereich aktualisiert wird. (I6416f, b/481624745)
Fehlerkorrekturen
- Anforderung für
compileSdk 37entfernt (If78b4) - Es wurden
CameraXViewfinder-Transformationsprobleme imEMBEDDED-Modus behoben, wenn dieOpenGL-Pipeline vonCameraXaktiviert wird, um mehrUseCases- oder Oberflächenverarbeitung zu binden. (I3e637, b/487826941) - Tests und Aktivitäten wurden aktualisiert, um „ExtensionSessionConfig“ anstelle der verworfenen API „getExtensionEnabledCameraSelector“ zu verwenden. (I765d8, b/473715607)
- Der Kompilierungsfehler „Cannot access class 'ListenableFuture'“ wurde behoben. (Ic8cba, b/497571473)
- compileSdk von Compose wurde auf API 37 aktualisiert. Das bedeutet, dass bei der Verwendung von Compose mindestens die AGP-Version 9.2.0 erforderlich ist. (Id45cd, b/413674743)
Version 1.7.0-alpha01
11. März 2026
androidx.camera:camera-*:1.7.0-alpha01 ist veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.
API-Änderungen
- Die
CameraController.setSessionConfig()API wurde verfügbar gemacht. So kann ein benutzerdefiniertesSessionConfigfür erweiterteUseCase-Konfigurationen bereitgestellt werden, die nicht direkt vonCameraControllerverfügbar gemacht werden. Wenn einSessionConfigaktiv ist, sind andere Konfigurationsmethoden fürCameraControllerdeaktiviert.(I35cf1, b/448525636)
Fehlerkorrekturen
- Verschiebt Bibliotheken, um das Java 11-Ziel zu verwenden. Das bedeutet, dass der erzeugte Bytecode Java 11 (Klassendateiversion 55) ist und möglicherweise eine Entzuckerung erforderlich ist, um die Bibliothek zu verwenden (If4c2a, b/457821470).
- In
ImageAnalysiswurde ein Fehler behoben, durch den Bilder nicht richtig gedreht wurden, wenn die Drehung des Ausgabebilds aktiviert war und die anfängliche relative Drehung 0 Grad betrug. (Id46c2, b/487160584)
Kameraversion 1.6
Version 1.6.2
26. August 2026
androidx.camera:camera-*:1.6.2 ist veröffentlicht. Version 1.6.2 enthält diese Commits.
Fehlerkorrekturen
- Ein Kompilierungsabsturz bei neueren JDK-Versionen wurde behoben, der beim Auflösen transitiv importierter JSpecify-Typanmerkungen für interne
CameraX-Felder auftrat. (I00bb4, b/543937345)
Version 1.6.1
6. Mai 2026
androidx.camera:camera-*:1.6.1 ist veröffentlicht. Version 1.6.1 enthält diese Commits.
Fehlerkorrekturen
- Ein Kompilierungsfehler „Cannot access class
ListenableFuture“ (Zugriff auf Klasse nicht möglich) bei Verwendung von CameraX 1.6.0 wurde behoben. (Ic8cba, b/497571473)
Version 1.6.0
25. März 2026
androidx.camera:camera-*:1.6.0 ist veröffentlicht. Version 1.6.0 enthält diese Commits.
Wichtige Änderungen seit 1.5.0:
1. Migration zu einem leistungsstarken, einheitlichen Kamera-Stack
- CameraX verwendet jetzt
CameraPipe– denselben modernen, leistungsstarken Stack, der auch die Pixel-Kamera unterstützt. Diese Umstellung optimiert die Architektur und bietet eine skalierbare Grundlage, um Entwicklern erweiterte Funktionen für die computergestützte Fotografie zur Verfügung zu stellen.
2. Media3-Muxer-Integration
- CameraX bindet jetzt standardmäßig den Media3-Muxer in die VideoCapture API ein. Diese Migration bietet mehrere Vorteile:
- Verbesserte Leistung: Effizientere Videoverarbeitung und -multiplexierung.
- Absturzsicherheit:Verbesserter Schutz vor Beschädigung von Videodateien, sodass Daten auch dann erhalten bleiben, wenn die App während der Aufnahme abstürzt.
3. Verbesserung der Featuregruppe
- Die Feature Group API unterstützt jetzt die Videostabilisierung und 4K-Aufnahmen.
GroupableFeaturesumfasstVIDEO_STABILIZATIONundUHD_RECORDING, damit Apps sie zusammen mit anderen Funktionen aktivieren können.CameraEffectundImageAnalysisinSessionConfigwerden unterstützt, wenn die Featuregruppe aktiviert ist.
4. Stabilisierte SessionConfig API
SessionConfigist nicht mehr experimentell, sondern eine vollständig stabile öffentliche API, einschließlichSessionConfigundHighSpeedVideoSessionConfig. CameraX-Erweiterungen können jetzt mit einer neuenExtensionSessionConfig-API implementiert werden. Es wird eine neueisSessionConfigSupportedAPI eingeführt, mit der Entwickler vor der Bindung an den Lebenszyklus abfragen können, ob eine bestimmte Kombination aus Anwendungsfällen und Funktionen (z. B. HDR, Stabilisierung, bestimmte Auflösungen, CameraX-Erweiterungen oder Zeitlupe) vom Gerät unterstützt wird.
Fehlerkorrekturen
- Es wurde ein Problem behoben, das auf bestimmten Geräten mit Android 17 (API 37) oder höher zu einem Absturz führte. Wenn diese Geräte neue Profile für den Dynamikbereich (z. B. STANDARD_SMPTE_2094_50(ID 8192)) verfügbar machen, die in CameraX Version 1.5.1 und früher nicht bekannt waren, konnte die Bibliothek diese IDs bisher nicht richtig verarbeiten. Das führte zu einem
NullPointerExceptionoderIllegalArgumentExceptionwährendProcessCameraProvider.bindToLifecycle(). Mit dieser Korrektur kann CameraX nicht erkannte Profile für den Dynamikbereich ignorieren, was den Absturz verhindert und die Aufwärtskompatibilität aufrechterhält. Aktualisieren Sie Ihre CameraX-Abhängigkeit auf Version 1.5.2 oder 1.6.0 (oder höher), um dieses Problem auf Geräten zu vermeiden, die diese neuen Profile verfügbar machen. Weitere Informationen finden Sie unter Problem 519796838. (Ibd7b5) - Die Groups API liefert jetzt konsistente Ergebnisse, wenn
PREVIEW_STABILIZATIONmitVideoCaptureverwendet wird. Dadurch wird ein Fehler behoben, der zu inkonsistenten Ergebnissen führte, wenn ein Anwendungsfall für die Vorschau nicht ebenfalls aktiv war. (Ifed82, b/449913903) - Ein Problem wurde behoben, bei dem nicht unterstützte bevorzugte Funktionen fälschlicherweise verfügbar gemacht wurden. Funktionen werden jetzt korrekt gefiltert, wenn die erforderlichen Anwendungsfälle nicht erfüllt sind. (I38db8, b/449532342)
- Fehlerhaftes Videoergebnis auf dem Samsung Galaxy S6 behoben. (I612d9, b/235127608)
- Ein Problem wurde behoben, bei dem
CameraInfo#isFeatureGroupSupportedfälschlicherweise „true“ fürPREVIEW_STABILIZATIONzurückgeben konnte, wenn dieSessionConfigin der Abfrage bereits mit anderen Funktionen konfiguriert war. (I2c355c, b/437816469) - Problematische Ausgabegrößen im YUV-Format wurden vom Samsung Z Fold 4-Gerät ausgeschlossen. Die empfangenen Bilder weisen bei Verwendung dieser Ausgabegrößen Verzerrungen auf. (I776bf, b/460322307)
- Ein gerätespezifisches Problem auf dem Samsung A53 wurde behoben, bei dem die Bildaufnahme mit aktiviertem Blitz manchmal fehlschlug, wenn der Anwendungsfall
VideoCapturegebunden war. (I0f183, b/458197367) - Es wurde ein Problem auf einigen Geräten behoben, bei dem die Verwendung des Blitzes mit der Ultraweitwinkelkamera zu unterbelichteten Bildern führen konnte. (Ib7530, b/444590340)
- Die Abhängigkeit
ExifInterfacewurde aktualisiert und enthält jetzt eine Fehlerbehebung für das Parsen von JPEGs mit0xFF-Padding. Dadurch werden Fehler bei der Bilderfassung auf Geräten behoben, bei denen der JPEG-Encoder vor Markierungen Füllbytes hinzufügt. (I0eb49)
Version 1.6.0-rc01
25. Februar 2026
androidx.camera:camera-*:1.6.0-rc01 ist veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.
Version 1.6.0-beta02
11. Februar 2026
androidx.camera:camera-*:1.6.0-beta02 ist veröffentlicht. Version 1.6.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit der In-Memory-Aufnahme von
ImageCaptureOUTPUT_FORMAT_RAW_JPEGIllegalArgumentExceptionwurde behoben. (Id4eec, b/479990902) - Migration zum AndroidX Media3-Muxer. Dadurch wurden 1. Videofehler bei unerwarteten Unterbrechungen oder beim Beenden der App und 2. Abstürze beim Speichern von Videos in Proxy-Dateideskriptoren behoben. (I23b63, b/433649708, b/264812009, b/475750115)
Version 1.6.0-beta01
28. Januar 2026
androidx.camera:camera-*:1.6.0-beta01 ist veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- In CameraX 1.6.0-alpha wurde ein Problem mit dem aktuellen Typ
CameraExtensionsInfobehoben, bei dem das LiveData-Objekt die aktualisierten Typdaten nicht empfangen konnte. (I2c7a5) - Die ExifInterface-Abhängigkeit wurde aktualisiert und enthält jetzt eine Fehlerbehebung für das Parsen von JPEGs mit 0xFF-Padding. Dadurch werden Fehler bei der Bilderfassung auf Geräten behoben, auf denen der JPEG-Encoder vor Markierungen Füllbytes hinzufügt. (I0eb49)
Version 1.6.0-alpha02
17. Dezember 2025
androidx.camera:camera-*:1.6.0-alpha02 ist veröffentlicht. Version 1.6.0-alpha02 enthält diese Commits.
Neue Funktionen
- Es wurde eine gruppierbare Funktion hinzugefügt, um die Videostabilisierungsfunktion in einer Sitzungskonfiguration zu kennzeichnen. Entwickler können jetzt die Videostabilisierung als erforderliche oder bevorzugte Funktion anfordern und sie mit anderen gruppierbaren Funktionen wie UHD_RECORDING und PREVIEW_STABILIZATION abstimmen. (Ic6757, b/419766630)
- Es wurden gruppierbare Funktionen hinzugefügt, um die Videoaufzeichnungsqualität in einer Sitzungskonfiguration anzugeben. Entwickler können jetzt eine bestimmte Qualität (z.B. UHD, FHD) als erforderliche oder bevorzugte Funktion anfordern und sie mit anderen gruppierbaren Funktionen wie HDR und 60 fps abgleichen. (Ib5cd3, b/437820285)
- Unterstützung für die Verwendung der
CameraEffect- und der Featuregruppen-API inSessionConfighinzugefügt. (I17f18, b/406370934) - Unterstützung für die Verwendung der
ImageAnalysis- und der Feature Groups API inSessionConfighinzugefügt. (I87833, b/406371720)
API-Änderungen
- Die Setter-Funktion
addUseCasefürExtensionSessionConfig.Builderund die fehlenden Getter fürExtensionSessionConfigwurden hinzugefügt. (I71e07, b/453988621) - Die
ExtensionsManager.getInstanceAPI wurde hinzugefügt. Sie ist eine aussetzende Version vonExtensionsManager.getInstanceAsync. (I3a0a9, b/452208792) isFeatureGroupSupportedwurde inisSessionConfigSupportedumbenannt und unterstützt jetzt alle Arten vonSessionConfig. (I21616, b/448781299)ExtensionsManagerwurde in eine Kotlin-Implementierung konvertiert. (I73091, b/452208792)CameraProvider#getCameraInfo(CameraSelector, SessionConfig)wurde hinzugefügt, umCameraInfoabzurufen, wenn sichSessionConfigauf die Kameraauswahl auswirken kann. Beispiel: Bei Verwendung einesExtensionSessionConfig. (Ic548c, b/451891648)ExtensionSessionConfig-API verfügbar gemacht. Apps können jetzt eineExtensionSessionConfigerstellen und damit eine Erweiterungssitzung starten. (I6354c, b/448524373)- Die
androidx.camera.video.HighSpeedVideoSessionConfigAPI ist nicht mehr experimentell und jetzt eine vollständig stabile öffentliche API. (I492d4, b/447558239) - Die
androidx.camera.core.SessionConfigAPI ist nicht mehr experimentell und jetzt eine vollständig stabile öffentliche API. (Idc87a, b/447558437)
Fehlerkorrekturen
- Ein Absturz aufgrund eines
IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object:unter Android 17 oder höher wurde behoben. (Ibd7b5, b/463465353) - Problematische Ausgabegrößen im YUV-Format wurden vom Samsung Z Fold 4-Gerät ausgeschlossen. Die empfangenen Bilder weisen bei Verwendung dieser Ausgabegrößen Verzerrungen auf. (I776bf, b/460322307)
- Es wurde ein Problem behoben, bei dem
CaptureRequest.FLASH_MODEnicht angewendet wurde, wenn es über dieCamera2InteropAPI festgelegt wurde. (I0004c, b/459608684) - Ein gerätespezifisches Problem auf dem Samsung A53 wurde behoben, bei dem die Bilderfassung mit aktiviertem Blitz manchmal fehlschlug, wenn der Anwendungsfall
VideoCapturegebunden war. (I0f183, b/458197367) - Es wurde ein Problem auf einigen Geräten behoben, bei dem die Verwendung des Blitzes mit der Ultraweitwinkelkamera zu unterbelichteten Bildern führen konnte. (Ib7530, b/444590340)
Version 1.6.0-alpha01
22. Oktober 2025
androidx.camera:camera-*:1.6.0-alpha01 ist veröffentlicht. Version 1.6.0-alpha01 enthält diese Commits.
Neue Funktionen
- CameraX wurde auf einen einheitlichen, leistungsstarken Kamera-Stack migriert, der auch von der Pixel-Kamera-App verwendet wird. Dieser neue Stack, der als
CameraPipebezeichnet wird, ist das Ergebnis einer Zusammenarbeit zwischen den CameraX- und Pixel-Kamera-Teams. So wird sichergestellt, dass alle Verbesserungen geteilt werden, was sowohl CameraX-Nutzern als auch der Pixel-Kamera-App zugutekommt.
API-Änderungen
- Neue APIs für die Erkennung des dynamischen Hinzufügens/Entfernens von Kameras hinzugefügt. Weitere Informationen finden Sie in der
CameraPresenceListenerAPI. (I41ead, b/427182232, b/419441394)
Fehlerkorrekturen
- Die Groups API liefert jetzt konsistente Ergebnisse, wenn
PREVIEW_STABILIZATIONmitVideoCaptureverwendet wird. Damit wird ein Fehler behoben, der zu inkonsistenten Ergebnissen führte, wenn einPreview-Anwendungsfall nicht ebenfalls aktiv war. (Ifed82, b/449913903) - Ein Problem wurde behoben, bei dem nicht unterstützte bevorzugte Funktionen fälschlicherweise verfügbar gemacht wurden. Funktionen werden jetzt korrekt gefiltert, wenn die erforderlichen Anwendungsfälle nicht erfüllt sind. (I38db8, b/449532342)
- Fehlerhaftes Videoergebnis auf dem Samsung Galaxy S6 behoben. (I612d9, b/235127608)
- Ein Problem wurde behoben, bei dem
CameraInfo#isFeatureGroupSupportedfälschlicherweise „true“ fürPREVIEW_STABILIZATIONzurückgeben konnte, wenn dieSessionConfigin der Abfrage bereits mit anderen Funktionen konfiguriert war. (I2c355c, b/437816469)
Kameraversion 1.5
Version 1.5.3
28. Januar 2026
androidx.camera:camera-*:1.5.3 ist veröffentlicht. Version 1.5.3 enthält diese Commits.
Fehlerkorrekturen
- Die ExifInterface-Abhängigkeit wurde auf 1.4.2 aktualisiert. Dadurch wird ein Fehler bei der Bilderfassung behoben, der auf Geräten auftritt, die JPEGs mit zusätzlichen (und zulässigen) 0xFF-Byte vor einer Markierung erzeugen. (I16df4)
Version 1.5.2
4. Dezember 2025
androidx.camera:camera-*:1.5.2 ist veröffentlicht. Version 1.5.2 enthält diese Commits.
Fehlerkorrekturen
- Ein Absturz aufgrund eines
IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object:unter Android 17 oder höher wurde behoben. (Ic9184) - Es wurde ein Fehler behoben, der zu inkonsistenten Groups API-Ergebnissen führte, wenn das Feature
PREVIEW_STABILIZATIONmit dem AnwendungsfallVideoCapture, aber ohne den AnwendungsfallPreviewhinzugefügt wurde. (Ifed82) - Es wurde ein Problem behoben, bei dem bevorzugte Funktionen nicht herausgefiltert wurden, obwohl die erforderlichen Anwendungsfälle für die Unterstützung der Funktionen fehlten. (I38db8)
Version 1.5.1
8. Oktober 2025
androidx.camera:camera-*:1.5.1 ist veröffentlicht. Version 1.5.1 enthält diese Commits.
Fehlerkorrekturen
- Unterstützung von
CameraEffectim Modus für gleichzeitige Kameraaufnahmen. Der Effekt wird auf die Ausgabe der Komposition angewendet. Beachte, dassmirrorModeinVideoCaptureignoriert wird, wenn der Effekt im Modus für die gleichzeitige Kamerakomposition festgelegt ist. (If3d00, b/425565129) - Es wurde ein Problem behoben, bei dem
mirrorModeim Modus für die gleichzeitige Kamerakomposition nicht korrekt auf die sekundäre Kamera angewendet wurde. (I686cd, b/446430827) - Unterstützung für die Bindung von
Preview,ImageCaptureundVideoCaptureim Modus ohne Zusammenstellung bei gleichzeitiger Kameranutzung. (Ib410a, b/443009871) - Es wurde ein Problem behoben, bei dem UseCases wie
ImageCaptureundVideoCaptureihre Informationen zur Zieldrehung verloren, wenn sie neu erstellt wurden. Dies kann dazu führen, dass Bilder oder Videos eine falsche Ausrichtung haben, wenn eine Einstellung wieimageCaptureModegeändert wurde, nachdem das Gerät gedreht wurde. (I477c8, b/444734537) - Es wurde ein Problem behoben, durch das in der Vorschau keine 16:9-Auflösungen ausgewählt werden konnten und
VideoCapturenicht mit QUALITY_1080P aufnehmen konnte. Dieses Problem trat auf, wenn eine Standardkonfiguration für die Vorschauauflösung verwendet wurde, während die interneStreamSharing-Funktion aktiv war (z.B. wenn vier UseCases gleichzeitig gebunden waren). (I493cb, b/440364875) - Der Absturz, der auftrat, wenn ein Effekt nach dem Herunterfahren von
SurfaceProcessoraktiviert wurde, wurde behoben (I2c450, b/414150174). - In
CameraControllerwurde ein Fehler behoben, der zu einemIllegalStateExceptionführte, wenn ein erster UseCase die maximale Auflösung auswählte, was anschließend verhinderte, dass andere UseCases gebunden wurden. (Ifb758, b/440374234) - Schließt problematische YUV_420_888-Ausgabegrößen für das Nokia 7 Plus aus, die das Problem des unbemerkten Fehlers ohne Fehlermeldungen verursachen. (I3af47, b/436524501)
- Ein Problem wurde behoben, bei dem
CameraInfo#isFeatureGroupSupportedfür die FunktionPREVIEW_STABILIZATIONfälschlicherweise „true“ zurückgeben konnte. Dies kann manchmal vorkommen, wenn Sie eine Abfrage mit einemSessionConfigausführen, das bereits mit anderen Funktionen konfiguriert wurde. (I2c355, b/437816469) - Die Stabilität von
CameraXViewfinderauf älteren API-Levels und Geräten mitSurfaceView-Problemen wurde verbessert, indem in solchen Szenarien standardmäßigTextureViewverwendet wird. Dieser Fallback-Mechanismus ist die neue Standardeinstellung, kann aber programmatisch überschrieben werden. (Ieb476, b/437496463) - Ein Speicherleck in
PreviewViewwurde behoben, das verhindern konnte, dass die Aktivität durch die automatische Speicherbereinigung entfernt wird. Dies geschieht, wenn ein neuerSurfaceRequesteintrifft, bevor der vorherige verarbeitet wurde. (I4aa0b,b/443112512) - Es wurde ein Problem behoben, bei dem die Aufnahme mit hoher Geschwindigkeit/in Zeitlupe auf dem Huawei P smart, Infinix Hot 40i und Realme C53 fehlschlug. (40a668e, b/442984200)
Version 1.5.0
10. September 2025
androidx.camera:camera-*:1.5.0 ist veröffentlicht. Version 1.5.0 enthält diese Commits.
Wichtige Änderungen seit 1.4.0:
- Highspeed- und Zeitlupenaufnahmen: Highspeed- (120/240 fps) und Zeitlupenaufnahmen lassen sich mit minimalem Code einbinden. Weitere Informationen finden Sie unter
Recorder#getHighSpeedVideoCapabilities(CameraInfo)undHighSpeedVideoSessionConfig. SessionConfig- undFeatureGroup-API: Mit der neuenSessionConfig-API kannst du die Kamerasitzung konfigurieren und mehrere Funktionen gleichzeitig aktivieren, darunter HLG (HDR), UltraHDR, 60 fps und Vorschaustabilisierung. Sie können auch eine bevorzugte Featuregruppe mit Priorität festlegen, damit CameraX die optimale unterstützte Kombination ermitteln kann. Weitere Informationen finden Sie unterSessionConfig.Builder#setPreferredFeatureGroup,SessionConfig.Builder#setRequiredFeatureGroupundCameraInfo#isFeatureGroupSupported(SessionConfig).- Deterministic Frame Rate API: Beheben Sie frühere Einschränkungen mit
setTargetFrameRate, indem SieCameraInfo.getSupportedFrameRateRanges(sessionConfig)zum Abfragen undSessionConfig.setExpectedFrameRateRangezum Festlegen präziser und unterstützter Frameraten verwenden. - Kameraerweiterungen: Das UltraHDR-Format wird jetzt mit Erweiterungen unterstützt. Prüfe
ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats()und aktiviere die Option inImageCapture.Builder.setOutputFormat. Wenn Erweiterungen aktiviert sind, werden jetzt das Zoomverhältnis und die Stabilisierungsfunktionen für die Vorschau berücksichtigt. - Taschenlampenhelligkeit: Passe die Helligkeit der Taschenlampe mit
CameraControl.setTorchStrengthLevelan. - Low Light Boost-Modus: Du kannst den Low Light Boost-Modus(
CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) über die folgenden APIs aktivieren: SieheCameraInfo#isLowLightBoostSupported,CameraInfo#getLowLightBoostStateundCameraControl#enableLowLightBoostAsync. - Videoaufnahme:
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEwird jetzt ausgelöst, wenn während der Aufnahme nicht genügend Speicherplatz vorhanden ist. MitPendingRecording.withAudioEnabled(boolean initialMuted)kann der anfängliche Stummschaltungsstatus für die Audioaufnahme gesteuert werden. - Bilderfassung: Unterstützung für die Formate DNG (RAW) und JPEG + DNG (RAW) in
ImageCapture. Prüfe, obImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats()RAW unterstützt. Verwende überladenetakePicture-APIs mit mehrerenOutputFileOptionsfür die RAW+DNG-Aufnahme. - Bildanalyse: Unterstützung für das NV21-Format in
ImageAnalysis. Aktivieren Sie sie mitImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21).
Version 1.5.0-rc01
13. August 2025
androidx.camera:camera-*:1.5.0-rc01 ist veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Die Standard-minSdk wurde von API 21 auf API 23 verschoben. (Ibdfca, b/380448311, b/435705964, b/435705223)
- Die 10-Bit-Ausgabebeschränkung für den automatischen Belichtungsmodus für die Nachtsichtoptimierung wurde entfernt. Anwendungen können jetzt beide Funktionen gleichzeitig auf unterstützten Geräten aktivieren. (I5a638)
- Es wurde ein Problem behoben, durch das Geräte mit
UniSoc-Chipsätzen beim Aufnehmen eines Bildes hängen blieben. Das Problem trat auf, wennVideoCapture,PreviewundImageCapturegleichzeitig verwendet wurden und alle Streams auf eine Auflösung von 1280 × 720 eingestellt waren. (Ia00c4, b/380802479) - Es wurde ein Problem behoben, bei dem in der Vorschau ein schwarzer Bildschirm angezeigt wurde, wenn für die Zeitraffer-/Zeitlupenaufnahme keine hohe Framerate festgelegt war. (cdf0ff2e9)
- Fehlerbehandlung und Logging in
getViewportAspectRatioIntverbessern (82fca18)
Version 1.5.0-beta02
16. Juli 2025
androidx.camera:camera-*:1.5.0-beta02 ist veröffentlicht. Version 1.5.0-beta02 enthält diese Commits.
API-Änderungen
- Es wurden neue APIs hinzugefügt, mit denen Gruppen von hochwertigen Funktionen intuitiver und genauer festgelegt oder abgefragt werden können, da diese Funktionen möglicherweise nicht auf allen Geräten als Kombination unterstützt werden.
SessionConfigenthält jetzt neue APIs, mit denen eine Gruppe von Funktionen als erforderlich oder bevorzugt gekennzeichnet werden kann. Mit derCameraInfo.isFeatureGroupSupportedAPI können Sie prüfen, ob eine Featuregruppe unterstützt wird, bevor Sie eineSessionConfigbinden. MitSessionConfigkann auch ein Listener festgelegt werden, um zu erfahren, welche Funktionen letztendlich ausgewählt werden, wenn eine Sitzungskonfiguration gebunden wird. (Ie4d60) - Die neuen APIs
SessoinConfig.Builder.setFrameRateRange(Range<Integer>)undCameraInfo.getSupportedFrameRateRanges(SessionConfig)wurden hinzugefügt. Damit können Entwickler garantierte unterstützte Frameraten abfragen, die durch eine bestimmteSessionConfigeingeschränkt sind, und die Framerate dann aufSessionConfiganwenden. (Ieacf7) - Die neue
SessionConfigAPI wurde eingeführt. Sie bietet eine bessere Abstraktion für die Konfiguration von Anwendungsfällen, Sitzungsparametern,CameraEffect,ViewPortusw. Wenn einSessionConfigan einen LifecycleOwner gebunden wird, wird die Kamerasitzung geöffnet, mit den angegebenen Anwendungsfällen und Sitzungsparametern konfiguriert und die angegebenenCameraEffectundViewPortwerden angewendet. Wenn Sie eine neueSessionConfigfür dieselbeLifecycleOwneraktualisieren, können Sie einfach eine neueSessionconfigbinden, ohne zuerst „unbind“ oderunbindAllaufrufen zu müssen. (Iedfc3) - Neue APIs zum Aufnehmen von Highspeed-/Zeitlupenvideos hinzugefügt. Weitere Informationen finden Sie in der
HighSpeedVideoSessionConfigAPI. (Ia16f3)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem die
ImageCaptureCapabilities#getSupportedOutputFormats()-API auf einigen Geräten, die RAW nicht unterstützen, RAW-Formate als unterstützt gemeldet hat. (Ibcadb) - Der Speicherverlust, der bei Verwendung von
PreviewView, Aktivierung vonCameraEffectoder Bindung von 4 Anwendungsfällen(StreamSharing) auftritt, wurde behoben (I87468). - Ein Absturz bei der Videoaufnahme wurde behoben:
AssertionError: Ungültiger interner Audiostatus: IDLING. (I38d4b, b/414259796) - Es wurde ein Problem behoben, bei dem die Vorschau in
PreviewViewgestreckt oder seitlich angezeigt wurde, wenn die App auf einem externen Display ausgeführt wurde und das Gerät im Querformat war (Ia917a). - Es wurde ein Problem behoben, bei dem die Einstellungen für die Stabilisierung der Vorschau nicht richtig angewendet wurden, wenn der Kamerastream zwischen Vorschau und Videoaufnahme geteilt wurde.(I5430e)
CameraXViewfinderverarbeitet jetzt den Oberflächenersatz in der zugrunde liegendenViewfinderordnungsgemäß. Dies umfasst Szenarien, in denen einEXTERNAL-Sucher auf API-Level 28 oder niedriger vom Bildschirm verschwindet oder wenn einCameraXViewfinder(mit einem beliebigenImplementationMode) Teil vonmoveableContentOf()ist. Wenn die zugrunde liegendeViewfinderSurfaceSessionnicht aktiv gehalten werden kann, wird die aktuelle CameraX-SurfaceRequestdurch dieCameraXViewfinderungültig gemacht, sodass CameraX die neueSurfaceverwenden kann. (I79432)- Es wurde ein Problem unter Android 10/11 behoben, bei dem die
EXTERNALCameraXViewfinderaufgrund von Transformationsvorgängen (z. B. Skalierung oder Übersetzung), die zu früh angewendet wurden, gestreckt oder falsch angezeigt werden konnte. Das System wartet nun, bis die Oberfläche erstellt wurde, bevor diese Transformationen in der Layoutphase angewendet werden. So wird eine korrekte Ausgabe gewährleistet. (Icc77c) - Das Compose-Element
CameraXViewfinderfunktioniert jetzt korrekt mit demPagervon Compose. Durch diese Änderung wird sichergestellt, dass das Composable erfolgreich zurückgesetzt werden kann, indem deronReset-Callback vonAndroidViewimplementiert wird. Dabei werden sowohlEMBEDDED- als auchEXTERNAL-Implementierungen unterstützt. (I0d9be) - Es wurde ein Speicherleck beim Lebenszyklusinhaber behoben, das auftritt, wenn Anwendungsfälle von einem Lebenszyklusinhaber getrennt werden, ohne den Kameraanbieter zu beenden.
Version 1.5.0-beta01
7. Mai 2025
androidx.camera:camera-*:1.5.0-beta01 ist veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
API-Änderungen
- Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich. (Idb6b5)
ContentScaleund „Ausrichtung“ können jetzt im Sucher verwendet werden, um die angezeigte Oberfläche innerhalb ihres Containers zu skalieren und zu platzieren, ähnlich wie beiandroidx.compose.foundation.Image. (Ibcea3)TransformationInfohat jetzt Standardwerte für alle Argumente. Dadurch können Viewfinder ohneTransformationInfoerstellt werden. Standardmäßig wird dann eine Quelldrehung von 0, keine Quellspiegelung und kein Zuschneiderechteck verwendet. (I2b1b2)LifecycleCameraProviderwurde hinzugefügt. Dies ist ein Kameraanbieter, der mit verschiedenen Konfigurationen für Funktionen instanziiert werden kann, z. B. für den Zugriff auf die Kamera eines virtuellen Geräts durch Konfiguration mit einem benutzerdefinierten Kontext. (Ia2992)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem die Vorschau eingefroren ist, wenn
ImageAnalysismit einem anderen Stream verwendet wurde, derTEMPLATE_RECORDauf dem Samsung SM-E556B-Gerät verwendet. (Ic0e62, b/409478042) - Es wurde ein Problem behoben, bei dem die Vorschau auf dem Samsung SM-M556B-Gerät eingefroren ist, wenn
ImageAnalysismit einem anderen Stream verwendet wurde, derTEMPLATE_RECORDverwendet. (Ic1a6a, b/395822788) - Ein Problem mit dem NACHTMODUS (
AssertError) von Erweiterungen auf Pixel-Geräten mit Android 15 wurde behoben, das bei Zoomvorgängen auftrat. (I27a5d, b/401460276) - Problem mit falschen Begrenzungsrahmenkoordinaten im ML Kit Analyzer bei Verwendung von
CameraControllerbehoben. (Iae91b, b/409808510)
Version 1.5.0-alpha06
26. Februar 2025
androidx.camera:camera-*:1.5.0-alpha06 ist veröffentlicht. Version 1.5.0-alpha06 enthält diese Commits.
API-Änderungen
CameraInfo.getTorchStrengthLevel,CameraInfo.getMaxTorchStrengthLevelundCameraControl.setTorchStrengthLevelwurden hinzugefügt, um die Helligkeit der Taschenlampe anzupassen (I00878)- Es wurde eine neue API
CameraController#setTapToFocusAutoCancelDurationhinzugefügt, mit der Nutzer das Verhalten für den automatischen Abbruch vonPreviewView-Ereignissen vom Typ „Zum Fokussieren tippen“ steuern können. Standardmäßig bricht CameraX die Fokussierungsereignisse nach 5 Sekunden ab, d. h. der Kamerafokus wird zurückgesetzt. Mit dieser API kann diese Dauer geändert oder der automatische Abbruch ganz deaktiviert werden. (Icf59a) FLASH_STATE_READYwurde inNOT_FIREDumbenannt und die anderenFlashState-Konstantennamen wurden zur besseren Lesbarkeit vereinfacht. (I8771d)- Exposed Low Light Boost API. Geräte mit Android 15 oder höher können die Funktion „Nachtmodus“ unterstützen. Mit dieser Funktion kann die Helligkeit der Vorschau-, Video- oder Bildanalysestreams bei schlechten Lichtverhältnissen automatisch angepasst werden. Anwendungen können die neue API für Folgendes verwenden: 1. Mit
CameraInfo#isLowLightBoostSupportedkönnen Sie die Verfügbarkeit der Funktion prüfen. 2. Verwenden SieCameraControl#enableLowLightBoostAsync, um den Modus zu aktivieren, wenn die Geräte ihn unterstützen. 3. VerwendeCameraInfo#getLowLightBoostState, um den Status der Optimierung bei wenig Licht zu überwachen. (I937ed) - Kompatibilitätsklassen hinzugefügt, um eine schnellere Abfrage von Nicht-Camera2-Geräten in „camera-feature-combination-query“ zu ermöglichen. (Ie97ee)
- Für
CameraController-Ereignisse, bei denen durch Tippen fokussiert wird, stellt eine neue APIgetTapToFocusInfoState()jetzt auch die entsprechende Tippposition bereit, indem sie einLiveDatader KlasseTapToFocusInfozurückgibt. Die vorherige APILiveData<Integer>, diegetTapToFocusState()zurückgibt, wird zugunsten der neuen API eingestellt. (I238d2)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem die Vorschau-Stabilisierung nicht angewendet wurde, wenn sie mit Erweiterungen aktiviert war. (I24ad7)
- Es wurde ein Problem behoben, bei dem der Fokusstatus
CameraControllernicht aufTAP_TO_FOCUS_NOT_STARTEDzurückgesetzt wurde, wenn CameraX ein Fokusereignis automatisch abbricht. Das passiert standardmäßig nach 5 Sekunden. (I31954) - Es wurde ein Problem behoben, bei dem die Vorschau bei Verwendung der Funktion „Zero Shutter Lag“ (ZSL) nach mehreren Aufnahmen aufgrund nicht freigegebener Bildressourcen eingefroren ist. (Ic3c2a)
- Es wurden Probleme behoben, bei denen UHD-Videos auf einigen Geräten einen Rotstich hatten, wenn die Pipeline
OpenGLumfasst. (Idcedc)
Version 1.5.0-alpha05
15. Januar 2025
androidx.camera:camera-*:1.5.0-alpha05 ist veröffentlicht. Version 1.5.0-alpha05 enthält diese Commits.
API-Änderungen
- Fügen Sie
VideoCapture.getSelectedQuality()hinzu, um die ausgewählte Qualität basierend aufQualitySelectorzu ermitteln. (I70508, b/204288986) - Wenn eine Bilderfassung mit der
ImageCapture.OnImageCapturedCallbackAPI aufgerufen wird, kann die ImageInfo unter der zurückgegebenenImageProxyjetzt verwendet werden, um zu erfahren, ob der Blitz über die neueImageInfo.getFlashState()API ausgelöst wurde. (Id2c61, b/380527406) - Unterstützung für das Ausgabeformat
OUTPUT_IMAGE_FORMAT_NV21fürImageAnalysishinzugefügt. (I484ab) - Die experimentelle Annotation des
featurecombinationquery-Artefakts wurde entfernt (I4427f) - Der zulässige Zoombereich für
CameraControlwird durch erweiterungsspezifische Merkmale angepasst, wenn ein Erweiterungsmodus aktiviert ist. (I85af1)
Fehlerkorrekturen
compileSdkwurde auf 35 aktualisiert, um die Android 15-bezogene API zu verwenden. Apps, die CameraX-Bibliotheken verwenden, müssen auch ihrecompileSdk-Konfigurationseinstellung aktualisieren. (Ic80cd)- In dieser Bibliothek werden jetzt JSpecify-Annotationen für Nullsicherheit verwendet, die typbezogen sind. Kotlin-Entwickler sollten das folgende Compiler-Argument verwenden, um die korrekte Verwendung zu erzwingen:
-Xjspecify-annotations=strict(dies ist die Standardeinstellung ab Version 2.1.0 des Kotlin-Compilers). (Idc6c6, b/326456246)
Version 1.5.0-alpha04
11. Dezember 2024
androidx.camera:camera-*:1.5.0-alpha04 ist veröffentlicht. Version 1.5.0-alpha04 enthält diese Commits.
API-Änderungen
ImageCapture.Builder#setOutputFormatundImageCaptureCapabilities#getSupportedOutputFormatsals stabile APIs verfügbar gemacht (Ieb04a)- Fügen Sie
VideoCapture.getResolutionInfo()hinzu, um die Auflösungsinformationen zu erhalten, wenn einVideoCapturean einen Lebenszyklus gebunden ist. (Icb478) PreviewView.getScreenFlashundPreviewView.setScreenFlashOverlayColorwurden als stabile APIs verfügbar gemacht. (I74fee)
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem auf dem Vivo 1610-Gerät keine Fotos mit Blitz im Dunkeln aufgenommen werden konnten. (I366f4)
- Ein Problem wurde behoben, bei dem sich die Taschenlampe nach der Bilderfassung auf dem Redmi Note 6 Pro unerwartet ausschaltete. (I2e0e8, b/377144569)
- Es wurde ein Problem auf Pixel-Geräten mit Android 15 behoben, bei dem im Nachtmodus in Erweiterungen keine Standbilder aufgenommen werden konnten, bis die Kamera auf ein Objekt in der Nähe fokussiert wurde. (I228d4)
- Das Problem mit der Fehlfunktion bei der Standbildaufnahme wurde behoben, wenn Erweiterungen aktiviert sind und
VideoCapturegebunden ist. (I5c745) - Unterstützung für die Aufnahme von
UltraHDR-Standbildern für Erweiterungen aktiviert, sofern das Gerät dies unterstützt. (I48300) - Ein Problem mit dem Blitz-Timing bei der Blitzaufnahme mit
CameraEffect-Ziel-Bilderfassungen auf TCL-Geräten wurde behoben. (I7698c)
Version 1.5.0-alpha03
30. Oktober 2024
androidx.camera:camera-*:1.5.0-alpha03 ist veröffentlicht. Version 1.5.0-alpha03 enthält diese Commits.
API-Änderungen
- Ausgabeformat-APIs für RAW und RAW + JPEG
ImageCapturehinzugefügt. Die Prüfung der Gerätefunktionen wird inImageCaptureCapabilities#getSupportedOutputFormatsangezeigt. MitOUTPUT_FORMAT_RAWwerden RAW-Bilder im Adobe DNG-Format aufgenommen und mitOUTPUT_FORMAT_RAW_JPEGwerden gleichzeitig RAW- und JPEG-Bilder aufgenommen. Die neueImageCapture#takePictureAPI wird für die gleichzeitige Bilderfassung verwendet. Sie muss zweiOutputFileOptionsbereitstellen, die erste für das RAW-Bild und die zweite für das JPEG-Bild. (Ib0f3d)
Fehlerkorrekturen
- Es wurde ein Problem mit der Unterbelichtung von Vorschau und Video auf TCL-Geräten behoben, wenn
VideoCaptureaktiviert ist. (Id7a64) - Das Problem, dass beim Aufrufen von
startFocusMeteringmitPreviewView.getMeteringPointFactorynicht die richtigen Sensorkoordinaten abgerufen werden, wenn ein Effekt aktiviert ist oder wenn vier Anwendungsfälle gebunden sind (Streamfreigabe), wurde behoben. (I916c5, b/345993685) - Es wurde ein Fehler behoben, bei dem das Ereignis
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEnicht ausgelöst wurde, wenn ein Video aufgenommen wurde und nicht genügend Speicherplatz verfügbar war. (I35779, b/356399842)
Version 1.5.0-alpha02
2. Oktober 2024
androidx.camera:camera-*:1.5.0-alpha02 ist veröffentlicht. Version 1.5.0-alpha02 enthält diese Commits.
Neue Funktionen
- Neue APIs zum Abfragen von Kamerafunktionen, die vom Gerät unterstützt werden. Beispiel: Prüfen, ob HDR und 60 fps gleichzeitig aktiviert werden können. Sie enthält zwei Artefakte: „camera-feature-combination-query“ und „camera-feature-combination-query-play-services“.
Dies ist eine kompatible Version der
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupportedAPI von camera2 mit zusätzlichen Daten, die von den Google Play-Diensten bereitgestellt werden.
Fehlerkorrekturen
- Ein Problem mit der Zielframerate von
Preview/VideoCaptureauf Geräten der LEGACY-Stufe wurde behoben. Die über diesetTargetFrameRate- oderCamera2Interop-API festgelegte Zielframerate wurde immer mit dem von derAeFpsRangeLegacyQuirkbereitgestellten Wert überschrieben. Mit dieser Korrektur berücksichtigt die CameraX-Bibliothek den über diesetTargetFrameRate- oderCamera2Interop-API festgelegten Wert. (Ie2d32) - Blitz-/Taschenlampen-/3A-Funktionen für Bilderfassungen mit
CameraEffecthinzugefügt. Die Bilderfassung mitCameraEffectsollte jetzt dieselben Vor- und Nachbearbeitungsschritte (z.B. Blitzauslöser, 3A-Konvergenz usw., falls zutreffend) wie die Bilderfassung ohneCameraEffecthaben. (I5ff30) - Problematische Ausgabegrößen für
ImageAnalysisauf dem Samsung SM-A057G-Gerät wurden ausgeschlossen. WennImageAnalysiseine Auflösung von 1920 × 1440 oder höher verwendet, wird die Vorschau schwarz angezeigt.ExcludedSupportedSizesQuirkwurde auf das SM-A057G-Gerät angewendet, um das Problem zu vermeiden. (I63dfe, b/365877975) - Es wurde ein Problem mit der Zielframerate von
Preview/VideoCapturebehoben, das auftrat, wenn der Mechanismus zum Teilen von Streams intern aktiviert war, um einen Stream mitPreviewundVideoCapturezu teilen. (I4fdac) - Der Workaround zur Behebung des Problems mit falschen JPEG-Bildmetadaten auf Samsung S10e- und S10+-Geräten wurde aktiviert. Mit der Fehlerbehebung kann CameraX das JPEG-Bild erfolgreich speichern oder es können korrekte Bitmap-Objekte zurückgegeben werden, wenn die Funktion
ImageProxy.toBitmap()auf diesen Geräten aufgerufen wird, falls das Problem mit den falschen JPEG-Bildmetadaten auftritt. (Iae493, b/356428987) - Erweiterungen für die Rückkamera des Samsung A52s mit der ID 0 wurden deaktiviert, da beim Aufnehmen von HDR-Bildern native Abstürze auftreten können und die Konfiguration von Aufnahmesitzungen für die Modi BOKEH oder FACE_RETOUCH fehlschlagen kann. (I03ec9, b/364152642)
- Es wurde ein Fehler behoben, bei dem das Ereignis
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEnicht ausgelöst wurde, wenn ein Video aufgenommen wurde und nicht genügend Speicherplatz verfügbar war. (Ia5b4f, b/356399842) - Ein Problem wurde behoben, bei dem der zweite Versuch einer Videoaufnahme auf dem Oppo A5 (CPH1931) fehlschlug. (I181d6)
Version 1.5.0-alpha01
4. September 2024
androidx.camera:camera-*:1.5.0-alpha01 ist veröffentlicht. Version 1.5.0-alpha01 enthält diese Commits.
Neue Funktionen
- Für den CameraX Viewfinder Compose Adapter wurde ein neues Artefakt,
camera-compose, veröffentlicht, das einen Vorschaustream von einer CameraX-SurfaceRequestauscamera-coreanzeigt. (I8666e) - Es wurde eine neue zusammensetzbare Funktion (
CameraXViewfinder) hinzugefügt, die als idiomatische zusammensetzbare Funktion fungiert und CameraX-SurfaceRequests für die zusammensetzbare FunktionViewfinderanpasst. (I4770f)
API-Änderungen
- API zum Festlegen von Kompositionseinstellungen für die gleichzeitige Videoaufnahme mit zwei Kameras bereitstellen. Zu den Einstellungen gehören der Alphawert für die Überblendung, der Versatz in x- und y-Koordinaten sowie die Skalierung der Breite und Höhe des Anzeigefensters für den Kameraframe. Der Versatz, die Breite und die Höhe werden in normalisierten Gerätekoordinaten angegeben. (Ia2b8a)
CameraProvider.getCameraInfowurde als formale API verfügbar gemacht. (I901cd)- Die API
PendingRecording.withAudioEnabled(boolean initialMuted)wurde hinzugefügt, um den anfänglichen Stummschaltungsstatus zu steuern. (I635c3, b/354829267)
Fehlerkorrekturen
- Ein Absturz wurde behoben, der auftrat, wenn
bindToLifecyclemit einem zerstörtenLifecycleOwneraufgerufen wurde. (I6e6d8) - Es wurde ein Problem behoben, bei dem die Vorschau der Frontkamera auf dem Motorola Edge 20 Fusion schwarz war, wenn sie mit
VideoCaptureverbunden war. (I1fe88) - Die Konfiguration für die Erkennung von Zoom-Gesten in
PreviewViewwurde optimiert, um die flüssige Darstellung zu verbessern. (I04ffc)
Kameraversion 1.4
Version 1.4.2
26. März 2025
androidx.camera:camera-*:1.4.2 ist veröffentlicht. Version 1.4.2 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem die Vorschau auf dem Samsung Galaxy M55 eingefroren ist, wenn
ImageAnalysismit einem anderen Stream verwendet wurde, derTEMPLATE_RECORDverwendet. (Ic1a6a, b/395822788)
Version 1.4.1
11. Dezember 2024
androidx.camera:camera-*:1.4.1 ist veröffentlicht. Version 1.4.1 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem auf Pixel-Geräten mit Android 15 behoben, bei dem im Nachtmodus in Erweiterungen keine Standbilder aufgenommen werden konnten, bis die Kamera auf ein Objekt in der Nähe fokussiert wurde. (I228d4)
- Das Problem mit der Fehlfunktion von
ImageCapture#takePicturewurde behoben, wenn Erweiterungen aktiviert sind undVideoCapturegebunden ist. (I5c745)
Version 1.4.0
30. Oktober 2024
androidx.camera:camera-*:1.4.0 ist veröffentlicht. Version 1.4.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.3.0
CameraX 1.4.0 bietet viele spannende Updates. Zusammenfassung:
Hauptfunktion: 10-Bit-HDR:
- Atemberaubende HDR-Fotos und ‑Videos aufnehmen – ganz einfach.
- Unterstützt HLG- und 10-Bit-HEVC-Codierung.
- 10-Bit-HDR-Vorschau und Abfrage von Gerätefunktionen.
- Funktioniert mit
UltraHDR-Bildern und HDR-Videos auf immer mehr Geräten.
Weitere coole Funktionen:
- Kotlin-Erweiterungen: Die Sperrfunktionen
takePictureundawaitInstancewurden hinzugefügt. - Echtzeiteffekte: Sie können Effekte wie Wasserzeichen und Objekthervorhebung anwenden.
- CameraController API: Neue Steuerelemente für die Konfiguration von Videoaufnahmen.
- Vorschau-Stabilisierung: Gerätefunktion abfragen und Stabilisierung aktivieren.
- Verbesserungen bei VideoCapture: genauere Kontrolle über die Qualität und Zugriff auf höhere Auflösungen.
- Integration von CameraX-Erweiterungen: Nahtlose Integration mit
VideoCaptureund neuenImageCapture-Funktionen. - Shutter Sound API: Damit lassen sich regionale Anforderungen an den Auslöseton ganz einfach prüfen.
- Aufleuchten bei Benachrichtigungen: Verbesserte Fotos bei wenig Licht für Frontkameras.
- Camera Extensions Metadata APIs: Unterstützende APIs zum Anpassen der Stärke von Erweiterungen und zum Erhalten von Benachrichtigungen über den aktuellen Erweiterungsmodus in
ExtensionMode#AUTO. Weitere Fehlerkorrekturen finden Sie in unseren Beta- und RC-Ankündigungen.
Version 1.4.0-rc04
16. Oktober 2024
androidx.camera:camera-*:1.4.0-rc04 ist veröffentlicht. Version 1.4.0-rc04 enthält diese Commits.
Fehlerkorrekturen
- Das Problem, dass beim Aufrufen von
startFocusMeteringmitPreviewView.getMeteringPointFactorynicht die richtigen Sensorkoordinaten abgerufen werden, wenn ein Effekt aktiviert ist oder wenn vier Anwendungsfälle gebunden sind (Streamfreigabe), wurde behoben. (I916c5, b/345993685)
Version 1.4.0-rc03
2. Oktober 2024
androidx.camera:camera-*:1.4.0-rc03 ist veröffentlicht. Version 1.4.0-rc03 enthält diese Commits.
Fehlerkorrekturen
- Blitz-/Taschenlampen-/3A-Funktionen für Bilderfassungen mit
CameraEffecthinzugefügt. Die Bilderfassung mitCameraEffectsollte jetzt dieselben Vor- und Nachbearbeitungsschritte (z.B. Blitzauslöser, 3A-Konvergenz usw., falls zutreffend) wie die Bilderfassung ohneCameraEffecthaben. (I5ff30) - Die Gleichmäßigkeit des Zoomens durch Auf- und Zuziehen in
PreviewViewwurde optimiert (I04ffc). - Ultra HDR wird von der 10‑Bit-Ausgabefunktion entkoppelt, da für die Ultra HDR-Unterstützung keine 10‑Bit-Ausgabefunktion mehr erforderlich ist. (I96ff2, I0c3b3)
Version 1.4.0-rc02
18. September 2024
androidx.camera:camera-*:1.4.0-rc02 ist veröffentlicht. Version 1.4.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Ein Absturz wurde behoben, der auftrat, wenn
bindToLifecyclemit einem zerstörtenLifecycleOwneraufgerufen wurde. (I6e6d8) - In
ScreenFlashViewwurde eine Sichtbarkeitsanimation fürScreenFlash#applyhinzugefügt. Dadurch werden auch Fehler behoben, die auftreten, wenn die Helligkeitsänderung nach einiger Zeit asynchron abgeschlossen wird. (I37cdb) - Die Zoomfunktion wurde verbessert, indem die Zoomeinstellungen im Framework auf unterstützten Geräten überschrieben wurden.
Version 1.4.0-rc01
7. August 2024
androidx.camera:camera-*:1.4.0-rc01 ist veröffentlicht. Version 1.4.0-rc01 enthält diese Commits.
Neue Funktionen
- Experimentelle
CameraInfo.getCameraInfohinzugefügt, um spezifische Kamerainformationen bereitzustellen, ohne dass Anwendungsfälle an die Kamera gebunden werden müssen. (I550d1)
API-Änderungen
- Die APIs
PreviewView.getScreenFlashundPreviewView.setScreenFlashOverlayColorwurden für Fälle hinzugefügt, in denenScreenFlashViewnicht explizit hinzugefügt wird. (I43945)
Fehlerkorrekturen
- Probleme mit der Belichtung und dem Farbstich wurden behoben, wenn eine Bilderfassung mit aktiviertem Blitz bei schwachem Licht und gebundenem VideoCapture-Anwendungsfall aufgenommen wurde. (Ic9814)
- Es wurde ein Problem behoben, bei dem das Unterbrechen einer
takePicture-Anfrage bei aktivierten Erweiterungen dazu führen konnte, dass kein Ergebnis zurückgegeben wurde und die nächstetakePicture-Anfrage möglicherweise nicht mehr funktionierte. (Iae78f) - Ein Problem mit Speicherlecks, das bei aktivierten Erweiterungen auftritt, wurde behoben. (Iab276)
- Eine Fehlfunktion der CameraX-Erweiterungen auf Geräten wie dem Pixel 7/8 und der Samsung Galaxy S24-Serie wurde behoben. Das Problem, das auf ein
Camera2OutputConfigImpl-Konvertierungsproblem im Releasemodus zurückzuführen ist, trat nach dem Upgrade des Android-Gradle-Plug-ins auf Version 8.5.1 und der Aktivierung der Reduzierung auf. (I99598, b/354824993)
Version 1.4.0-beta02
12. Juni 2024
androidx.camera:camera-*:1.4.0-beta02 ist veröffentlicht. Version 1.4.0-beta02 enthält diese Commits.
API-Änderungen
- Fügen Sie ähnlich wie bei
VideoCaptureauchsetMirrorModefür den Anwendungsfall „Vorschau“ hinzu. Der Spiegelmodus wird für den Vorschaustream überOutputConfiguration.setMirrorModeab API 33 unterstützt. Bei älteren APIs wird er nicht unterstützt. (I821f4)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem Apps auf dem Samsung Tab A8 keine Bilder aufnehmen konnten, wenn
ImageCaptureunter der KombinationPreview+VideoCapture+ImageCaptureUseCasedie Option „1920 × 1080“ auswählt. (I5a463, b/336925549) - Es wurde ein Problem behoben, bei dem die Aufnahme nach dem Wechsel der Kamera möglicherweise nicht fortgesetzt wurde. (Icb0a1)
Version 1.4.0-beta01
14. Mai 2024
androidx.camera:camera-*:1.4.0-beta01 ist veröffentlicht. Version 1.4.0-beta01 enthält diese Commits.
API-Änderungen
ZoomGestureDetector.ZoomEventhinzugefügt, um die Status einer Zoom-Geste zu kapseln. (I84cdf)
Fehlerkorrekturen
- Es wurde ein Fehler behoben, bei dem für die Standbildaufnahme und die Funktion „Zum Fokussieren tippen“ nicht die Werte für den FPS-/Stabilisierungsmodus der wiederholten Anfrage verwendet wurden. Dies konnte dazu führen, dass die Aufnahmesitzung neu erstellt wurde und es zu Latenzproblemen oder zum Einfrieren der Vorschau auf einigen Geräten kam. (I7dc0b)
- Es wurde ein Fehler behoben, durch den auf einigen Geräten keine hohen Auflösungen ausgewählt werden konnten, wenn
CameraEffectaktiviert war. (z.B. 4000 × 3000 auf dem Samsung A32 5G). (Ie3ed3, b/337336152) - Ein Absturz beim Aufnehmen eines Bildes mit Vorschau,
ImageCaptureundVideoCapture(UHD)sind auf Pixel 4 XL API29 gebunden. (I5b288) - Unterstützung virtueller Geräte: Der an
ProcessCameraProviderübergebene Kontext behält die Geräte-ID bei, um die Funktionalität in einer virtuellen Geräteumgebung zu gewährleisten. (I5ba48)
Version 1.4.0-alpha05
17. April 2024
androidx.camera:camera-*:1.4.0-alpha05 ist veröffentlicht. Version 1.4.0-alpha05 enthält diese Commits.
Neue Funktionen
ProcessCameraProviderwurde in eine Kotlin-Implementierung konvertiert. (I46d4f)- Es wurden
ImageCapture.takePicture-Suspend-Funktionen hinzugefügt, damit sie auf Kotlin-idiomatische Weise aufgerufen werden können. (I920be)
API-Änderungen
- Ausgabeformat-APIs zu
ImageCaptureund die MethodegetSupportedOutputFormatszuImageCaptureCapabilitieshinzugefügt, um die Gerätefunktionen abzufragen. Der Standardwert für das Ausgabeformat istOUTPUT_FORMAT_JPEG. Damit werden SDR-Bilder im JPEG-Format aufgenommen. Wenn das Gerät Ultra HDR unterstützt und das Ausgabeformat aufOUTPUT_FORMAT_JPEG_ULTRA_HDRfestgelegt 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 auf älteren Geräten nahtlos als reguläre JPEGs angezeigt werden. In Apps und auf Geräten, die aktualisiert wurden, um das Format vollständig zu unterstützen, werden Bilder als HDR angezeigt. (I5de50) PhysicalCameraInfoinCameraInfohinzugefügt, um Informationen zur physischen Kamera abzufragen, und Setter/Getter für die ID der physischen Kamera inCameraSelectorhinzugefügt (Ic5b90)- Ersetzen Sie
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCEDdurchImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED. Der Wert der Konstante bleibt gleich. Dadurch werden alle Konstanten an einem Ort zusammengefasst. (I890bb) - Mit der neuen
RetryPolicyAPI können Entwickler das Wiederholungsverhalten für die CameraX-Initialisierung anpassen. (I36dd2) - Erstellung des
ImageCaptureLatencyEstimate-Objekts zur Unterstützung der Testbarkeit aktivieren (Iaba99) - Fügen Sie eine
ImageAnalysis#COORDINATE_SYSTEM_SENSORhinzu. Wenn diese Option verwendet wird, gibt dieMlKitAnalyzerKoordinaten im Koordinatensystem des Kamerasensors zurück. (I3ec61) - API für Metadaten von Erweiterungen verfügbar gemacht. Über die neuen Schnittstellen
CameraExtensionsInfoundCameraExtensionsControlkönnen Anwendungen die Einstellungen für die Stärke der Erweiterung überwachen und anpassen. Anwendungen können dieCameraExtensionsInfo- oderCameraExtensionsControl-Instanz über die neu hinzugefügten MethodenExtensionsManager#getCameraExtensionsInfo()oderExtensionsManager#getCameraExtensionsControl()abrufen. (I28e1a) ProcessCameraProvider.awaitInstancehinzugefügt, eine aussetzende Version vonProcessCameraProvider.getInstance(Ib22b9)- Fügen Sie eine
PreviewView#getSensorToViewTransform()-API hinzu. Die Matrix stellt die Transformation von Kamerasensorkoordinaten in die Koordinaten desPreviewViewdar. Damit können Koordinaten von einemUseCasein ein anderes transformiert werden. Beispielsweise werden die Koordinaten erkannter Objekte inImageAnalysisin dasPreviewView-Overlay transformiert. (I947ab) camera-viewfinder-core-API allgemeiner gestalten, damit sie voncamera-viewfinderundcamera-viewfinder-composeverwendet werden kann. (I1e295)- Fügen Sie die Funktion
getSurfacezuViewfinderSurfaceRequesthinzu. (I781a0) - Verwenden Sie
camera-viewfinder-coreincamera-viewfinderund stellen SieViewfinderSurfaceRequestundCameraViewfinderein. (I6198c) ZoomGestureDetectorwurde hinzugefügt, um Skalierungsgesten zu interpretieren, die speziell für die Aktivität „Zum Zoomen auseinander- oder zusammenziehen“ konfiguriert sind. (Ifafbf)
Fehlerkorrekturen
- Problem mit der Auflösungsauswahl von
ImageAnalysisim Zusammenhang mit der Standardeinstellung für die Zielauflösung des Analysators behoben: Die Zielauflösung wurde fälschlicherweise auf 640 × 480 beibehalten, auch wenn in Anwendungen eine andere Standardeinstellung für die Analysatorauflösung festgelegt wurde. Wenn dieses Problem (1.3.0 bis 1.3.2) bei Anwendungen auftritt und kein Upgrade auf die neueren Versionen mit der Lösung möglich ist, kann das Problem umgangen werden, indem direkt einResolutionSelectormit der bevorzugten Auflösung und ein passendesAspectRatioStrategyfür dieImageAnalysisUseCasefestgelegt wird. (I81f72, b/330091012) - Es wurde ein Problem behoben, bei dem eine in die Warteschlange gestellte
takePicture-Anfrage möglicherweise nicht ausgeführt wurde, wenn die aktuelle Anfrage fehlgeschlagen ist. (Ie0801) - Die Prüfung auf ungültige JPEG-Daten wird auf Vivo X60- und X60 Pro-Geräte angewendet. Dadurch kann das Problem mit ungewöhnlich großen Bildern auf diesen Geräten behoben werden. (I82247, b/288828159)
- Das Problem mit falschen JPEG-Bildmetadaten auf Samsung A24-Geräten wurde behoben. Mit der Fehlerbehebung kann CameraX das JPEG-Bild erfolgreich speichern oder es können korrekte Bitmap-Objekte zurückgegeben werden, wenn die Funktion
ImageProxy.toBitmap()auf Samsung A24-Geräten aufgerufen wird. (I8d6eb, b/309005680) - Die Prüfung auf ungültige JPEG-Daten wird auf allen Samsung-Geräten angewendet, wenn das aufgenommene Bild größer als 10 MB ist. Dadurch kann das Problem mit ungewöhnlich großen Bildern auf Samsung-Geräten behoben werden. (Ic2a65, b/288828159)
- Die Unterstützung von
ImageAnalysisin CameraX-Erweiterungen wurde entfernt, da die Erweiterungsimplementierungen vieler OEMs nicht gut mitImageAnalysisfunktionieren und zu inkonsistenten Problemen führen können. (I2d926)
Version 1.4.0-alpha04
24. Januar 2024
androidx.camera:camera-*:1.4.0-alpha04 ist veröffentlicht. Version 1.4.0-alpha04 enthält diese Commits.
Neue Funktionen
- Neues Artefakt: camera-effects: Eine Bibliothek zum Anwenden von Echtzeiteffekten auf die CameraX-Ausgabe, einschließlich
Preview,VideoCaptureund/oderImageCapture. Dieses Artefakt enthält OpenGL-Implementierungen derCameraEffectAPI, mit der die Kameraausgabe effizient bearbeitet wird. OverlayEffect: Zum Zeichnen von Overlays mit der Canvas API von Android. So kann die App ein Wasserzeichen anwenden oder erkannte Objekte in Kameraausgaben hervorheben.DynamicRange-APIs für den Anwendungsfall „Vorschau“: Der Dynamikbereich kann jetzt unabhängig vom Anwendungsfall „Video“ für den Anwendungsfall „Vorschau“ festgelegt werden. Dadurch sind HDR-Dynamikbereiche wie HLG10 nur für die Vorschau möglich. InCameraInfosind auch neue APIs verfügbar, mit denen abgefragt werden kann, welche Dynamikbereiche die einzelnen Kameras unterstützen.
API-Änderungen
ScreenFlashUiCompleterwurde inScreenFlashListenerumbenannt undScreenFlashUiCompleter#getExpirationTimeMilliswurde in den ParameterexpirationTimeMillisvonScreenFlash#applyverschoben. (I13944)- Es wurden neue APIs hinzugefügt, mit denen der Dynamikbereich für den Anwendungsfall „Vorschau“ festgelegt und die von den einzelnen Kameras unterstützten Dynamikbereiche abgefragt werden können. Dadurch können HDR-Dynamikbereiche wie HLG10 nur für den Anwendungsfall „Vorschau“ verwendet werden, ohne dass gleichzeitig ein
VideoCapturegebunden werden muss. (If25e3) getMirroring()wurde inisMirroring()umbenannt (I47063)- In CameraX wurde die Unterstützung für die Schätzung der Latenz bei der Echtzeit-Standbildaufnahme hinzugefügt. Mit Kameraerweiterungen können Anwendungen eine API verwenden, die eine Schätzung der Dauer einer Aufnahme liefert. Bei der Schätzung werden die aktuellen Umgebungsbedingungen, der Kamerastatus und die Zeit für die Verarbeitung von Anfragen zur Aufnahme mehrerer Frames sowie gegebenenfalls zusätzliche Zeit für die Codierung verarbeiteter Zwischenspeicher berücksichtigt. (I05c3a)
ScreenFlashUiControlwurde inScreenFlash,ScreenFlashUiControl#applyScreenFlashUiinScreenFlash#applyundScreenFlashUiControl#clearScreenFlashUiinScreenFlash#clearumbenannt. Außerdem wurde die MethodegetScreenFlashUiApplyTimeoutSecondshinzugefügt, anstattSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDSdirekt bereitzustellen. (Iccdd0)
Fehlerkorrekturen
- Ein Speicherleck wurde behoben, das dazu führte, dass Aktivitäten oder Fragmente nicht freigegeben wurden, wenn Erweiterungen aktiviert waren (I14215).
- Das Problem, dass
getZoomRatiofälschlicherweise einen verringerten Wert zurückgegeben hat, wenn ein zunehmendes Zoomverhältnis angewendet wurde, wurde behoben. (I4aa0d, b/317543616) - Das Ereignis
ImageCapture#ScreenFlash#clearwird sofort aufgerufen, wenn die Bindung vonImageCaptureaufgehoben oder die Kamera geschlossen wird. Außerdem wurden einige Fehler behoben, bei denen das Ereignis nie aufgerufen wurde, weil Aufnahmen in diesen Szenarien nicht ordnungsgemäß abgeschlossen wurden. (If99f9) - Der Absturz, der auftritt, wenn der Lebenszyklus vor Abschluss der
takePicture-Anfrage beendet wird, wurde behoben (Idf017, b/306202751). - Das Problem, dass die Kameravorschau auf einigen Geräten schwarz wird, wenn Erweiterungen aktiviert sind, wurde behoben (I1ffd0).
- Es wurde ein Problem behoben, bei dem auf Geräten mit dem Snapdragon 778G-SoC die Dauer von Videoaufnahmen falsch angezeigt wurde. (If6aa7, b/316057919)
Version 1.4.0-alpha03
13. Dezember 2023
androidx.camera:camera-*:1.4.0-alpha03 ist veröffentlicht. Version 1.4.0-alpha03 enthält diese Commits.
Neue Funktionen
CameraInfo.mustPlayShutterSoundwurde hinzugefügt, um Informationen darüber bereitzustellen, ob gemäß regionalen Einschränkungen ein Auslösergeräusch abgespielt werden muss. (Ifda84)OnImageCapturedCallback.onCaptureStartedundOnImageSavedCallback.onCaptureStartedwurden hinzugefügt, um zu benachrichtigen, wenn die Kamera mit der Belichtung eines Frames begonnen hat. Es wird empfohlen, an dieser Stelle das Auslösergeräusch oder die Auslöseranimation abzuspielen. (Ic49b3)- Unterstützung für die Funktion „Aufleuchten bei Benachrichtigungen“ in CameraX für die Bilderfassung mit der Frontkamera hinzugefügt. CameraX übernimmt die API-Verarbeitung auf Framework-Seite und synchronisiert das Timing nach Bedarf mit den Änderungen an der Benutzeroberfläche der App (z.B. AE-Precapture-Trigger nach Änderung der Farbe/Helligkeit des App-Bildschirms). Apps müssen nur ihre UI-seitigen Implementierungen in der
ScreenFlashUiControl-Schnittstelle hinzufügen, die für CameraX bereitgestellt wird. (I8ae84) - Unterstützung für die UI-seitige Implementierung der Funktion „Aufleuchten bei Benachrichtigungen“ in CameraX hinzugefügt. Apps können eine einfache
ImageCapture.ScreenFlashUiControl-Implementierung vonPreviewViewoder dem neu hinzugefügtenScreenFlashViewerhalten, wodurch eine einfarbige Overlay-Ansicht hinzugefügt und die Bildschirmhelligkeit während der Fotoaufnahme mit Aufleuchten bei Benachrichtigungen maximiert wird. (I1810e)
API-Änderungen
- Unterstützung für neue Erweiterungsfunktionen(Postview und Fortschritt des Aufnahmevorgangs):
ImageCapture#getImageCaptureCapabilities()-APIs wurden hinzugefügt, damit Apps die Funktionen des Postview- und Aufnahmevorgangs-Callbacks abfragen können. Apps können die Postview-Funktion überImageCapture.Builder#setPostviewEnabled()aktivieren. Die Größe der Postview-Anzeige kann mitImageCapture.Builder#setPostviewResolutionSelector()ausgewählt werden. Beim Aufrufen vontakePicture()könnenonPostviewBitmapAvailableundonCaptureProcessProgressedinOnImageSavedCallbackoderOnImageCapturedCallbackimplementiert werden, um die Postview- und Verarbeitungsfortschrittsbenachrichtigung zu erhalten, sofern unterstützt. (I5cd88) - APIs zur Berechnung der Koordinatentransformation vom Sensor zum aktuellen Zwischenspeicher, mit einem Flag, das angibt, ob die Oberfläche die Informationen zur Kameraausrichtung enthält. (I59096)
- API zum Abfragen von
PreviewCapabitlityin der VorabversionUseCaseverfügbar machen. (Ie5b6c) - APIs zur Unterstützung weiterer Qualitäten für
VideoCapturehinzugefügt.Recorder.Builder#setVideoCapabilitiesSource(int)kann mitVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIESverwendet werden, um eineRecorder-Instanz zu erstellen, die mehr Qualitäten alsVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILEunterstützt. Ein häufiger Anwendungsfall ist, wenn die Anwendung versucht, UHD-Videos aufzunehmen, wann immer dies möglich ist, aber dieCamcorderProfiledes Geräts keine UHD-Einstellungen enthält, obwohl der Codec in der Lage ist, UHD-Videos aufzunehmen. (Iedbe2, b/263961771) - Füge
ImageAnalysis-Ausgabeformat-Getter/Setter zuCameraControllerhinzu. (I9a96c, b/308240643)
Fehlerkorrekturen
- Kamera
1.3.1: Die Leistung derProcessCameraProvider#bindToLifecycle()wurde verbessert. Die wichtigste Änderung besteht darin, den Prozess zur Ermittlung der am besten geeigneten Größenkombinationen fürUseCaseszu optimieren. Die optimalen Ergebnisse variieren je nach den spezifischenUseCase-Kombinationen und der Anzahl der unterstützten Ausgabegrößen für die Zielgeräte. (I454f2) - Die Verwendung von
VideoCapturezulassen, wenn Erweiterungen aktiviert sind. (I91f32) - Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Samsung A71- und M51-Serie behoben. Die aufgenommenen JPEG-Bilder enthalten redundante 0-Padding-Daten im komprimierten JFIF-Datensegment. Die aufgenommenen Bilder haben eine extrem große Dateigröße. Diese redundanten 0-Padding-Daten werden entfernt, damit die aufgenommenen Bilder normale Bilddateigrößen haben. (I01afc, b/288828159)
- Deaktiviere die
ImageAnalysis-Unterstützung auf Pixel, um den Fehler auf Pixel zu vermeiden, der versehentlich die nicht leeren unterstütztenImageAnalysis-Größen zurückgibt. (I7ec31) - Es wurde ein Leistungsproblem behoben, bei dem die CPU-Auslastung und der Stromverbrauch bei aktivierten Erweiterungen gestiegen sind. (Ibdccb)
- Snapdragon 480 wurde zu
CameraUseInconsistentTimebaseQuirkhinzugefügt. Damit wird ein Problem unter Android 12 auf Geräten mit diesem Chipsatz behoben, bei dem der Ton in Aufnahmen um die Zeitspanne versetzt ist, in der sich das Gerät im Ruhezustand befindet. (I58010)
Version 1.4.0-alpha02
18. Oktober 2023
androidx.camera:camera-*:1.4.0-alpha02 ist veröffentlicht. Version 1.4.0-alpha02 enthält diese Commits.
API-Änderungen
- Benennen Sie die API in
setCameraOpenRetryMaxTimeoutInMillisWhileResumingum und benennen Sie das Argument um. (I72370) - Hinzufügen von APIs, um die Gerätefunktionen abzufragen und die Video-/Vorschau-Stabilisierung zu aktivieren. (I87544)
- API zum Anpassen der maximalen Zeitüberschreitung für das erneute Öffnen der Kamera bereitstellen. (I0c642)
ProcessCameraProvider.shutdownAsyncwurde als öffentliche Test-API veröffentlicht, damit der Prozesskameraanbieter in Test-Suites verwendet werden kann, in denen CameraX zwischen Tests möglicherweise auf unterschiedliche Weise initialisiert werden muss. (I9eca7)- APIs zum Konfigurieren des Dynamikbereichs, der Framerate und des Spiegelmodus für die Videoaufnahme hinzugefügt. (Ifb8f7)
OutputSizewird eingestellt und durchResolutionSelectorersetzt.ResolutionSelectorist eine umfassendere Methode zur Auswahl von Auflösungen und ist mit der Camera Core API konsistent. (I93abd, b/286801438)
Fehlerkorrekturen
- Das Problem mit der schwarzen Vorschau auf dem Samsung Galaxy S23 Ultra 5G wurde behoben, wenn die Erweiterungen „Bokeh“ oder „Gesichtsretusche“ mit
ImageAnalysisauf der Rückkamera aktiviert sind. (I2e8b1) - Probleme mit der Vorschau und der gestreckten
VideoCaptureauf dem Moto E5 Play wurden behoben. (73dce2)
Version 1.4.0-alpha01
20. September 2023
androidx.camera:camera-*:1.4.0-alpha01 ist veröffentlicht. Version 1.4.0-alpha01 enthält diese Commits.
API-Änderungen
- Neue API hinzugefügt, um während der Aufnahme auf Informationen zur Audioamplitude zuzugreifen. (Id4925)
Fehlerkorrekturen
- Die Stabilität von Erweiterungen wurde verbessert, indem sichergestellt wurde, dass die Initialisierungs- und Deinitialisierungsereignisse in der richtigen Reihenfolge ausgelöst werden. (Ib3b8e)
- Fehler bei der Konfiguration der Aufnahmesitzung behoben, der auftrat, weil die unterstützte Oberflächenkombination überschritten wurde, da intern eine zusätzliche sich wiederholende Oberfläche hinzugefügt wurde. (Id718c)
- Das Problem mit großen aufgenommenen JPEG-Bildern auf Vivo S16-Geräten wurde behoben. Die aufgenommenen JPEG-Bilder enthalten redundante 0-Padding-Daten im komprimierten JFIF-Datensegment. Die aufgenommenen Bilder haben eine große Dateigröße. Diese redundanten 0-Padding-Daten werden entfernt, damit die aufgenommenen Bilder normale Bilddateigrößen haben. (I79505, b/299069235)
- Es wurde ein Problem behoben, bei dem
ImageAnalysisnicht zusammen mitImageCaptureund der Vorschau gebunden werden konnte, wenn auf einigen Geräten bestimmte Erweiterungsmodi aktiviert waren. Durch die Korrektur wird der richtige Wert zurückgegeben, wenn Apps die Verfügbarkeit vonImageAnalysisüberExtensionsManager#isImageAnalysisSupported()abfragen. (I7d538) - JavaDoc wurde an das Verhalten angepasst. Anstatt sofort abgeschlossen zu werden, warten
#setZoomRatio,#setLinearZoomund#enableTorch, bis die Kamera bereit ist. Außerdem wurden Informationen dazu hinzugefügt, wie Sie mit der#takePictureAPI das maximale Sichtfeld erhalten. (I23588)
Version 1.3
Version 1.3.4
12. Juni 2024
androidx.camera:camera-*:1.3.4 ist veröffentlicht. Version 1.3.4 enthält diese Commits.
Fehlerkorrekturen
- Das Problem, dass
getZoomRatiofälschlicherweise einen verringerten Wert zurückgegeben hat, wenn ein zunehmendes Zoomverhältnis angewendet wurde, wurde behoben. (I4aa0d, b/317543616) - Es wurde ein Problem behoben, bei dem für die Standbildaufnahme und die Funktion „Zum Fokussieren tippen“ nicht die Werte für die FPS/den Stabilisierungsmodus der wiederholten Anfrage verwendet wurden. Dies konnte dazu führen, dass die Aufnahmesitzung neu erstellt wurde, was wiederum zu Latenzproblemen oder zum Einfrieren der Vorschau auf einigen Geräten führen konnte. (I7dc0b)
- Es wurde ein Problem behoben, bei dem die Framerate auf einen niedrigeren Wert gesetzt wurde, wenn
setTargetFrameRatemitFRAME_RATE_RANGE_UNSPECIFIEDaufgerufen wurde. (I78c61)
Version 1.3.3
17. April 2024
androidx.camera:camera-*:1.3.3 ist veröffentlicht. Version 1.3.3 enthält diese Commits.
Fehlerkorrekturen
- Problem mit der Auflösungsauswahl von
ImageAnalysisim Zusammenhang mit der Standardeinstellung für die Zielauflösung des Analysators behoben: Die Zielauflösung wurde fälschlicherweise auf 640 × 480 beibehalten, auch wenn in Anwendungen eine andere Standardeinstellung für die Analysatorauflösung festgelegt wurde. Wenn dieses Problem (1.3.0 bis 1.3.2) bei Anwendungen auftritt und kein Upgrade auf die neueren Versionen mit der Lösung möglich ist, kann das Problem umgangen werden, indem direkt einResolutionSelectormit der bevorzugten Auflösung und ein passendesAspectRatioStrategyfür denImageAnalysis-UseCase festgelegt wird. (I81f72, b/330091012)
Version 1.3.2
6. März 2024
androidx.camera:camera-*:1.3.2 ist veröffentlicht. Version 1.3.2 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit JPEG-Metadaten auf Samsung A24-Geräten wurde behoben. CameraX speichert Bilder jetzt 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 ist veröffentlicht. Version 1.3.1 enthält diese Commits.
Fehlerkorrekturen
Die Leistung von ProcessCameraProvider#bindToLifecycle() wurde verbessert. Die wichtigste Änderung besteht darin, den Prozess zur Ermittlung der am besten geeigneten Größenkombinationen für UseCases zu optimieren. Die optimalen Ergebnisse variieren je nach den spezifischen UseCase-Kombinationen und der Anzahl der unterstützten Ausgabegrößen für die Zielgeräte. (I454f2)
Hier sind einige Referenzergebnisse für verschiedene Szenarien:
Vier
UseCases:Preview+ImageCapture+ImageAnalysis+VideoCapture- Google Pixel 7: ca. 430 ms bis 60 ms
- Samsung Galaxy S23 Ultra: ca. 540 ms bis 45 ms
- Samsung A53 5G: ca. 115 ms bis 70 ms
Drei
UseCases:Preview+ImageCapture+ImageAnalysis- Google Pixel 7: ca. 9 ms bis 7 ms
- Samsung Galaxy S23 Ultra: ca. 6 ms bis 5 ms
- Samsung A53 5G: ca. 32 ms bis 12 ms
Snapdragon 480 wurde zu
CameraUseInconsistentTimebaseQuirkhinzugefügt. Damit wird ein Problem unter Android 12 auf Geräten mit diesem Chipsatz behoben, bei dem der Ton in Aufnahmen um die Zeitspanne versetzt ist, in der sich das Gerät im Ruhezustand befindet. (I58010)
Version 1.3.0
18. Oktober 2023
androidx.camera:camera-*:1.3.0 ist veröffentlicht. Version 1.3.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.2.0
- Videofunktionen wie 10-Bit-HDR, Zuschneiden, Spiegeln/Nicht spiegeln, Stummschalten/Stummschaltung aufheben, Framerate festlegen und mehr.
- Gleichzeitige Aufnahme mit zwei Kameras
- Effektgalerie
- Auswahl der Auflösung
- Auswahl von Ultraweitwinkel- und Teleobjektiv
- Kamerawechsel während der Videoaufnahme (experimentelle Funktion)
Version 1.3.0-rc02
20. September 2023
androidx.camera:camera-*:1.3.0-rc02 ist veröffentlicht. Version 1.3.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Die Stabilität von Erweiterungen wurde verbessert, indem sichergestellt wurde, dass die Initialisierungs- und Deinitialisierungsereignisse in der richtigen Reihenfolge ausgelöst werden. Dadurch wurden einige Probleme mit schwarzen Vorschauen beim Wechseln des Erweiterungsmodus oder der Kamera behoben. (Iddaac)
- Es wurde ein Problem behoben, bei dem
ImageAnalysisnicht zusammen mitImageCaptureund der Vorschau gebunden werden konnte, wenn auf einigen Geräten bestimmte Erweiterungsmodi aktiviert waren. Durch die Korrektur wird der richtige Wert zurückgegeben, wenn Apps die Verfügbarkeit vonImageAnalysisüberExtensionsManager#isImageAnalysisSupported()abfragen. (I7d538) - Es wurde ein Problem behoben, bei dem Audio und Video des aufgenommenen Videos nicht synchron waren, wenn der Spiegelungsmodus auf dem Xiaomi Poco X3 NFC aktiviert war. (I20b4c)
Version 1.3.0-rc01
23. August 2023
androidx.camera:camera-*:1.3.0-rc01 ist veröffentlicht. Version 1.3.0-rc01 enthält diese Commits.
API-Änderungen
PendingRecording.asPersistentRecordingwurde hinzugefügt, damit eine Aufzeichnung rund um die Uhr fortgesetzt werden kann, während derVideoCapture, an den der Rekorder angehängt ist, neu gebunden wird. (I517c6)
Fehlerkorrekturen
- Ein Absturz wurde behoben, der auftrat, wenn ein Stream sowohl mit
VideoCaptureals auch mit der Vorschau geteilt wurde. Außerdem wurde ein Problem behoben, bei dem auf LEGACY-Geräten ein schwarzer Bildschirm angezeigt wurde, wenn die Streamfreigabe aktiviert war. - Es wurde ein Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Samsung S7-Serie (SM-G930T, SM-G930V) behoben. Die aufgenommenen JPEG-Bilder enthalten redundante 0-Padding-Daten im komprimierten JFIF-Datensegment. Die aufgenommenen Bilder haben eine große Dateigröße. Diese redundanten 0-Padding-Daten werden entfernt, damit die aufgenommenen Bilder normale Bilddateigrößen haben. (I407b0, b/288828159)
- Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Samsung S22- (SM-S901B, SM-S901B/DS) und S22+-Serie (SM-S906B) behoben. Die aufgenommenen JPEG-Bilder enthalten redundante 0-Padding-Daten im komprimierten JFIF-Datensegment. Dadurch haben die aufgenommenen Bilder auf dem S22 SM-S901B/DS eine große Dateigröße von etwa 13 MB. Diese redundanten 0-Padding-Daten werden entfernt, damit die aufgenommenen Bilder normale Bilddateigrößen haben. (I73be9, b/288828159)
- Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Samsung-Serien A5, A52, A70 und A72 behoben. Die aufgenommenen JPEG-Bilder enthalten redundante 0-Padding-Daten im komprimierten JFIF-Datensegment. Dadurch haben die aufgenommenen Bilder eine extrem große Dateigröße (z. B. etwa 32 MB oder sogar 96 MB). Diese redundanten 0-Padding-Daten werden entfernt, damit die aufgenommenen Bilder normale Bilddateigrößen haben. (I97c4d, b/288828159)
- Der native Absturz beim Aufnehmen von Bildern mit aktivierten Erweiterungen wurde behoben (I698f5).
Version 1.3.0-beta02
26. Juli 2023
androidx.camera:camera-*:1.3.0-beta02 ist veröffentlicht. Version 1.3.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Verwendung der Taschenlampe als Blitz für Pixel 4- und Pixel 5-Varianten, um die Aufnahmequalität bei schlechten Lichtverhältnissen zu verbessern (I56ff5, b/280221967)
- Problem mit großen aufgenommenen JPEG-Bildern auf Geräten der Samsung A5-Serie (2017) behoben. Die aufgenommenen JPEG-Bilder enthalten redundante 0-Padding-Daten im komprimierten JFIF-Datensegment. Die aufgenommenen Bilder haben eine Dateigröße von etwa 32 MB. Diese redundanten 0-Padding-Daten werden entfernt, damit die aufgenommenen Bilder normale Bilddateigrößen haben. (I29837, b/288828159)
- Es wurde ein Problem behoben, bei dem die Wiederholung bei einem Aufnahmefehler auf den in
CaptureFailedRetryQuirkerwähnten problematischen Geräten nicht richtig ausgelöst wurde. (I7b589)
Version 1.3.0-beta01
21. Juni 2023
androidx.camera:camera-*:1.3.0-beta01 ist veröffentlicht. Version 1.3.0-beta01 enthält diese Commits.
API-Änderungen
- Der Funktionsname
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)wurde insetAllowedResolutionModeumbenannt und die KonstantenResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONwurden inPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATEumbenannt. (If84e8) - Die verworfenen APIs
ImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)undVideoCapture.setTargetRotationDegrees(int)wurden entfernt. (Id8e77) - Die Klasse
DynamicRangestellt den Dynamikumfang von Bildern dar. Damit können HDR-Formate (High Dynamic Range) als Ausgabe vonVideoCapturebisVideoCapture.Builder#setDynamicRange()ausgewählt werden. (Ib0377) - Der
ExtensionsManagerwurde eineisImageAnalysisSupportedAPI hinzugefügt, mit der Apps feststellen können, ob einImageAnalysis-Anwendungsfall zusammen mit der Vorschau undImageCapturegebunden werden kann, wenn Erweiterungen aktiviert sind. (I1bc63) - Die neue Klasse
VideoCapabilities, die vonRecorderabgerufen wird, kann verwendet werden, um die unterstützten Dynamikbereiche und Qualitäten für die Videoaufnahme auf dem Gerät abzufragen. Die MethodengetSupportedQualities()undisQualitySupported()vonQualitySelectorwerden eingestellt. Verwenden Sie stattdessen die MethodengetSupportedQualities()undisQualitySupported()vonVideoCapabilities. (I04014) CameraController#setVideoCaptureTargetQuality()wird insetVideoCaptureQualitySelectorumbenannt und verwendet das ArgumentQualitySelector, was mehr Flexibilität bei der Einrichtung der Videoqualität bietet.CameraController#getVideoCaptureTargetQuality()wird entsprechend ingetVideoCaptureQualitySelectorgeändert. (I520ed)- Die experimentelle Anmerkung für Videofunktionen wurde entfernt. Die Videofunktionen sind jetzt stabil. (I1a113)
Fehlerkorrekturen
- Verwenden Sie die Taschenlampe als Blitz auf Samsung SM-A320-Modellen, um die Geschwindigkeit und die Qualität der aufgenommenen Bilder bei schlechten Lichtverhältnissen zu verbessern. (I6a022, b/286190938)
- Unterstützung für das
ImageFormat.JPEG-Format fürImageProxy.toBitmap()hinzufügen. Wenn das JPEG-Byte-Array nicht decodiert werden kann, wird einUnsupportedOperationExceptionausgelöst. (I81958, b/282057603)
Version 1.3.0-alpha07
24. Mai 2023
androidx.camera:camera-*:1.3.0-alpha07 ist veröffentlicht. Version 1.3.0-alpha07 enthält diese Commits.
Neue Funktionen
- Mit der neuen
VideoCapture.Builder# setTargetFrameRate(Range)API können Videoaufnahmen mit anderen Frameraten als der Standardframerate des Geräts aufgenommen werden. Die verfügbaren Frameraten für Aufnahmen können über die neueCameraInfo#getSupportedFrameRates()API abgefragt werden.
API-Änderungen
- Die Konstanten
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONwurden inALLOWED_RESOLUTIONS_NORMAL/SLOWumbenannt und der Name der Builder-FunktionsetHighResolutionEnabledFlagwurde insetAllowedResolutionModegeändert. (Iae817) CameraInfo#getSupportedFrameRateRanges()gibt jetzt einSetanstelle einesListzurück, um besser darzustellen, dass die Bereiche nicht sortiert sind. (I02f43)CameraEffectwurde ein Fehler-Listener hinzugefügt, um nicht behebbare Fehler zu verarbeiten (Ice471)- Öffentlicher Konstruktor in
ResolutionInfofür bessere Testbarkeit hinzugefügt (If6d1c) - Es wurde eine API
UseCase.snapToSurfaceRotation(int)bereitgestellt, um die Verwendung vonsetTargetRotationDegreeszu ersetzen und die APIsImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)undVideoCapture.setTargetRotationDegrees(int)einzustellen. (Ia9010) - Die neuen APIs
Preview#getTargetFrameRateundPreview.Builder#setTargetFrameRatewurden hinzugefügt, um die Zielframerate für den Anwendungsfall „Vorschau“ festlegen und abrufen zu können (If4f22). VideoRecordEvent.Finalizewird jetzt mit dem FehlercodeERROR_RECORDING_GARBAGE_COLLECTEDabgeschlossen, wenn dasRecording-Objekt aufgrund der automatischen Speicherbereinigung beendet wird. (Iba974)
Fehlerkorrekturen
NullPointerExceptionwurde korrigiert, wenn die im Cache gespeicherten Ausgabegrößen inStreamConfigurationMapCompatnull sind. (Idf124, b/282025204)- Das Problem, dass
Preview.setSurfaceProvider(null)die Vorschau in Erweiterungen nicht pausiert, wurde behoben (Ia903e). - Es wurde ein Problem behoben, bei dem
ConcurrentModificationExceptionbeim Öffnen der Kamera ausgelöst wird, wennVideoCapturegebunden ist. (Ic8ac4)
Version 1.3.0-alpha06
19. April 2023
androidx.camera:camera-*:1.3.0-alpha06 ist veröffentlicht. Version 1.3.0-alpha06 enthält diese Commits.
Neue Funktionen
- Die gleichzeitige Kameranutzung ist eine neue Funktion, die mit Android 11 eingeführt wurde. Sie unterstützt das gleichzeitige Streaming von Kamerageräten, sodass beispielsweise die Front- und die Rückkamera eines Geräts gleichzeitig verwendet werden können. CameraX unterstützt derzeit nur zwei gleichzeitig aktive Kameras, wobei für jede Kamera maximal zwei {@link UseCase}s gebunden werden können. Die maximale Auflösung beträgt 720p oder 1440p. Weitere Informationen findest du unter CameraManager#getConcurrentCameraIds().
- Die neue
ResolutionSelectorAPI bietet die folgenden Funktionen:- Anwendungen können Strategien für Seitenverhältnis und Auflösung angeben, um die beste Auflösung für ihre Anforderungen auszuwählen.
- Alle Größen- und Seitenverhältnisparameter werden in den Koordinaten des Kamerasensors ausgedrückt.
- Anwendungen können einen benutzerdefinierten Auflösungsfilter implementieren, um die unterstützten Größen in der gewünschten Reihenfolge anzuordnen.
- Anwendungen können auch die Aufnahme mit hoher Auflösung aktivieren, um Bilder mit höherer Auflösung zu erhalten. Beachten Sie jedoch, dass eine hohe Auflösung zu längeren Aufnahmezeiten führen kann.
VideoCapture-Spiegelungs-APIs hinzugefügt. Videos, die mitVideoCaptureaufgenommen werden, werden standardmäßig nicht gespiegelt. Die Kameravorschau wird jedoch standardmäßig auf der Frontkamera gespiegelt. Mit den Spiegelungs-APIs vonVideoCaptureist es möglich, die Kameraausrichtung an der Kameravorschau auszurichten, wenn die Frontkamera verwendet wird. Es gibt dreiMirrorMode,OFF,ONundON_FRONT_ONLY. Für die Ausrichtung an der Kameravorschau wird empfohlen,ON_FRONT_ONLYzu verwenden. Das bedeutet, dass die Spiegelung für die Rückkamera nicht aktiviert ist, für die Frontkamera aber schon.
API-Änderungen
- Neue
ResolutionSelector-API verfügbar gemacht. Anwendungen können Strategien für Seitenverhältnis und Auflösung mit Fallback-Regeln oder einem benutzerdefinierten Auflösungsfilter angeben, um die gewünschten Ergebnisse zu erzielen. Anwendungen können ein Flag angeben, um die Aufnahme mit hoher Auflösung zu aktivieren. Dadurch kann CameraX beim Aufnehmen von Fotos oder Videos höhere Auflösungen auswählen. Beachten Sie jedoch, dass eine hohe Auflösung zu längeren Aufnahmezeiten führen kann. (Ibed95) - Die vom AE-Algorithmus unterstützten FPS-Bereiche können jetzt über
CameraInfo#getSupportedFrameRateRanges()abgefragt werden. (Iaa67f) - Die Namen aller Framerate-Methoden werden in „FrameRate“ zusammengefasst. Javadoc-Fehler in
VideoCapture#getTargetFrameRate()korrigiert (I83304) - Die Legacy-APIs
setTargetAspectRatioundsetTargetResolutionwurden verworfen. Verwenden Sie stattdessen die neueResolutionSelectorAPI. (I542c3) - Öffentliche APIs für die gleichzeitige Dual-Kamera hinzugefügt, einschließlich
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)boolean isConcurrentCameraModeOn()undConcurrentCameraConfig,SingleCameraConfigundConcurrentCamera(Iab1c1)
ImageProcessor.Response#getOutputImageals NonNull 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 Verhalten der Kameravorschau übereinstimmen muss, d.h. die Vorschau der Rückkamera wird nicht gespiegelt, die Vorschau der Frontkamera jedoch schon. (I713b6, b/194634656)setTargetFrameRate()API inVideoCapture.BuilderundgetTargetFramerate()API inVideoCapturehinzugefügt (I109d4)- Lassen Sie
SurfaceOutputdie Schnittstelle „Closable“ erweitern und verbergen Sie den öffentlichen Konstruktor von SurfaceOutput.Event. (I60ea8) Recording.mutewurde hinzugefügt, um die Stummschaltung einer Aufnahme während der Verarbeitung dynamisch aufzuheben oder zu aktivieren.RecordingStatsenthältAudioStats.AUDIO_STATE_MUTED, wenn die Aufnahme während der Verarbeitung explizit stummgeschaltet wird. (Ie17fc)- Der Parameter
#setEffects()ist jetzt nicht null. Eine#clearEffects()API zum Löschen von Effekten hinzugefügt. Die App sollte#clearEffects()aufrufen, um Effekte zu entfernen. (I4b4d9) - Zweiter Konstruktor für
ViewfinderSurfaceRequest.Builderhinzugefügt, um einen Builder für den Kopierkonstruktor zu verwenden (I621a7)
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem Apps, die die Extensions API aufrufen, beim Schließen der Kamera abstürzen konnten (Ib27e5).
- Es wurde ein Problem behoben, bei dem
VideoCaptureauf einigen Geräten nicht mit der Frontkamera funktionierte. Beispielsweise auf dem Samsung Galaxy S23 und dem Xiaomi 2107113SG. (Ibec7e, b/270656244) - Es wurde ein Problem behoben, bei dem das Aufnehmen von Bildern mit „Datei“ im öffentlichen Ordner des externen Speichers unter Android 10 oder höher immer fehlschlägt. Beachten Sie, dass unter Android 10 für das Aufnehmen von Bildern mit „File“ im öffentlichen Ordner des externen Speichers auch
requestLegacyExternalStorageim Anwendungstag auf „true“ gesetzt werden muss. (I11b2c) - Ein Absturz von
RejectedExecutionExceptioninDefaultSurfaceProcessorwurde behoben. Der Absturz kann auftreten, wennVideoCapturegebunden und die Aktivität pausiert ist. (Idb46a, b/273713906)
Version 1.3.0-alpha05
22. März 2023
androidx.camera:camera-*:1.3.0-alpha05 ist veröffentlicht. 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)werden ebenfalls hinzugefügt. (Id3ffe, b/205242781)VIDEO_CAPTUREundPREVIEW|VIDEO_CAPTUREals Effektziel zulassen. Effekte, die aufVIDEO_CAPTUREabzielen, werden auf den UseCaseVideoCaptureangewendet. Effekte, die aufPREVIEW|VIDEO_CAPTUREabzielen, werden auf einen freigegebenen Stream angewendet, bevor sie in die Vorschau und den StreamVideoCapturekopiert werden. (Iee6f3)
Fehlerkorrekturen
- Aus Kamera
1.2.2: Es wurde ein Problem behoben, bei dem CameraX-Erweiterungen nicht richtig funktionierten, wenn ProGuard auf einigen Geräten wie Pixel aktiviert war (I90aa2). - Es wurde ein Fehler in
PreviewViewbehoben, durch den die Vorschau beim Drehen verzerrt werden konnte, wenn die App die Bildschirmausrichtung selbst verwaltet. Dies geschieht nur auf bestimmten Geräten. Es kann auf dem Pixel 4a, 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 ist veröffentlicht. Version 1.3.0-alpha04 enthält diese Commits.
Neue Funktionen
Eine neue Funktion zur Unterstützung bisher nicht unterstützter Surface-Kombinationen durch die Freigabe eines Streams für mehrere UseCases.
- Bisher hat CameraX
IllegalArgumentExceptionausgegeben, wenn „Preview, VideoCapture, ImageAnalysis“ auf der Kamerahardwareebene FULL und darunter oder „Preview, VideoCapture, ImageCapture“ auf der Hardwareebene LEGACY gebunden wurde. - Das neue Verhalten ist, dass die Bindungen funktionieren, ohne dass Ausnahmen ausgelöst werden. Stattdessen wird in CameraX OpenGL verwendet, um einen freigegebenen Stream sowohl in die Vorschau als auch in VideoCapture zu kopieren.
- Durch die Kosten für die Pufferkopie kann es bei der App zu einer Erhöhung der Latenz und des Stromverbrauchs kommen.
API-Änderungen
- API zum Konvertieren von
ImageProxyinBitmaphinzufügen. Die unterstütztenImageProxy-Formate sindImageFormat.YUV_420_888undPixelFormat.RGBA_8888. Wenn das Format ungültig ist, wirdIllegalArgumentExceptionausgegeben. (Ic7110) - Füge
CoroutineCameraViewfinderhinzu, um die Konfiguration des Suchers mit Sperrfunktionen in Kotlin zu unterstützen. (I657bc) - Neuen öffentlichen Konstruktor für
ViewfinderSurfaceRequesthinzufügen. Sie bietet Flexibilität, wenn der NutzerCameraCharacteristicsnicht angeben kann. (Ie6549)
Fehlerkorrekturen
- Ein Absturz der Erweiterungen, der auf einigen Samsung-Geräten auftritt, wenn die App zu schnell pausiert/fortgesetzt wird, wurde behoben (Iaca26).
Version 1.3.0-alpha03
25. Januar 2023
androidx.camera:camera-*:1.3.0-alpha03 ist veröffentlicht. Version 1.3.0-alpha03 enthält diese Commits.
API-Änderungen
CameraInfo.getIntrinsicZoomRatiowurde hinzugefügt, um Informationen zum Blickwinkel im Verhältnis zur Standardkamera bereitzustellen. (Ib300c)CameraInfo.getLensFacingwurde hinzugefügt, um Informationen zur Ausrichtung der Linse bereitzustellen.CameraSelector#LENS_FACING_EXTERNALals experimentelle Funktion zur Auswahl externer Kameras hinzugefügt (Icaf3e)- Füge
#setEffect()zuCameraControllerhinzu, damit der Kameraausgabe Effekte hinzugefügt werden können. (I1d21f) - Fügen Sie die Methode
invalidate()zuSurfaceRequesthinzu. Der Surface-Anbieter kann 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. Sie kann mitQualitySelectorkombiniert werden, um mehr Videoauflösungen zu unterstützen. (I8a082) Recorder.Builder#setTargetVideoEncodingBitRatewurde hinzugefügt, um die Ziel-VideocodierungBitRatefestzulegen, undRecorder#getTargetVideoEncodingBitRate, um die Bitrate der Ziel-Videocodierung abzurufen. (I5984d)
Fehlerkorrekturen
- Fehler behoben, bei dem
ImageCapturefehlschlug, wenn kein Blitz vorhanden und der Blitzmodus aktiviert war. (I9e8b4, b/263391112) - Ein Problem mit der Beschädigung von JPEG-Bildern beim Schreiben von EXIF-Standortdaten auf einigen Samsung-Geräten mit Android 12 wurde behoben. (Ib7086, b/263747161, b/263289024)
- Wenn Sie die Taschenlampe oder den Zoom vor Abschluss der Kamerainitialisierung einstellen, z.B. durch Aufrufen von
CameraController#enableTorch, wird die ausstehende Aktion im Cache gespeichert und nach Abschluss der Initialisierung gesendet. (I11e92, b/264157663)
Version 1.3.0-alpha02
7. Dezember 2022
androidx.camera:camera-*:1.3.0-alpha02 ist veröffentlicht. Version 1.3.0-alpha02 enthält diese Commits.
API-Änderungen
- Eine neue API zum Anwenden von Nachbearbeitungseffekten auf die Vorschauausgabe wurde hinzugefügt. (Ic17d5)
OutputOptions.getDurationLimitwurde inOutputOptions.getDurationLimitMillisundOutputOptions.setDurationLimitinOutputOptions.setDurationLimitMillisumbenannt. (I91f0c)- Fügen Sie die Klasse
AudioConfighinzu, um die audiobezogenen Einstellungen während der Videoaufnahme zu verwalten. Die Annotation@RequiresPermissionwird vonstartRecording-Funktionen zuAudioConfigverschoben, um unnötige Berechtigungsanfragen zu vermeiden, wenn kein Audio erforderlich ist. (I28755) - Entfernen Sie die Klassen „Metadata“,
OnVideoSavedCallback,OutputFileOptionsundOutputFileResults, die nach der Anwendung der neuen Videoaufnahme-API nicht mehr verwendet werden. (I38cd8) - Die neue Videoaufnahme-API anwenden. Die Methoden
getVideoCaptureTargetSizeundsetVideoCaptureTargetSizewerden durch die MethodengetVideoCaptureTargetQualityundsetVideoCaptureTargetQualityersetzt, dasetTargetResolutionnicht mehr unterstützt wird. (I2a1d5)
Fehlerkorrekturen
- Verworfene
core.VideoCaptureAPI entfernen. (I531e0) - Das Problem, dass der
onError-Callback nicht aufgerufen wird, wenn Bilder ohne Speicherberechtigung aufgenommen werden, wurde behoben.(I936db, b/244807669) - Qualität und Zuverlässigkeit von Kameraerweiterungen verbessern. Kameraerweiterungen sind auf Motorola-Geräten mit Kameraerweiterungen v1.1.0 und älter deaktiviert, da es Probleme mit der Bokeh-Unterstützung, der Bilderfassung und der Vorschau gibt, die nicht fortgesetzt wird. (Id3ce3)
- Es wurde ein nativer Absturz behoben, der auftrat, wenn das Zuschneiden von Videos über
ViewPortauf älteren Geräten aktiviert war. (I16b8a, b/251357665)
Version 1.3.0-alpha01
9. November 2022
androidx.camera:camera-*:1.3.0-alpha01 ist veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
Neue Funktionen
Camera-viewfinderwurde offiziell veröffentlicht.Camera-viewfinderstellt ein einfaches Sucher-Widget bereit, mit dem der Kamerafeed für Camera2 angezeigt werden kann. Ein Beispiel finden Sie im Beispielcode.
API-Änderungen
OutputOptions.setDurationLimitwurde hinzugefügt, um die Festlegung einer maximalen Videodauer zu ermöglichen. Die Aufnahme wird automatisch abgeschlossen, wenn das angegebene Zeitlimit überschritten wird. (I902a0)- Fehlerstatus
AudioStats.AUDIO_STATE_SOURCE_ERRORfür Audio bei Videoaufzeichnung hinzufügen. Wird gesendet, wenn die Einrichtung der Audioquelle fehlschlägt oder ein Fehler auftritt. (I37410)
Fehlerkorrekturen
- Es wurde eine Problemumgehung hinzugefügt, damit einige problematische Geräte die Aufnahme einmal wiederholen können, wenn Aufnahmefehler auftreten. (Id4795)
- Problem mit schwarzem Bildschirm bei der
PreviewView-SurfaceView-Implementierung aufViewPager2behoben. Im Rahmen der Fehlerbehebung wirdPreviewViewdieSurfaceViewwiederverwenden, wenn die angeforderte Auflösung nicht geändert wird. (Ib3f27) - Unterstützung des Zuschneidens von Videos (WYSIWYG-Funktion) bei Verwendung der
ViewPort- oderCameraController-API. (Ifbba8, b/201085351) - Es wurde ein Problem behoben, bei dem mit der Frontkamera aufgenommene Videos auf dem Huawei P40 lite nicht aufgezeichnet wurden. (I87c57, b/250807400)
Version 1.2
Version 1.2.3
24. Mai 2023
androidx.camera:camera-*:1.2.3 ist veröffentlicht. Version 1.2.3 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem
VideoCaptureauf einigen Geräten nicht mit der Frontkamera funktionierte. Beispielsweise 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 ist veröffentlicht. Version 1.2.2 enthält diese Commits.
Fehlerkorrekturen
- Das Problem, dass CameraX-Erweiterungen nicht richtig funktionieren, wenn ProGuard auf einigen Geräten wie Pixel aktiviert ist, wurde behoben (I90aa2).
Version 1.2.1
25. Januar 2023
androidx.camera:camera-*:1.2.1 ist veröffentlicht. Version 1.2.1 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit beschädigten JPEG-Bildern wurde behoben, das auftrat, wenn Exif-Standortdaten auf einigen Samsung-Geräten mit Android 12 geschrieben wurden. (b/263289024)
Version 1.2.0
7. Dezember 2022
androidx.camera:camera-*:1.2.0 ist veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit 1.1.0
- Neue Bibliothek „camera-mlkit-vision“. CameraX lässt sich ganz einfach in viele MLKit-Funktionen einbinden, z. B. Barcode-Scannen, Gesichtserkennung und Texterkennung.
MLKitAnalyzerwurden als neue APIs hinzugefügt. - Neue experimentelle Zero-Shutter Lag API. Optimiert die Aufnahmepipeline, um die Latenz zu verbessern und gleichzeitig eine gute Bildqualität beizubehalten. Wenn der Aufnahmemodus auf
CAPTURE_MODE_ZERO_SHUTTER_LAGeingestellt 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_LAGnicht unterstützen, wird aufCAPTURE_MODE_MINIMIZE_LATENCYzurückgegriffen. - Stellen Sie
android.camera.core.VideoCaptureein. setStreamUseCase()wurde als öffentlicheCamera2InteropAPI hinzugefügt.- API-Level-Anforderung für
setOutputImageRotationEnabledhinzugefügt. ImageAnalysis.Analyzer#getTargetResolutionOverride()wurde inImageAnalysis.Analyzer#getDefaultTargetResolution()umbenannt.- API zum Festlegen von Standortmetadaten für das gespeicherte Video hinzugefügt.
- Problem mit niedriger Framerate bei Verwendung von
VideoCaptureund Vorschau-Anwendungsfällen mit einem Seitenverhältnis von 16:9 behoben - Es wurde ein Problem behoben, bei dem die Vorschau schwarz wurde, wenn die BOKEH-Erweiterung auf einigen Samsung-Geräten aktiviert war und der Nutzer die Kamera wechselte.
- Problem mit gestrecktem
Preview/VideoCaptureauf Samsung J7 Prime (SM-G610M) und J7 (SM-J710MN) auf Geräten mit API-Level 27 behoben. - Der Workaround zum horizontalen Spiegeln des AF-Bereichs der Frontkameras auf Samsung Android T wurde deaktiviert, da das Problem behoben wurde.
Version 1.2.0-rc01
24. Oktober 2022
androidx.camera:camera-*:1.2.0-rc01 ist veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
API-Änderungen
- Fügen Sie die
setStreamUseCaseAPI fürOutputConfigurationhinzu. Nutzer können den Stream-Anwendungsfall für die Stream-Sitzung angeben und die interne Logik von CameraX überschreiben, um den Stream-Anwendungsfall entsprechend ihren Anforderungen zu optimieren. (Ib1a95)
Fehlerkorrekturen
- Problem mit gestrecktem
Preview/VideoCaptureauf Samsung J7 Prime (SM-G610M) und J7 (SM-J710MN) auf Geräten mit API-Level 27 behoben. Bei einer Auflösung von 1920 x 1080 werden diePreview/VideoCapture-Bilder gestreckt. Eine Problemumgehung wurde hinzugefügt, um die Auflösung 1920 × 1080 für die Vorschau oderVideoCapturenicht auszuwählen, um das Problem mit dem gestreckten Bild zu vermeiden. (I0e04e) - Problem mit niedriger Framerate bei Verwendung von
VideoCaptureund Vorschau-Anwendungsfällen mit einem Seitenverhältnis von 16:9 auf einigen Huawei-Geräten behoben. (If8c88, b/223643510) - Es wurde ein Fehler behoben, durch den die Kamera nicht geöffnet werden konnte, wenn
SurfaceProviderder Vorschau nicht festgelegt war. Im Rahmen der Fehlerbehebung wird die Vorschau ohne festgelegteSurfaceProviderjetzt nicht mehr in der Kameraaufnahmesitzung konfiguriert. (I99681)
Version 1.2.0-beta02
21. September 2022
androidx.camera:camera-*:1.2.0-beta02 ist veröffentlicht. Version 1.2.0-beta02 enthält diese Commits.
API-Änderungen
- API-Level-Anforderung für
setOutputImageRotationEnabledhinzugefügt (I26e3e, b/240993561)
Fehlerkorrekturen
- Der Workaround zum horizontalen Spiegeln des AF-Bereichs der Frontkameras auf Samsung Android T wurde deaktiviert, da das Problem behoben wurde. (I05f69)
- Es wurde ein Problem behoben, bei dem auf einigen Samsung-Geräten eine schwarze Vorschau angezeigt wurde, wenn die
BOKEH-Erweiterung aktiviert war und der Nutzer die Kamera wechselte. (If6168)
Version 1.2.0-beta01
24. August 2022
androidx.camera:camera-*:1.2.0-beta01 ist veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Neue Funktionen
- Neue Bibliothek
camera-mlkit-vision. CameraX lässt sich ganz einfach in viele MLKit-Funktionen einbinden, z. B. Barcode-Scannen, Gesichtserkennung und Texterkennung. Hier finden Sie Beispielcode. - Neue experimentelle Zero-Shutter Lag API. Optimiert die Aufnahmepipeline, um die Latenz zu verbessern und gleichzeitig eine gute Bildqualität beizubehalten. 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 minimiert. Auf Geräten, die ZERO_SHUTTER_LAG nicht unterstützen, wird auf CAPTURE_MODE_MINIMIZE_LATENCY zurückgegriffen.
ImageAnalysis.AnalyzerundMLKitAnalyzerwurden zu offiziellen APIs gemacht.- API zum Festlegen von Standortmetadaten für das gespeicherte Video verfügbar gemacht.
- Benennen Sie
ImageAnalysis.Analyzer#getTargetResolutionOverride()inImageAnalysis.Analyzer#getDefaultTargetResolution()um.
Fehlerkorrekturen
- Ein Problem mit der Bilderfassung auf dem Alps k61v1_basic_ref wurde behoben. Die von der HAL aufgenommenen JPEG-Bilder enthalten falsche EXIF-Metadaten. Die Exif-Metadaten enthalten nicht das Tag „0xffd9“ oder „0xffda“, damit
ExifInterfacedie Attribute korrekt parsen kann. Die Bilder werden im YUV-Format aufgenommen und dann in JPEG-Ausgabebilder komprimiert, um dieses Problem zu umgehen. (I45abb)
Version 1.2.0-alpha04
27. Juli 2022
androidx.camera:camera-*:1.2.0-alpha04 ist veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
API-Änderungen
- Benennen Sie
ImageAnalysis.Analyzer#getTargetResolutionOverride()inImageAnalysis.Analyzer#getDefaultTargetResolution()um. Das Verhalten wird außerdem so geändert, dass der von dieser Methode zurückgegebene Wert durch den Wert vonImageAnalysis#setTargetResolution()überschrieben werden kann. (If1d36) - API zum Festlegen von Standortmetadaten für das gespeicherte Video verfügbar gemacht. Ein
android.location.Location-Objekt kann über die neue APIandroidx.camera.video.OutputOptions.Builder.setLocation(Location)festgelegt werden. (I313a0, b/204197544)
Fehlerkorrekturen
- Problem behoben, bei dem ein Foto mit ungebundener Vorschau aufgenommen wurde (Ie70b6, b/235119898)
- Ein Absturz in
Recorderwurde behoben, der auftrat, wenn versucht wurde, eine Aufnahme zu starten, während die Audioquelle nicht verfügbar war. (I9f652)
Version 1.2.0-alpha03
29. Juni 2022
androidx.camera:camera-*:1.2.0-alpha03 ist veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
API-Änderungen
- Die experimentelle Annotation für
ImageAnalysis.AnalyzerundMLKitAnalyzerwurde entfernt. (I0ff22)
Fehlerkorrekturen
- Es wurde ein Standard-Timeout von 5.000 ms für den Autofokus hinzugefügt. Dadurch wird der Autofokus-Teil mit
isFocusSuccessful= false abgeschlossen, wennFocusMeteringActionnicht abgebrochen wird und der Autofokus-Teil nicht innerhalb der Dauer konvergiert. (Ibc2e3) - Problem behoben, bei dem ein Bild mit ungebundener Vorschau aufgenommen wurde (I1d3a2, b/235119898)
- Erweiterte Extender-Implementierung aktiviert und die Version der CameraX-Support-Erweiterungsschnittstelle auf 1.2 aktualisiert (I92256)
Version 1.2.0-alpha02
1. Juni 2022
androidx.camera:camera-*:1.2.0-alpha02 ist veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
Neue Funktionen
- Die CameraX Zero-Shutter Lag API wird als experimentell verfügbar gemacht.
API-Änderungen
- Füge den neuen Aufnahmemodus
CAPTURE_MODE_ZERO_SHUTTER_LAGinImageCaptureundisZslSupportedinCameraInfohinzu, um die Gerätefunktion abzufragen. Der Modus „CAPTURE_MODE_ZERO_SHUTTER_LAG“ soll die minimale Latenz für die sofortige Aufnahme bieten. Sie basiert auf einem Ringpuffer, der Zwischenergebnisse der Aufnahme zwischenspeichert, damit sie später noch einmal verarbeitet werden können, wenn der Nutzer die Tasten zum Aufnehmen von Bildern drückt. Wenn {@link VideoCapture} gebunden ist, der Blitzmodus nicht auf „AUS“ steht oder die OEM-Erweiterung aktiviert ist, wird dieser Modus automatisch deaktiviert. (I9ae74) - Methode
ImageAnalysis.getBackgroundExecutor()hinzugefügt (Icc945)
Fehlerkorrekturen
- Die Methode „
ImageCapturetakePicture“ schaltet die Taschenlampe auf den gemeldeten Geräten aus. (Ib5eb5, b/228272227) - Ein Fehler wurde behoben, bei dem
AssertionErrorbeim Abrufen des MerkmalsCONTROL_ZOOM_RATIO_RANGEnicht verarbeitet wurde.(/Ia248a, b/231701345)
Version 1.2.0-alpha01
18. Mai 2022
androidx.camera:camera-*:1.2.0-alpha01 ist veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
- Neue Bibliothek „camera-mlkit-vision“ wird eingeführt
Fehlerkorrekturen
- Fehler behoben, bei dem
QualitySelectorkein UHD-Video aufzeichnet, wenn eine Fallback-Strategie aktiviert ist. Das Problem tritt auf, wennVideoCapturemitImageCaptureund der Vorschau auf einem Kameragerät mit Hardware-Level FULL oder höher gebunden ist. Eine Fallback-Strategie vonQualitySelectorführt dazu, dassVideoCapturefälschlicherweise eine FHD-Auflösung erhält. Die UHD-Auflösung wird für diese Kombination von Anwendungsfällen unterstützt und sollte verwendet werden. (I0e788, b/230651237) NullPointerExceptionamImageCapture.takePicture()behoben. (I92366, b/230454568, b/229766155)- Fehler beim asynchronen Pausieren von
androidx.camera.video.Recorderbehoben (Ia8ce8)
Camera-Camera2, Camera-Core, Camera-Lifecycle und Camera-Video Version 1.1.0
Version 1.1.0
29. Juni 2022
androidx.camera:camera-*:1.1.0 ist veröffentlicht. Version 1.1.0 enthält diese Commits.
Wichtige Änderungen seit 1.0.0
- Die Bibliotheken „Landed View“, „Extension“ und „Video Capture“ wurden als erste RC-Version veröffentlicht. Ab 1.1.0-beta01 haben alle CameraX-Bibliotheken dieselbe Versionsnummer. So können Entwickler Versionen viel einfacher im Blick behalten und die Komplexität großer Versionskompatibilitätsmatrizen reduzieren.
- Neue öffentliche APIs und Funktionen wurden eingeführt, darunter:
- Füge die offizielle camera-video-Bibliothek hinzu, um Anwendungsfälle für die Videoaufnahme zu unterstützen.
- YUV-zu-RGB-Konvertierung und Rotationsfunktion (
ImageAnalysis.Builder.setOutputImageRotationEnabledundsetOutputImageFormat) - Unterstützung des Mehrfenstermodus, indem CameraX-Anwendungen die Kamera fortsetzen können, wenn die Kamera von einer anderen App unterbrochen wird und der Fokus wiederhergestellt ist.
- Sorgt dafür, dass CameraX auf faltbaren Geräten gut funktioniert, indem einige Probleme mit der Vorschau behoben werden.
- Es wurde eine
CameraStateAPI hinzugefügt, die über CameraInfo bereitgestellt wird. - API
ProcessCameraProvider.getAvailableCameraInfos()hinzugefügt, um Informationen zu den verfügbaren Kameras direkt abzurufen - JPEG-Format für
ImageCapture#OnImageCapturedCallbackausgeben, wenn Erweiterungen aktiviert sind. - In
CameraInfowurde die APIisFocusMeteringSupportedhinzugefügt, mit der Anwendungen prüfen können, ob die angegebeneFocusMeteringActionvon der aktuellen Kamera unterstützt wird. - Die
getResolutionInfo-API wurde verfügbar gemacht, um Auflösungsinformationen für die Vorschau,ImageCaptureundImageAnalysisbereitzustellen. - Die neue API
ImageCapture.Builder#setJpegQualitywurde hinzugefügt, um die Komprimierungsqualität des JPEG-Ausgabebilds beim Aufnehmen von Bildern zu ändern. CameraSelector#filterwurde der öffentlichen API hinzugefügt, um eine Liste vonCameraInfosanhand einesCameraSelectorzu filtern.Camera2CameraControl.clearCaptureRequestOptionswurde hinzugefügt, um die vorhandenen Optionen für Erfassungsanfragen zu löschen.- Eine experimentelle API wurde hinzugefügt, um
CameraControllermit externen Bildverarbeitungsbibliotheken wie MLKit zu verwenden. - Die experimentelle API
CameraInfo#getCameraSelector()wurde hinzugefügt, die eine für die Kamera eindeutigeCameraSelectorzurückgibt. - Mehrere experimentelle APIs wurden zu formellen öffentlichen APIs hochgestuft
- Die Annotation
@Experimentalwurde bei experimentellen APIs durch@RequiresOptInersetzt. Verwenden Sie zum Aufrufen experimenteller APIs androidx.annotation.OptIn anstelle der verworfenen androidx.annotation.experimental.UseExperimental. - Die folgenden experimentellen APIs wurden zu offiziellen APIs hochgestuft:
CameraXConfig.Builder#setAvailableCamerasLimiter(),CameraXConfig.Builder#setMinimumLoggingLevel(),CameraXconfig.Builder#setSchedulerHandler(),CameraXConfig#getAvailableCamerasLimiter(),CameraXConfig#getMinimumLoggingLevel(),CameraXConfig#getCameraExecutor(),CameraXConfig#getSchedulerHandler(), - APIs von
@ExperimentalCameraFilter - experimentelle APIs für die Belichtungskorrektur.
- Die experimentelle
UseCaseGroupAPI für camera-core, camera-lifecycle und camera-video wurde hochgestuft.ViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirectionundViewPort.Builder#setScaleTypezum Anpassen des Darstellungsbereichs hinzugefügt. ExperimentalUseCaseGroupLifecyclewurde zu einer offiziellen öffentlichen API hochgestuft.- Änderungen an den bestehenden APIs
Renamed MediaStoreOutputOptions.getCollectionzuMediaStoreOutputOptions.getCollectionUri.ActiveRecordingwurde in „Aufzeichnung“ umbenannt, um die Ausführlichkeit zu reduzieren.- Die Creator-API
QualitySelectorwurde in eine listenbasierte API geändert
Fehlerkorrekturen
- Ein Problem mit
YuvToJpegProcessorEOFExceptionwurde behoben, das auftrat, wenn der Erweiterungsmodus aktiviert und derImageCapture#CAPTURE_MODE_MAX_QUALITY-Modus festgelegt war. - Fehler bei der festen Codeckonfiguration behoben, der auftrat, weil die Videoaufzeichnung geschlossen wurde
- Das Problem, dass das Seitenverhältnis der Vorschau/des Videos bei Aufnahmen in FHD gestreckt wurde, wurde behoben.
- Es wurde ein Problem behoben, bei dem Audio und Video nach dem Pausieren und Fortsetzen auf einigen Geräten nicht synchron waren.
- Es wurde ein Problem behoben, bei dem der Blitz beim Tippen zum Fokussieren (
startFocusAndMetering) ausgelöst wurde, wenn der Blitzmodus bei schlechten Lichtverhältnissen auf „Automatisch“ oder „Immer an“ eingestellt war.
Version 1.1.0-rc02
1. Juni 2022
androidx.camera:camera-*:1.1.0-rc02 ist veröffentlicht. Version 1.1.0-rc02 enthält diese Commits.
Fehlerkorrekturen
NullPointerExceptionamImageCapture.takePicture()behoben. (I92366, b/230454568, b/229766155)- Ein Fehler wurde behoben, bei dem
AssertionErrorbeim Abrufen des MerkmalsCONTROL_ZOOM_RATIO_RANGEnicht verarbeitet wurde. (Ia248a, b/231701345)
Version 1.1.0-rc01
11. Mai 2022
androidx.camera:camera-*:1.1.0-rc01 ist veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Neue Funktionen
- Erste RC-Version für camera-video, camera-view und camera-extension veröffentlichen
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem der Videocodec nicht freigegeben wurde, wenn die Bindung von
VideoCapture<Recorder>aufgehoben wurde. Dadurch schlugen nachfolgende Verwendungen vonVideoCapture<Recorder>bei der Aufnahme mitMediaCodec.CodecExceptionfehl, insbesondere auf Geräten mit API 21–22. (Ie7f68) - Problem behoben, bei dem aufgenommene Bilder von
CameraExtensionsActivityinImageCaptureTestnicht gelöscht wurden
Version 1.1.0-beta03
6. April 2022
androidx.camera:camera-*:1.1.0-beta03 ist veröffentlicht. Version 1.1.0-beta03 enthält diese Commits.
API-Änderungen
- Der Konstruktor
CaptureRequestOptionswurde eingeschränkt. (I261b6) - Es wurde eine experimentelle API für die Verwendung von
CameraControllermit externen Bildverarbeitungsbibliotheken hinzugefügt, z. B.MLKit (I4ea71).
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem die Vorschau in
PreviewViewseitlich angezeigt wurde, wenn die Aktivität nach dem Drehen des Geräts im Mehrfenstermodus nicht neu gestartet wurde. (I1ea36, b/223488673) - Ein Problem mit dem Mehrfenstermodus wurde behoben, bei dem die Kamera nicht fortgesetzt wurde, wenn der Fokus wieder auf die App wechselte, wenn (1) eine andere App mit hoher Priorität eine andere Kamera öffnete und (2) es sich um ein Samsung-Gerät mit Android 12 handelte. (I7e9f2)
- Workaround für Geräte, die abstürzen, wenn die Verfügbarkeit von Flash geprüft wird. Auf diesen Geräten ist die Taschenlampe nicht verfügbar. (If26a3, b/216667482)
- Ein
AbstractMethodError-Problem wurde behoben, das auftrat, wenn Apps Erweiterungen verwendeten und ProGuard aktiviert war. (I7cbaf, b/222726805) - Der Bokeh-Erweiterungsmodus wird auf dem Motorola razr 5G erzwungen deaktiviert, da er zu einem schwarzen Vorschaubildschirm führt. (I35d49)
- Es wurde ein Problem behoben, bei dem Audio und Video nach dem Pausieren und Fortsetzen auf einigen Samsung-Geräten mit einer API-Version vor 29 nicht mehr synchron waren. (I64622, b/202798609, b/202798572)
- Es wurde ein Problem behoben, bei dem Audio und Video nach dem Pausieren und Fortsetzen auf dem Sony G3125 nicht mehr synchron waren. (I2a1a5, b/202799148)
- Ein Absturz wurde behoben, der auftrat, wenn der Rekorder auf einen
InvalidConfigExceptionstieß. Diese Korrektur verhindert jedoch nur, dass die App abstürzt, behebt aber nicht die Ursache desInvalidConfigException. Wenn dieRecorderweiterhin nicht konfiguriert werden kann, erhalten Anwendungen einen Fehler-Callback, wenn die Aufzeichnung beginnt. (I89c29, b/213617227)
Externer Beitrag
- :compose:ui:ui-test API (updateApi) aufgrund der Migration von test-coroutines-lib aktualisiert (I3366d)
Version 1.1.0-beta02
23. Februar 2022
androidx.camera:camera-*:1.1.0-beta02 ist veröffentlicht. Version 1.1.0-beta02 enthält diese Commits.
API-Änderungen
- Möglichkeit hinzugefügt, die physische Kamera-ID über Camera2Interop anzugeben. (I5aed8)
Fehlerkorrekturen
- Das Problem mit der gestreckten Vorschau auf dem Oppo Find N wurde behoben (I7d004).
- Es wurde ein Problem beim Galaxy J7 Prime behoben, bei dem die Vorschau verzerrt war. (I4c500)
- Kompatible Bitrate verwenden, um Video-Encoder zu finden. (d969052)
Version 1.1.0-beta01
26. Januar 2022
androidx.camera:camera-*:1.1.0-beta01 ist veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Neue Funktionen
- Ab Version 1.1.0-beta01 haben alle CameraX-Bibliotheken dieselbe Versionsnummer. So können Entwickler Versionen viel einfacher im Blick behalten und die Komplexität großer Versionskompatibilitätsmatrizen reduzieren.
API-Änderungen
Camera2CameraControl.clearCaptureRequestOptionswurde hinzugefügt, um die vorhandenen Optionen für Erfassungsanfragen zu löschen. (Ifa07d)
Fehlerkorrekturen
- Es wurde ein Absturz behoben, der bei der Videoaufnahme auf einigen Geräten mit einer Android-Version vor Android O(API 26) auftrat. (I88fdf, b/212328261)
- Problem mit falschem AF-Bereich bei Verwendung von
cameraControl#startFocusAndMetering()auf der Frontkamera von Samsung-Geräten behoben (Ifbf59, b/210548792) - Taschenlampe als Blitz auf dem Pixel 3a/Pixel 3a XL verwenden, um die Geschwindigkeit und die Qualität des aufgenommenen Bildes im Dunkeln zu verbessern (Ib12b6, b/211474332)
- Ermöglicht Anwendungen, die Kamera wieder zu verwenden, wenn die Kamera im Mehrfenstermodus durch eine andere Anwendung mit höherer Priorität unterbrochen wird und der Fokus wieder auf die Anwendung wechselt. Bitte beachten Sie, dass es aufgrund eines Framework-Problems zu einer gewissen Latenz(1 Sekunde bis 10 Sekunden oder mehr) zwischen Fokusänderungen und dem erneuten Öffnen der Kamera kommen kann. (I4d092)
Version 1.1.0-alpha12
15. Dezember 2021
androidx.camera:camera-*:1.1.0-alpha12 ist veröffentlicht. Version 1.1.0-alpha12 enthält diese Commits.
API-Änderungen
- Unnötige
@RequiresApi(21)-Annotationen aus den inneren Klassen/Schnittstellen entfernt. (I8e286, b/204917951) - Die Qualitätskonstanten und Fallback-Strategiekonstanten von
QualitySelectorwurden geändert und werden jetzt durch Klassenobjekte dargestellt. Beispiel:QualitySelector.QUALITY_HDwird inQuality.HDgeändert undQualitySelector.FALLBACK_STRATEGY_LOWERin die vonFallbackStrategy.lowerQualityOrHigherThan(Quality)zurückgegebene Instanz. Die API, die zum Erstellen vonQualitySelectorverwendet wird, wurde in eine listenbasierte API geändert. Die neue APIQualitySelector.fromOrderedList(List<Quality>)bezieht sich auf die Reihenfolge der Liste der Eingabequalität und nicht auf die vonQualitySelector.Procedureerstellte Reihenfolge. Der Kurs „QualitySelector.Procedure“ wurde entfernt. (I43343) PendingRecording.withEventListener()wurde entfernt und der Event-Listener muss jetzt anPendingRecording.start()übergeben werden. Diese Anforderung an den Event-Listener soll die Verarbeitung asynchroner Fehler fördern, die imVideoRecordEvent.Finalize-Ereignis gemeldet werden. (I1e71d)ActiveRecordingwurde inRecordingumbenannt, um die Ausführlichkeit zu reduzieren. (I77ceb)
Fehlerkorrekturen
- Das Problem, dass im
FLASH_AUTO-Modus aufgenommene Fotos bei schlechten Lichtverhältnissen auf dem Pixel 3a und Pixel 3a XL unterbelichtet sind, wurde behoben (I13f19, b/205373142). - Verwenden Sie immer die aktuelle Anzeigegröße, um die Vorschau
Resolutionzu bestimmen. (I4a694) - Kameras ohne
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEwurden herausgefiltert. Kameras mitREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEhaben die Mindestfunktionen, die jedes Kameragerät unterstützt. Eine Kamera ohneREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEist möglicherweise eine Kamera, die spezielle Funktionen unterstützt und keine Standardfarbausgabe unterstützt.CameraXkann die AnwendungsfällePreview,ImageCapture,ImageAnalysisoderVideoCapturefür diese Kameras nicht unterstützen. Daher sollten diese Kameras herausgefiltert werden, um eine falsche Verwendung zu verhindern. (Ib8cda) CameraSelector#filterlöst keineIllegalArgumentExceptionmehr aus, wenn die Ergebnismenge leer ist. (I27804)- Es werden jetzt intelligentere Heuristiken verwendet, um Encoder-Einstellungen basierend auf OEM-spezifischen Profilen auszuwählen. (Iaeef0)
- Es wurde ein Problem behoben, bei dem in der Vorschau nach dem Start der UHD-Videoaufnahme auf dem Pixel 1 interlaced Farblinien angezeigt wurden. (I833c6, b/205340278)
Version 1.1.0-alpha11
17. November 2021
androidx.camera:camera-*:1.1.0-alpha11 ist veröffentlicht. Version 1.1.0-alpha11 enthält diese Commits.
API-Änderungen
- Der öffentlichen API wurde „CameraSelector#filter“ hinzugefügt, um eine Liste von „CameraInfo“-Objekten anhand eines „CameraSelector“-Objekts zu filtern. (I105d0)
Die API „setOutputImageRotationEnabled“ wurde für die ImageAnalysis-Konfiguration hinzugefügt. Nutzer können die Drehung für den YUV-/RGB-Bildpuffer aktivieren. Der Rotationsgrad ist eine relative Rotation, die auf der Sensorrotation und der Zielrotation basiert, damit das Bild im Vordergrund bleibt.
Die API „setOutputImageRotationEnabled“ wurde für die ImageAnalysis-Konfiguration hinzugefügt. Nutzer können die Drehung für den YUV-/RGB-Bildpuffer aktivieren. Der Rotationsgrad ist eine relative Rotation, die auf der Sensorrotation und der Zielrotation basiert, damit das Bild im Vordergrund bleibt.
getSensorToBufferTransformMatrix-API in ImageInfo hinzufügen. Die zurückgegebene Matrix ist eine Zuordnung von Sensorkoordinaten zu Zwischenspeicherkoordinaten, also vom Wert vonCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZEzu(0, 0, image.getWidth, image.getHeight). Mit der Matrix können die Koordinaten von einem {UseCase} einem anderen zugeordnet werden. Beispiel: Zuordnung der mit ImageAnalysis erkannten Gesichtserkennungskoordinaten zur Vorschau. (I9ff1e)Die neue API „ImageCapture.Builder#setJpegQuality“ wurde hinzugefügt, um die Komprimierungsqualität des JPEG-Ausgabebilds beim Aufnehmen von Bildern zu ändern. (I8dcf4)
MediaStoreOutputOptions.getCollection wurde in MediaStoreOutputOptions.getCollectionUri umbenannt. (I16639)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem der Blitz beim Tippen zum Fokussieren (startFocusAndMetering) ausgelöst wurde, wenn der Blitzmodus in einer Umgebung mit wenig Licht auf „Automatisch“ oder „Immer an“ eingestellt war. (Id4c11)
- HDR+ auf dem Pixel 2 XL und Pixel 3 XL im Modus MINIMIZE_LATENCY deaktiviert, um die Latenz zu reduzieren. (Ib6270, b/203505523)
Externer Beitrag
Version 1.1.0-alpha10
13. Oktober 2021
androidx.camera:camera-*:1.1.0-alpha10 ist veröffentlicht. Version 1.1.0-alpha10 enthält diese Commits.
Neue Funktionen
androidx.camera:camera-video:1.1.0-alpha10wurde offiziell als erste Alphaversion für Video veröffentlicht. Es gibt mehrere bekannte Probleme, die in späteren Releases behoben werden.
API-Änderungen
- Die Annotation
@RequiresApi(21)wurde allen CameraX-Klassen hinzugefügt und „minSdkVersion“ wurde aus der AndroidManifest.xml entfernt. Dadurch kann „camera-core“ einfach in Anwendungen eingebunden werden, die eine minSdkVersion unter 21 haben, aber bedingt Codepfade verwenden möchten, die auf API 21 und höher basieren. Für Anwendungen mit minSdkVersion 21 oder höher sind keine Maßnahmen erforderlich. (Ie7f2e, b/200599470)
Fehlerkorrekturen
- Löse eine InitializationException aus, damit die App den AssertionError, der beim Erstellen von CameraCharacteristics aufgetreten ist, ordnungsgemäß verarbeiten kann. (Ibec79)
Version 1.1.0-alpha09
29. September 2021
androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09 und androidx.camera:camera-lifecycle:1.1.0-alpha09 sind 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
- Behebe das Problem, dass die aufgenommenen Fotos im
MAXIMIZE_QUALITY-Modus unscharf sind. (I173a9, b/193823892) - Ein Problem beim Samsung Galaxy J5 wurde behoben, bei dem die Kamera hängen blieb, nachdem in einer dunklen Umgebung Bilder mit Blitz (ein/automatisch) aufgenommen wurden (I3aab9).
- Wenn für ImageCapture ein Zuschneiden erforderlich ist, wird das zugeschnittene Ausgabebild mit der angegebenen JPEG-Qualitätsstufe entsprechend dem festgelegten Aufnahmemodus komprimiert. Wenn der Aufnahmemodus
CAPTURE_MODE_MINIMIZE_LATENCYist, beträgt die JPEG-Komprimierungsqualität 95. Wenn der AufnahmemodusCAPTURE_MODE_MAXIMIZE_QUALITYist, 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 sind veröffentlicht. Version 1.1.0-alpha08 enthält diese Commits.
Neue Funktionen
- Die setOutputImageFormat API wurde für die Konfiguration der Bildanalyse hinzugefügt. Der Nutzer kann „ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888“ oder „ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888“ auswählen. Standardmäßig wird 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
- Der Vorschaubildschirm auf dem Huawei P20 Lite war zu hell. Dieses Problem tritt nur auf, wenn bestimmte spezielle Vorabversionen zusammen mit einem großen Zoomwert verwendet werden. (Idefce, b/192129158)
- Es wurde ein Problem behoben, bei dem der Blitz auf einigen Geräten nicht funktionierte, wenn der Blitzmodus auf FLASH_MODE_ON gesetzt und kurz danach ein Foto aufgenommen wurde. (Ieb49b)
- Ein Problem wurde behoben, bei dem die Vorschau beim Aufnehmen von Bildern für eine Weile angehalten wurde, wenn VideoCapture, ImageCapture und Preview gebunden waren. (I56197, b/193864120)
- Ermöglicht ImageAnalysis, eine Auflösung von mehr als 1080p auszuwählen. Ein Gerät mit der Stufe LIMITED kann eine Auflösung der Größe RECORD für ImageAnalysis unterstützen, wenn es zusammen mit Preview und ImageCapture gebunden ist. Der Nachteil ist, dass die ausgewählte Auflösung für ImageCapture auch eine RECORD-Größe sein muss. Damit eine RECORD-Größenauflösung für ImageAnalysis ausgewählt werden kann, muss sowohl für ImageCapture als auch für ImageAnalysis eine RECORD-Zielauflösung festgelegt werden. Das zeigt, dass die Anwendung den Kompromiss klar versteht und eine höhere Auflösung für ImageAnalysis einer maximalen Auflösung für ImageCapture vorzieht. Definitionen von RECORD, MAXIMUM und weitere Informationen findest du unter https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture. Die RECORD-Größe bezieht sich auf die maximal unterstützte Aufnahmeauflösung der Kamera, die durch CamcorderProfile bestimmt wird. Die MAXIMALE Größe bezieht sich auf die maximale Ausgabeauflösung des Kamerageräts für dieses Format oder Ziel aus „StreamConfigurationMap.getOutputSizes(int)“. (I1ee97, b/192911449)
- Fügen Sie dem aufgenommenen Bild die Exif-Informationen hinzu. (I01ff0, b/193342619)
- In ImageCapture wird der URI des gespeicherten Bildes zurückgegeben, wenn der Speicherort „Datei“ ist. (Ib5b49, b/149241379)
- Es wurde ein Problem behoben, bei dem mit Blitz aufgenommene Bilder auf vielen Geräten dunkel waren. (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 sind veröffentlicht. Version 1.1.0-alpha07 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit dem Samsung Galaxy Note 5 wurde behoben, bei dem die Kamera nach dem Aufnehmen von Bildern mit Blitz (ein/automatisch) in dunkler Umgebung hängen blieb (If6871).
YuvToJpegProcessor-EOFException-Problem behoben, das auftrat, wenn der Erweiterungsmodus aktiviert und derImageCapture#CAPTURE_MODE_MAX_QUALITY-Modus festgelegt war. (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 sind veröffentlicht. Version 1.1.0-alpha06 enthält diese Commits.
API-Änderungen
- Die experimentellen APIs für die Belichtungskorrektur für camera-core wurden hochgestuft (I08ee8).
- In „CameraInfo“ wurde die API „isFocusMeteringSupported“ hinzugefügt, mit der Anwendungen prüfen können, ob die jeweilige „FocusMeteringAction“ von der aktuellen Kamera unterstützt wird. (Ib45ae, b/188606490)
- Die getResolutionInfo API wurde verfügbar gemacht, um Auflösungsinformationen für Preview, ImageCapture und ImageAnalysis bereitzustellen. (I2b613, b/188600718)
- Die folgenden experimentellen APIs wurden zu offiziellen APIs hochgestuft: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- Die CameraProvider-Schnittstelle wurde verfügbar gemacht, um Zugriff auf eine Reihe von Kameras zu ermöglichen. (I1a7b1)
- Die experimentelle UseCaseGroup API für camera-core, camera-lifecycle und camera-video wurde hochgestuft.
ViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirectionundViewPort.Builder#setScaleTypezum 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 sind veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.
API-Änderungen
Camera2CameraFilter-Klasse entfernt. Schlage vor, die Kamera über „CameraFilter“ auszuwählen und bei Bedarf „CameraCharacteristics“ oder andere Camera2-bezogene Informationen über „Camera2CameraInfo“ abzurufen. (Ib887c)ExperimentalCameraFilter-APIs befinden sich nicht mehr in der experimentellen Phase und sind jetzt offizielle APIs. Sie können ohne OptIn-Anmerkung verwendet werden. (I4bc94)- API für den Kamerastatus hinzugefügt, die über
CameraInfo#getCameraState()verfügbar ist. (Ia86b4) - Die experimentelle API
CameraInfo#getCameraSelector()wurde hinzugefügt, die einen für die Kamera eindeutigen CameraSelector zurückgibt (I77f9f).
Fehlerkorrekturen
- Das Problem, dass ListenableFuture, das in setZoomRatio und setLinearZoom zurückgegeben wird, auf einigen Android 11-Geräten nicht abgeschlossen werden kann, wurde behoben (I716d7).
- Schnellerer Kamerawechsel und weniger Fehler 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 sind veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
- Ein Speicherleck wurde behoben, das durch mehrere Threads verursacht wurde, die gleichzeitig auf dieselbe Sammlung zugreifen. Das Speicherleck kann dazu führen, dass die Aktivität oder das Fragment von einer Vorschauinstanz beibehalten wird. (I7b4b8)
- Die Annotation
@Experimentalwurde bei experimentellen APIs durch@RequiresOptInersetzt. Verwenden Sie zum Aufrufen experimenteller APIsandroidx.annotation.OptInanstelle des verworfenenandroidx.annotation.experimental.UseExperimental. (Iff226) - Behoben: ImageCapture mit Blitz „Ein“/„Auto“ nimmt auf dem Samsung Galaxy S7 verwaschene Bilder auf. (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 sind veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
- JPEG-Ausgabeformat für
ImageCapture#OnImageCapturedCallback, wenn der Erweiterungsmodus aktiviert ist. (I0d7b1) - Fehler bei der Initialisierung auf UMIDIGI BISON-Geräten behoben (I57d9e, b/180818665)
- Die gestreckte Vorschau auf dem Samsung A3 in PreviewView wurde korrigiert. (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 sind veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.
API-Änderungen
- Es wurde eine API
ProcessCameraProvider.getAvailableCameraInfos()hinzugefügt, um Informationen zu den verfügbaren Kameras direkt abzurufen. Dabei handelt es sich entweder um alle Kameras des Geräts oder um die Kameras, die vomCameraSelectorinCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)ausgewählt wurden. (Ieac08)
Fehlerkorrekturen
- CameraX versucht jetzt, beim ersten Versuch das Öffnen einer Kamera zu erzwingen. Dies kann dazu führen, dass CameraX die Kamera von anderen Kamera-Clients übernimmt, wenn die App eine höhere Priorität hat. (Iab069, b/175820568)
- Der Robolectric-Testfehler bei Verwendung von „setAvailableCamerasLimiter“ in „CameraXConfig“ wurde behoben. (Ice307)
- Mit dieser Änderung wird die Ausnahme abgefangen, wenn die Bildwarteschlange in ImageAnalysis voll ist. Anstatt abzustürzen, kann es also sein, dass andere Anwendungsfälle einfrieren oder träge werden, z. B. die Vorschau. (Ic12da, b/175851631)
- „ExtensionsErrorListener“ wurde korrigiert, sodass Fehler gemeldet werden, wenn nur „Preview“ oder „ImageCapture“ gebunden ist. (I5ae39)
- Die Leistungseinbußen bei ImageCapture wurden behoben, indem die Validierung des Speicherorts des Bildes vor der Aufnahme entfernt wurde. Wenn nach dieser Änderung das Speicherziel ungültig ist, dauert es länger, bis die Fehlermeldung angezeigt wird, da versucht wird, das Bild nach der Aufnahme zu speichern. (I1fd4e, b/177061560)
- Die Leistungseinbußen bei ImageCapture mit OutputFileOptions vom Typ „File“ wurden behoben. (I5164a, b/177061560)
- Die Dokumentation wurde aktualisiert, um von der Verwendung von
ProcessCameraProvider.configureInstance(...)aus dem Bibliothekscode abzuraten. (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 sind veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Workaround für zeitweise beschädigte Bilddaten in JPEGs auf der Rückkamera des SM-G930T enthalten. (I52001, b/159831206)
- Ein Problem mit
IllegalArgumentExceptionwurde behoben, das auftrat, wenn alle unterstützten Vorschaugrößen kleiner als 640 × 480 und die Anzeigegröße größer als 640 × 480 war. (I2a63c, b/150506192) - Ressourcen in Bibliotheken ohne explizit deklarierte öffentliche Ressourcen (z. B. über public.xml) sind jetzt standardmäßig privat. (Ia1dcc, b/170882230)
Camera-Camera2, Camera-Core und Camera-Lifecycle 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 sind veröffentlicht. Version 1.0.2 enthält diese Commits.
Fehlerkorrekturen
- Behebe das Problem, dass die aufgenommenen Fotos im
MAXIMIZE_QUALITY-Modus unscharf sind. (I173a9, b/193823892) - Ein Problem wurde behoben, bei dem mit Blitz aufgenommene Bilder auf vielen Geräten dunkel waren. (I4e510)
Camera-Camera2, Camera-Core und Camera-Lifecycle 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 sind veröffentlicht. Version 1.0.1 enthält diese Commits.
Fehlerkorrekturen
Das Problem, dass die in
setZoomRatioundsetLinearZoomzurückgegebeneListenableFutureauf einigen Android 11-Geräten nicht abgeschlossen werden kann, wurde behoben (I716d7).Es wurde ein Problem behoben, bei dem die Kamera auf einigen Geräten im Status „Kamera wird geschlossen“ hängen blieb und eine schwarze Vorschau angezeigt wurde. (I34c99)
Camera-Camera2, Camera-Core und Camera-Lifecycle 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 sind veröffentlicht. Version 1.0.0 enthält diese Commits.
Wichtige Funktionen von 1.0.0
- CameraX unterstützt Preview, ImageCapture und Analysis.
- CameraX verwaltet den Lebenszyklus der Kamera über eine benutzerfreundliche API.
- CameraX soll eine Kompatibilitätsebene bieten, die viele Probleme im Android-Kamera-Ökosystem 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 sind veröffentlicht. Version 1.0.0-rc05 enthält diese Commits.
Fehlerkorrekturen
- Behoben: ImageCapture mit Blitz „Ein“/„Auto“ nimmt auf dem Samsung Galaxy S7 verwaschene Bilder auf. (I30001)
Version 1.0.0-rc04
24. März 2021
androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04 und androidx.camera:camera-lifecycle:1.0.0-rc04 sind veröffentlicht. Version 1.0.0-rc04 enthält diese Commits.
Fehlerkorrekturen
- Fehler bei der Initialisierung auf UMIDIGI BISON-Geräten 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 sind veröffentlicht. Version 1.0.0-rc03 enthält diese Commits.
Fehlerkorrekturen
- Formatfehler im Dokument von
ProcessCameraProvider#getInstancebeheben - Der Robolectric-Testfehler bei Verwendung von „setAvailableCamerasLimiter“ in „CameraXConfig“ wurde behoben.
- Die Leistungsregression von ImageCapture wurde behoben, indem die Validierung des Speicherorts des Bildes vor der Aufnahme entfernt wurde. Wenn das Speicherziel nach dieser Änderung ungültig ist, dauert es länger, bis die Fehlermeldung angezeigt wird, da versucht wird, das Bild nach der Aufnahme zu speichern.
- Mit dieser Änderung wird die Ausnahme abgefangen, wenn die Bildwarteschlange in ImageAnalysis voll ist. Anstatt eines Absturzes kann es also vorkommen, dass andere Anwendungsfälle einfrieren oder träge reagieren, z. B. die Vorschau.
- Workaround für zeitweise beschädigte Bilddaten in JPEGs auf der Rückkamera des SM-G930T enthalten. (I52001, b/159831206)
- Mit dieser Änderung wird die Ausnahme abgefangen, wenn die Bildwarteschlange in ImageAnalysis voll ist. Anstatt abzustürzen, kann es also sein, dass andere Anwendungsfälle einfrieren oder träge werden, z. B. die Vorschau. (Ic12da, b/175851631)
- Der Robolectric-Testfehler bei Verwendung von „setAvailableCamerasLimiter“ in „CameraXConfig“ wurde behoben. (Ice307)
- Die Leistungsregression von ImageCapture wurde behoben, indem die Validierung des Speicherorts des Bildes vor der Aufnahme entfernt wurde. Wenn nach dieser Änderung das Speicherziel ungültig ist, dauert es länger, bis die Fehlermeldung angezeigt wird, da versucht wird, das Bild nach der Aufnahme zu speichern. (I1fd4e, b/177061560)
- Die Leistungseinbußen bei ImageCapture mit OutputFileOptions vom Typ „File“ wurden 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 sind veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Ein IllegalArgumentException-Problem wurde behoben, das auftrat, wenn alle unterstützten Vorschaugrößen kleiner als 640 × 480 und die Displaygröße größer als 640 × 480 war. (b/150506192)
Anzahl der Versuche, die Kamera wieder zu öffnen, begrenzen. Wenn beim Öffnen der Kamera bestimmte Probleme auftreten, versucht CameraX nicht mehr unbegrenzt, die Kamera wieder zu öffnen, sondern bricht nach 10 Sekunden ab.I435d2
Ein Problem mit
IllegalArgumentExceptionwurde behoben, das auftrat, wenn alle unterstützten Vorschaugrößen kleiner als 640 × 480 und die Anzeigegröße größer als 640 × 480 war. (I2a63c, b/150506192)
Version 1.0.0-rc01
16. Dezember 2020
androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01 und androidx.camera:camera-lifecycle:1.0.0-rc01 sind veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
API-Änderungen
- „CameraFilter“ und „Camera2Filter“ wurden geändert, um „CameraInfo“ zu übernehmen. (I6883d)
- Die experimentelle Klasse „Camera2CameraControl“ wurde hinzugefügt, um die dynamische Interoperabilität mit Camera2-APIs zu ermöglichen. (I45cf3)
- „Camera2CameraInfo#fromCameraInfo“ wurde in „#from“ umbenannt. (Ia2bd6)
- Die experimentelle API „setAvailableCamerasLimiter“ wurde zu „CameraXConfig“ hinzugefügt, damit Apps die Initialisierungslatenz optimieren können, indem nicht verwendete Kameras nicht initialisiert werden. (I6cf88)
- Die experimentelle Methode
CameraXConfig.Builder#setMinimumLoggingLevel()wurde hinzugefügt, um eine Mindestprotokollierungsebene für CameraX-Logs festzulegen. Wenn nichts festgelegt ist, wird standardmäßigLog#DEBUGverwendet. (Ic3245)
Fehlerkorrekturen
- Problemumgehung für zeitweise beschädigte Bilddaten in JPEGs auf der Rückkamera des SM-G930V enthalten. (I5aca5, b/159831206)
- Es wurde ein Problem behoben, bei dem auf Samsung SM-A716-Geräten beim Fotografieren keine Ergebnisse erzielt wurden, wenn der Blitz immer eingeschaltet war und die Umgebung dunkel war. (If98b2, b/172036589)
- Das Problem, dass die Vorschau nicht durch Aufrufen von
Preview.setSurfaceProvider(null)beendet werden kann, wurde behoben. (I3ac18) - Ein Problem mit der Ausrichtung beim Aufnehmen von 4:3-Bildern 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 sind veröffentlicht. Version 1.0.0-beta12 enthält diese Commits.
Fehlerkorrekturen
- Der automatische Blitz wurde auf Samsung A3-Geräten deaktiviert, um den Absturz beim Aufnehmen eines Fotos mit dem automatischen Blitz im AE-Modus auf Samsung A3-Geräten zu beheben. (Ia5fe3, b/157535165)
- Es wurde ein Problem behoben, bei dem die Vorschau auf Nexus 4-Geräten mit Android L (API-Level 21 und 22) gestreckt wurde. (I4d407, b/158749159)
- Die Implementierung der Basisklasse
OnImageCapturedCallback#onCaptureSuccessschließt das Bild nicht mehr. So soll unerwartetes Verhalten für Entwickler verhindert werden. Entwickler sollten sich nicht auf „super.onCaptureSuccess“ verlassen, um das Bild zu schließen. (Ifbf9c) - Die androidx-Variante der Annotation „Experimental“ wurde eingestellt, um Parität mit Kotlin zu erreichen. Sie wurde durch die Annotation „RequiresOptIn“ 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)
Camera-Camera2 Version 1.0.0-beta11
14. Oktober 2020
androidx.camera:camera-camera2:1.0.0-beta11 ist veröffentlicht. Version 1.0.0-beta11 enthält diese Commits.
Neue Funktionen
- Unterstützt die Android 11-API
CONTROL_ZOOM_RATIOfür den Zoom auf Geräten mit Android 11 oder höher, die eine gültigeCONTROL_ZOOM_RATIO_RANGEenthalten. (I62cc6)
Fehlerkorrekturen
- Das Problem mit der NumberFormatException wurde behoben, das auftrat, wenn die Kamera-ID keine Ganzzahl war. (Ib2228)
- Die Latenz der CameraX-Initialisierung und von „bindToLifecycle“ wurde verbessert (I61dc5).
- Für die Erstellung von UseCases ist keine Initialisierung von CameraX erforderlich. Alle implementierungsspezifischen Konfigurationen werden für „UseCase“ festgelegt, sobald es an eine Kamerainstanz angehängt wird, die für die öffentliche API
ProcessCameraProvider.bindToLifecycle()ist. (Ia5411) <UseCase>.getTargetRotation()gibtSurface.ROTATION_0zurück, wenn es aufgerufen wird, bevor es an eine Camera-Instanz angehängt wurde, es sei denn, für den Builder oder UseCase wurde eine targetRotation festgelegt. (I80fcd)
Camera-Core Version 1.0.0-beta11
14. Oktober 2020
androidx.camera:camera-core:1.0.0-beta11 ist veröffentlicht. Version 1.0.0-beta11 enthält diese Commits.
Neue Funktionen
- Unterstützt die Android 11-API CONTROL_ZOOM_RATIO für den Zoom auf Geräten mit Android 11 oder höher, die eine gültige CONTROL_ZOOM_RATIO_RANGE enthalten. (I62cc6)
Fehlerkorrekturen
- Das Problem mit der NumberFormatException wurde behoben, das auftrat, wenn die Kamera-ID keine Ganzzahl war. (Ib2228)
- Für die Erstellung von UseCases ist keine Initialisierung von CameraX erforderlich. Alle implementierungsspezifischen Konfigurationen werden für „UseCase“ festgelegt, sobald es an eine Kamerainstanz angehängt wird, die für die öffentliche API
ProcessCameraProvider.bindToLifecycle()ist. (Ia5411) <UseCase>.getTargetRotation()gibtSurface.ROTATION_0zurück, wenn es aufgerufen wird, bevor es an eine Camera-Instanz angehängt wurde, es sei denn, für den Builder oder UseCase wurde eine targetRotation festgelegt. (I80fcd)
Camera-Core Version 1.0.0-beta10
23. September 2020
androidx.camera:camera-core:1.0.0-beta10 ist veröffentlicht. Version 1.0.0-beta10 enthält diese Commits.
Fehlerkorrekturen
- Fehler bei der Validierung des Speicherziels für die Bilderfassung behoben (I8c565, b/167697553)
Camera-Camera2 Version 1.0.0-beta10
23. September 2020
androidx.camera:camera-camera2:1.0.0-beta10 ist veröffentlicht. Version 1.0.0-beta10 enthält diese Commits.
Fehlerkorrekturen
- Release zur Unterstützung von Camera-Core 1.0.0-beta10
Camera-Camera2 Version 1.0.0-beta09
16. September 2020
androidx.camera:camera-camera2:1.0.0-beta09 ist veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.
API-Änderungen
- Anstatt statische Methoden bereitzustellen, wird bei der Erstellung von Camera2CameraInfo eine CameraInfo-Instanz verwendet, um Camera2-bezogene Informationen abzurufen. (I5b844)
Fehlerkorrekturen
- Ein Problem mit dem Zielseitenverhältnis auf Tablets wurde behoben. Wenn das Zielseitenverhältnis auf
AspectRatio.RATIO_16_9festgelegt ist, sollte eine Größe im Format 16:9 ausgewählt werden. (Ib7fcf, b/151969438) - Löse einen
InitializationExceptionaus, damit die App den AssertionError, der beim Erstellen von CameraCharacteristics aufgetreten ist, ordnungsgemäß verarbeiten kann. (I89c8c, b/160524721) - Experimentelle Schnittstellen für ExposureCompensation hinzugefügt (If96c7)
Camera-Core Version 1.0.0-beta09
16. September 2020
androidx.camera:camera-core:1.0.0-beta09 ist veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.
API-Änderungen
- Fehler behoben, bei dem der Darstellungsbereich in UseCaseGroup als „nicht null“ markiert wurde. Entwickler sollten einen Darstellungsbereich erstellen können, ohne einen Darstellungsbereich festzulegen. (Ie3d2e)
- Experimentelle Schnittstellen für
ExposureCompensationhinzugefügt (If96c7) - Beliebige Zielrotation für die Vorschau zulassen. Die Transformationsinformationen werden berechnet und über einen neuen
TranformationInfoListener-Callback sofort an den Nutzer zurückgegeben. (I21470)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem der Blitz auf einigen Geräten nicht ausgeschaltet wurde. Das Problem trat auf, wenn der Blitzmodus für die Aufnahme eines Bildes auf
FLASH_MODE_ONeingestellt war und beim Auslösen des Blitzes zuFLASH_MODE_OFFgeändert wurde. Das Symptom ist ähnlich wie bei aktiviertem Taschenlampenmodus. (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 erfordert. (I0c3cc)
- Das Speicherleck bei Aktivitäten/Fragmenten wurde behoben, wenn ein Aktivitäts-/Fragmentkontext an
ProcessCameraProvider.getInstance(Context)übergeben wird.
Bekannte Probleme
- Wenn ViewPort festgelegt ist, ist das Zuschneiderechteck von ImageCapture auf Geräten, die den Bildpuffer in HAL drehen, möglicherweise falsch. Dieses Problem wird mit dem nächsten Release behoben.
Camera-Camera2 Version 1.0.0-beta08
19. August 2020
androidx.camera:camera-camera2:1.0.0-beta08 ist veröffentlicht. Version 1.0.0-beta08 enthält diese Commits.
Fehlerkorrekturen
- „bindToLifecycle“ wurde optimiert, damit es im Hauptthread schnell ausgeführt wird. (I1d57e)
- „DisplayOrientedMeteringPointFactory“ verwendet eine „CameraInfo“-Instanz anstelle eines „CameraSelector“, sodass eine direkte Zuordnung zu der Kamera besteht, für die die Factory Punkte generiert. Alle Klassen, die „DisplayOrientedMeteringPointFactory“ verwenden, akzeptieren auch eine „CameraInfo“-Instanz anstelle von „CameraSelector“. (I400c1)
- Es wurde ein Problem mit der Gruppierung von Seitenverhältnissen bei der automatischen Auflösung behoben, bei dem eine 16:9-mod16-Größe (864 × 480) ausgewählt wurde, wenn die Zielauflösung auf 2016 × 1080 festgelegt war und eine andere 16:9-Größe (1920 × 1080) unterstützt wurde. (I53167, b/159363774)
- Behebung des CameraControl-Problems, bei dem die Funktion aufgrund einer Race-Bedingung nicht funktioniert (I2279f, b/152333890, b/160714166)
Camera-Core Version 1.0.0-beta08
19. August 2020
androidx.camera:camera-core:1.0.0-beta08 ist veröffentlicht. Version 1.0.0-beta08 enthält diese Commits.
API-Änderungen
DisplayOrientedMeteringPointFactoryakzeptiert eineCameraInfo-Instanz anstelle einerCameraSelector-Instanz. Dadurch wird direkt zugeordnet, für welche Kamera die Factory Punkte generiert. Alle Klassen, dieDisplayOrientedMeteringPointFactoryverwenden, akzeptieren auch eineCameraInfo-Instanz anstelle vonCameraSelector. (I400c1)
Fehlerkorrekturen
- Bei der Bilderfassung wird das Flag „Horizontal spiegeln“ in den Metadaten basierend auf der Kamerarichtung überschrieben. (I28499)
- Die Initialisierung sollte nicht mehr abstürzen, wenn ein Kontext verwendet wird, der kein Anwendungsobjekt von
Context.getApplicationContext()zurückgibt. (I3d3c9, b/160817073)
Camera-Camera2 Version 1.0.0-beta07
22. Juli 2020
androidx.camera:camera-camera2:1.0.0-beta07 ist veröffentlicht. Version 1.0.0-beta07 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem die Vorschau auf älteren Android 5.0-Geräten gestreckt wurde. (I0c03a)
- Einige von JPEG unterstützte Größen wurden ausgeschlossen, da sie auf einigen Geräten zu WYSIWYG-Problemen führen. (Ib5128)
Camera-Core Version 1.0.0-beta07
22. Juli 2020
androidx.camera:camera-core:1.0.0-beta07 ist veröffentlicht. Version 1.0.0-beta07 enthält diese Commits.
API-Änderungen
FIT_CENTER,FIT_STARTundFIT_ENDmitFITzusammenführen.FITbedeutet, dass das zurückgegebene Zuschneiderechteck das maximal mögliche Sensorrechteck ist. (Ia73c3)- Das Zuschneiderechteck der Vorschau wird über den Darstellungsbereich konfiguriert. Nur der Bereich, der vom Zuschneiderechteck abgedeckt wird, sollte für Endnutzer sichtbar sein. (I142a4)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem die Vorschau auf älteren Android 5.0-Geräten gestreckt wurde. (I0c03a)
- Das Problem mit der
ConcurrentModificationException-Ausnahme beim Aufheben der Bindung von Anwendungsfällen wurde behoben. (I371c0)
Camera-Camera2 Version 1.0.0-beta06
24. Juni 2020
androidx.camera:camera-camera2:1.0.0-beta06 ist veröffentlicht. Version 1.0.0-beta06 enthält diese Commits.
API-Änderungen
- Experimentelle Schnittstellen zum Filtern von Kameras nach Kamera-ID und CameraCharacteristics hinzugefügt. (I28f61)
Fehlerkorrekturen
- Das Problem, dass „startFocusAndMetering“ auf dem Samsung Galaxy S7 nicht erfolgreich fokussiert, wurde behoben. (If3be7, b/159039233)
- Fehler behoben, bei dem die Kamera nach dem Beenden der App nicht geschlossen werden konnte (I7a7b3)
- Behebung eines Fehlers, bei dem die Vorschau durch wiederholtes Wechseln der Kamera unterbrochen wurde, wenn die SurfaceView-Implementierung von PreviewView verwendet wurde (I920ce)
CameraControl#startFocusAndMeteringschlägt fehl, wenn keiner der angegebenen MeteringPoints gültige Messrechtecke generieren kann. (Id53ce)
Camera-Core Version 1.0.0-beta06
24. Juni 2020
androidx.camera:camera-core:1.0.0-beta06 ist veröffentlicht. Version 1.0.0-beta06 enthält diese Commits.
API-Änderungen
- Experimentelle Schnittstellen 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. So kann dieCameraXConfigangepasst werden, ohne dassCameraXConfig.Providerin der Anwendungsklasse der App implementiert werden muss. (Ia1a8d) CameraControl#startFocusAndMeteringschlägt fehl, wenn keiner der angegebenen MeteringPoints gültige Messrechtecke generieren kann. (Id53ce)
Camera-Camera2 Version 1.0.0-beta05
10. Juni 2020
androidx.camera:camera-camera2:1.0.0-beta05 ist veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Der Absturz beim Starten der App, wenn CameraX initialisiert wird, während sich das Smartphone im „Bitte nicht stören“-Modus befindet, wurde behoben. Ein
InitializationExceptionenthält einenCameraUnavailableException, der auf denListenableFuturedes Initialisierungsergebnisses gesetzt wird, anstatt die Anwendung abstürzen zu lassen. (I9909a, b/149413835) - Der Absturz beim Aufrufen von
startFocusAndMeteringauf Geräten, auf denenCONTROL_AF_STATEnull ist, wurde behoben. (Ife55e, b/157084254)
Camera-Core Version 1.0.0-beta05
10. Juni 2020
androidx.camera:camera-core:1.0.0-beta05 ist veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.
API-Änderungen
- Der Absturz beim Starten der App, wenn CameraX initialisiert wird, während sich das Smartphone im „Bitte nicht stören“-Modus befindet, wurde behoben. Ein
InitializationException, der einenCameraUnavailableExceptionenthält, wird auf denListenableFuturedes Initialisierungsergebnisses gesetzt, anstatt dass die Anwendung abstürzt. (I9909a, b/149413835)
Fehlerkorrekturen
- Die Javadocs von
setTargetResolutionundsetTargetRotationwurden aktualisiert. (Iae16f)
Camera-Camera2 Version 1.0.0-beta04
27. Mai 2020
androidx.camera:camera-camera2:1.0.0-beta04 ist veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.
Fehlerkorrekturen
- Anwendungen können jetzt beliebige camera2-Aufnahmeanfrageparameter über
Camera2Interopfestlegen, ohne dass es zu einem Absturz kommt. Beachten Sie, dass Probleme auftreten können, wenn Parameter überschrieben werden. Stabilität und Verhalten sind nicht garantiert, wenn Parameter mit Camera2Interop überschrieben werden. (Ibe5a1, b/149103700) - Die automatische Initialisierung wurde korrigiert, wenn eine App auf einem Gerät mit einer Pseudo-Sprache verwendet wird. (I3bef3, b/154767663)
- Das Fehlerprotokoll für den getrennten Anwendungsfall wurde in ein Debugging-Log für Camera2CameraImpl umgewandelt. (I1a565, b/154422490)
- Ein Problem wurde behoben, bei dem das aufgenommene Bild manchmal zu dunkel war, obwohl der Blitz ausgelöst wurde. (I5d9fa, b/149729613)
- Fehler behoben, bei dem der Zwischenspeicher in
ImageProxyvonImageCapturenicht zurückgespult wurde (I0c455, b/153249512) - Die Probleme beim Binden von ImageCapture wurden behoben: (1) Fotos konnten nicht mit MAX_QUALITY aufgenommen werden; (2) Die Bildqualität war schlecht, weil die automatische Belichtung nicht funktionierte. (I17782, b/145326998)
- Verbesserte Zuverlässigkeit beim erneuten Öffnen der Kamera, wenn CameraX durch einen anderen Prozess oder Codepfad getrennt wird, der die Kamera beansprucht (I1fbc3, b/153714651)
Camera-Core Version 1.0.0-beta04
27. Mai 2020
androidx.camera:camera-core:1.0.0-beta04 ist veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.
API-Änderungen
- Fügt eine experimentelle API,
CameraXConfig.Builder#setSchedulerHandler(), hinzu, um den Handler festzulegen, der intern vom CameraX-Kamerastack verwendet wird. Diese neue API sollte zusammen mitCameraXConfig.Builder#setCameraExecutor()die vollständige Kontrolle über die Threads ermöglichen, die vom CameraX-Kamerastack verwendet werden. (I7bf32, b/121160431)
Fehlerkorrekturen
- Behebt einen Absturz in
ImageAnalysis, bei dem aufImageProxyzugegriffen wird, nachdemImageReaderProxygeschlossen wurde. Außerdem müssen alleImageProxy, die vomAnalyzerempfangen werden, geschlossen werden, bevor derImageReaderProxygeschlossen wird. (I4b299, b/145956416, b/154155377, b/156357269) - Der Parameter
CameraInfowurde ausPreviewView#createSurfaceProvider()entfernt.PreviewViewruft ihn jetzt intern ausSurfaceRequestab. (If18f0, b/154652477) - Die automatische Initialisierung wurde korrigiert, wenn eine App auf einem Gerät mit einer Pseudo-Sprache verwendet wird. (I3bef3, b/154767663)
- Ein Problem wurde behoben, bei dem das aufgenommene Bild manchmal zu dunkel war, obwohl der Blitz ausgelöst wurde. (I5d9fa, b/149729613)
- Problem mit
ImageAnalysisbehoben, bei dem mehrere Aufrufe von setAnalyzer/clearAnalyzer dazu führten, dass der Analyzer keine Bilder zur Analyse erhielt. (I6169f, b/151605317, b/153514544) - Fehler behoben, bei dem der Zwischenspeicher in
ImageProxyvonImageCapturenicht zurückgespult wurde (I0c455, b/153249512) - Es wurde ein Problem behoben, bei dem die erste Kamera in der Liste der unterstützten Kameras von
CameraManagernicht immer ausgewählt wurde. (I4c624, b/153418028) - Es wurde ein gelegentlich auftretender Absturz behoben, der dadurch verursacht wurde, dass die Einstellung
Preview.SurfaceProviderdie zuvor angeforderte Oberfläche nicht freigegeben hat.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”(I8e4e7, b/155936225)
Camera-Camera2 Version 1.0.0-beta03
15. April 2020
androidx.camera:camera-camera2:1.0.0-beta03 ist veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Fehlerbehebungen zur Unterstützung der Veröffentlichung von
camera-core
Camera-Core Version 1.0.0-beta03
15. April 2020
androidx.camera:camera-core:1.0.0-beta03 ist veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Es wurde eine Regression aus beta03 behoben, bei der das Aufrufen von
bindToLifecycle()mit nullUseCases eine Ausnahme auslöste. Dadurch wurde verhindert, dass einCameraabgerufen werden konnte, ohne einUseCasezu binden.
Camera-Camera2 Version 1.0.0-beta02
1. April 2020
androidx.camera:camera-camera2:1.0.0-beta02 ist veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Der
ImageInfo.getRotationDegrees()aus dem vonImageCaptureerzeugtenImageProxywurde korrigiert, sodass er mit dem EXIF-Rotationswert übereinstimmt. (Id4281, b/150802561) - Die explizite Reihenfolge der CameraX-Abhängigkeiten in
build.gradleist nicht mehr erforderlich, um die Standardimplementierung von CameraX/Camera2 zu verwenden. In Fällen, in denen strenge Abhängigkeiten deklariert werden müssen, können jetzt alle CameraX-Abhängigkeiten in die Build-Datei aufgenommen werden. (I46e88) - Das Problem mit
IllegalArgumentExceptionauf Geräten mit einer Displaygröße von weniger als 640 × 480 wurde behoben. (Ife3f2, b/150506192) bindToLifecyclewurde so korrigiert, dass der UseCase nur geändert wird, wenn er erfolgreich gebunden wird. Bisher wurde beim Aufrufen vonbindToLifecyclezur Durchführung von Auflösungsberechnungen der UseCase aktualisiert. Jetzt muss der UseCase nicht mehr aktualisiert werden, um die Berechnungen durchzuführen (I78d9e).
Camera-Core Version 1.0.0-beta02
1. April 2020
androidx.camera:camera-core:1.0.0-beta02 ist veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Der
ImageInfo.getRotationDegrees()aus dem vonImageCaptureerzeugtenImageProxywurde korrigiert, sodass er mit dem Rotationswert der EXIF-Ausrichtung übereinstimmt. (Id4281, b/150802561) bindToLifecyclewurde so korrigiert, dass der UseCase nur geändert wird, wenn er erfolgreich gebunden wird. Bisher wurde beim Aufrufen vonbindToLifecyclezur Durchführung von Auflösungsberechnungen der UseCase aktualisiert. Jetzt muss der UseCase nicht mehr aktualisiert werden, um die Berechnungen durchzuführen (I78d9e).- Ein Problem wurde behoben, bei dem die Aufnahmesitzung des Anwendungsfalls
Previewnicht aktualisiert wurde, wenn sich die Vorschauoberfläche nach mehrmaligem Aufrufen vonPreview.setSurfaceProvider()geändert hat.
Camera-Camera2 Version 1.0.0-beta01
26. Februar 2020
androidx.camera:camera-camera2:1.0.0-beta01 ist veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
Fehlerkorrekturen
SurfaceRequest.setSurface(Surface)wurde inSurfaceRequest.provideSurface(Surface)undSurfaceRequest.setWillNotComplete()inSurfaceRequest.willNotProvideSurface()umbenannt. (I224fe)- Es wurde ein Problem behoben, bei dem das Seitenverhältnis eines gespeicherten Bildes nicht korrekt war, nachdem der Zielrotationswert mit
ImageCapture.setTargetRotation()geändert wurde. (I474ea, b/148763432) - Die Initialisierung von App-Varianten mit aktiviertem ProGuard wurde korrigiert, indem das Flag beibehalten wurde, mit dem der Standard-
CameraXConfig-Anbieter festgelegt wird. (I2d6c1)
Camera-Core Version 1.0.0-beta01
26. Februar 2020
androidx.camera:camera-core:1.0.0-beta01 ist veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
ListenableFutureaufSurfaceRequest.provideSurface()wurde durchExecutorundCallbackersetzt. Dadurch wird die API vereinfacht, da keine Ausnahmen mehr fürprovideSurface()verarbeitet werden müssen. Außerdem wird erzwungen, dass derprovideSurface()-Callback nicht abgebrochen werden kann. So sollen Abstürze auf älteren Geräten verhindert werden, die durch vorzeitiges Freigeben von Oberflächen verursacht werden. DasSurfaceRequest.Result-Objekt wird jetzt verwendet, um zu verfolgen, wie einSurfaceRequestdie bereitgestellteSurfaceverwendet. (I7854b)SurfaceRequest.setSurface(Surface)wurde inSurfaceRequest.provideSurface(Surface)undSurfaceRequest.setWillNotComplete()inSurfaceRequest.willNotProvideSurface()umbenannt. (I224fe)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem das Seitenverhältnis eines gespeicherten Bildes nicht korrekt war, nachdem der Zielrotationswert mit
ImageCapture.setTargetRotation()geändert wurde. (I474ea, b/148763432) - Die Initialisierung von App-Varianten mit aktiviertem ProGuard wurde korrigiert, indem das Flag beibehalten wurde, mit dem der Standard-
CameraXConfig-Anbieter festgelegt wird. (I2d6c1) - Die Dokumentation für die Blitzmodus-APIs wurde aktualisiert und enthält jetzt mögliche Werte. (I4a3ec)
Camera-Camera2 Version 1.0.0-alpha10
10. Februar 2020
androidx.camera:camera-camera2:1.0.0-alpha10 ist veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
Fehlerkorrekturen
- Verbesserte Stabilität auf
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY-Geräten, daSurfaces nur für die Dauer der Nutzung durch Camera2 beibehalten werden. (I9dac2) - Problem mit unterbelichteter Vorschau auf LEGACY-Geräten durch entsprechende Anpassung von
CONTROL_AE_TARGET_FPS_RANGEbehoben. (1224638)
Camera-Core Version 1.0.0-alpha10
10. Februar 2020
androidx.camera:camera-core:1.0.0-alpha10 ist veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
API-Änderungen
ImageCapturewurde aktualisiert, damit Bilder inUriundOutputStreamgespeichert werden können. Kombinierte überlastetetakePicture-Methoden in einer Methode. Die Test-App wurde aktualisiert, umUrials kanonisches Beispiel zu verwenden. (Ia3bec)- „
Preview.PreviewSurfaceProvider“ wurde in „Preview.SurfaceProvider“ umbenannt. FürSurfaceProviders müssen Entwickler keine eigenenListenableFutures mehr erstellen. Die Bereitstellung einesSurfaceerfolgt jetzt über ein neuesSurfaceRequest-Objekt. Die MethodePreview.getPreviewSurfaceProvider()wurde entfernt, da sie missbraucht werden kann, wennPreviewmit anderen Klassen wiePreviewViewkombiniert wird. (I20105) getTargetRotation()undgetTargetName()wurden zuPreviewhinzugefügt. (Iceee7)getTargetRotation(),getBackpressureStrategy()undgetImageQueueDepth()wurden inImageAnalysishinzugefügt. (I9d6d9)getTargetRotation()undgetCaptureMode()wurden zuImageCapture()hinzugefügt (I5bc17)- Die Argumente, die zuvor in
ImageCapture.OnImageSavedCallback.onError()undImageCapture.OnImageCapturedCallback.onError()übergeben wurden, wurden jetzt durch ein einzelnes ArgumentImageCaptureExceptionersetzt, das weiterhin alle zuvor übergebenen Informationen enthält. - Das zuvor in
ImageCapture.OnImageSavedCallback.onImageSaved()übergebene Dateiargument wurde entfernt. (I750d2) - Die Klassen
PreviewundImageCapturesind jetzt als „final“ gekennzeichnet. (I2500b) - API aktualisiert, wobei die Methoden
getZoomRatio(),getMaxZoomRatio(),getMinZoomRatio()undgetLinearZoom()vonCameraInfoingetZoomState()zusammengeführt werden, was eineZoomState-Instanz zurückgibt. (Ib19fe) - Die API-Felder
OPTION_TARGET_CLASSundOPTION_TARGET_NAMEwurden ausCameraXConfigentfernt, da sie nur für die interne Verwendung in der Bibliothek vorgesehen sind. Konstruktor fürCameraXConfig.Builderentfernt. (I96912) - Die Anforderung, dass die App
Applicationerweitern muss, um CameraX zu initialisieren, wurde entfernt. CameraX wird jetzt mit einer Standard-Camera2-Konfiguration initialisiert, sofern das Artefaktcamera-camera2in derbuild.gradleder Anwendung enthalten ist. (I58ff5) (b/146923574)
Camera-Camera2 Version 1.0.0-alpha09
22. Januar 2020
androidx.camera:camera-camera2:1.0.0-alpha09 ist veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
Fügen Sie den Camera2-Interop-Pfad hinzu, um eine Camera2-Kamera-ID zu extrahieren. Sie können die Kamera-ID mit
Camera2CameraInfo.extractCameraId()ausCameraInfoextrahieren. Das folgende Codebeispiel zeigt, wie Sie dies verwenden:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());Für die Klasse
Camera2CameraInfoist die markerClassExperimentalCamera2Interoperforderlich.
Camera-Core Version 1.0.0-alpha09
22. Januar 2020
androidx.camera:camera-core:1.0.0-alpha09 ist veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
- Der Parameter
SurfaceOrientedMeteringPointFactoryuseCaseForSurfacewurde inuseCaseForAspectRatioumbenannt 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 akzeptiert, und das aktuelle Display übergeben.- Javadoc-Verbesserungen für Fokus- und Mess-APIs in Bezug auf
MeteringMode- und 3A-Flags sowie die Verwendung des ParametersDisplay. - Die Referenzdokumentation für
setZoomRatioundsetLinearZoomwurde erweitert.
Diverse Fehlerkorrekturen
- Es wurden Probleme behoben, die beim Schließen und anschließenden Öffnen von Kameras zu einem Fehler bei der Vorbedingungsprüfung führten.
- Es wurde ein
ConcurrentModificationExceptionbehoben, der bei Verwendung der Taschenlampen- und Zoom-APIs auftreten konnte. - Ein Problem wurde behoben, sodass jetzt Auflösungen ausgewählt werden, die der angeforderten Auflösung näher kommen, wenn eine mod16-Dimensionsgröße verfügbar ist.
- Die APIs
startFocusMeteringundcancelFocusMeteringverhalten sich jetzt wie dokumentiert, mit korrektem Timing und potenzieller Rückgabe von Fehlern, 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 ausgewählt, um die ursprüngliche Anfrage zu erfüllen, sofern verfügbar.
Camera-Camera2 Version 1.0.0-alpha08
18. Dezember 2019
androidx.camera:camera-camera2:1.0.0-alpha08 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Bekannte Probleme
- Nicht alle Optionen für Camera2-Aufnahmeanfragen funktionieren, wenn die Camera2-Interoperabilität verwendet wird. 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 für die API-Level 21 und 22 ein schwarzer Bildschirm in der Vorschau angezeigt wurde.
API-Änderungen
- Experimentell: Ein Camera2-Interoperabilitätspfad zum Extrahieren der Kamera-ID wurde hinzugefügt.
Camera-Core Version 1.0.0-alpha08
18. Dezember 2019
androidx.camera:camera-core:1.0.0-alpha08 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Bekannte Probleme
- Bei Apps, die
PreviewViewoderCameraViewverwenden, wird möglicherweise eine Vorschau mit falschem Seitenverhältnis angezeigt. Dies geschieht nach dem Pausieren oder Fortsetzen auf einigen FULL-Geräten, z. B. dem Pixel 2.
Fehlerkorrekturen
- Die Dokumentation für
FocusMeteringActionundCameraControlwurde aktualisiert. TorchControlfürenableTorch()undgetTorchState()implementiert.
API-Änderungen
- IntDefs wurden ausgeblendet und IntDef-Konstanten wurden außerhalb der IntDef-Definition verschoben.
rotationDegreeswurde von der KlasseOnImageCaptureCallbackin die KlasseImageInfoverschoben.rotationDegreeswurde von der KlasseAnalyzerin die KlasseImageInfoverschoben.
Camera-Camera2 Version 1.0.0-alpha07
4. Dezember 2019
androidx.camera:camera-camera2:1.0.0-alpha07 ist veröffentlicht. Version 1.0.0-alpha07 von camera-camera2 enthält diese Commits.
Camera2Configist jetzt für die Initialisierung und Konfiguration einer Camera2-basierten Implementierung für CameraX verfügbar. Weitere Informationen zur Verwendung bei der Initialisierung finden Sie im Abschnitt „camera-core“ der Versionshinweise.- Die Camera2-Interoperabilität ist jetzt als experimentell gekennzeichnet und wurde in ein separates Paket verschoben:
androidx.camera.camera2.interop.
Camera-Core Version 1.0.0-alpha07
4. Dezember 2019
androidx.camera:camera-core:1.0.0-alpha07 ist veröffentlicht. Version 1.0.0-alpha07 von camera-core enthält diese Commits.
In dieser Alpha-Version gibt es einige wesentliche Änderungen, da wir uns auf die Beta-Version vorbereiten. Wir empfehlen Ihnen, die Änderungen zu prüfen und Feedback in der CameraX-Google-Gruppe zu geben. Entwicklern, die CameraX in Apps im Google Play Store verwenden, empfehlen wir, mit dem Upgrade der Bibliothek in ihren Anwendungen bis zur offiziellen Betaversion zu warten.
API-Änderungen
Wichtig: Die CameraX-Initialisierung hat sich geändert. Anwendungen sollten
CameraXConfig.Providerimplementieren und die vonandroidx.camera.camera2bereitgestellte Standard-Camera2Configverwenden. Typische Verwendung:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }Die CameraX-Klasse wurde entfernt.
bindToLifecycle(),unbind(),unbindAll(),isBound()undhasCamera(), die zuvor vom CameraX-Klassenaufruf bereitgestellt wurden, sind jetzt überProcessCameraProviderverfügbar.Eine prozessspezifische Instanz von
ProcessCameraProviderwird asynchron mit der statischen MethodeProcessCameraProvider.getInstance()abgerufen. Diese gibt ein ListenableFuture zurück, das nach AbschlussProcessCameraProviderbereitstellt. Hier wird es inonCreate()für eine typische Nutzung angezeigt. Sie können Aufrufe vongetInstance()später im Lebenszyklus der Aktivität platzieren, um die Initialisierungslatenz auf einen späteren Zeitpunkt zu verschieben (z. B. wenn eine Nutzeraktion eine Kamera-UI öffnet).import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }Der von
getInstance()zurückgegebenenListenableFuturekann ein Listener hinzugefügt werden. So kann der Kameraanbieter aus demFutureabgerufen werden, ohne dassFuture.get()blockiert wird.cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))Die Kamera wird jetzt über eine Kameraauswahl ausgewählt und nicht mehr pro Anwendungsfall.
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()CameraProvider.bindToLifecycleerhält den Lebenszyklusinhaber, die Kameraauswahl und die Anwendungsfälle, die dann an den angegebenen Lebenszyklusinhaber gebunden und für die ausgewählte Kamera ausgeführt werden.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)Anwendungsfall-„Config“-Klassen werden entfernt. Erstellen Sie stattdessen Anwendungsfälle direkt und legen Sie Optionen für jeden Anwendungsfall-Builder fest. Beispiel:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()Der Anwendungsfall „Vorschau“ wurde aktualisiert, sodass er eine von der Anwendung erstellte und verwaltete Oberfläche akzeptiert, um die Best Practices für Android zu erfüllen. Es wird dringend empfohlen, die Ansichtsklasse
PreviewViewaus dem Paket „camera-view“ zu verwenden.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)Informationen zum Anhängen einer von der App verwalteten Oberfläche finden Sie in der Dokumentation. In diesen Fällen verwaltet die App den Lebenszyklus der Oberfläche.
Wichtig: Die Implementierung der
ImageAnalysis-Analysemethode mussimage.close()für empfangene Bilder aufrufen, wenn sie nicht mehr verwendet werden. Andernfalls werden je nach Einstellung für den Gegendruck möglicherweise keine neuen Bilder empfangen oder die Kamera bleibt hängen. Weitere Informationen finden Sie in der Referenzdokumentation.ImageAnalysis ImageReaderModewird jetzt in die Backpressure-Strategieintdefgeändert.ImageProxy.getImage()ist als experimentell gekennzeichnet. Anwendungen sollten die Nutzung beispielsweise über@androidx.camera.core.ExperimentalGetImageannotieren.Die Anmerkungsanforderung
UIThreadfürAnalyzerwurde entfernt.Die Funktion
ImageAnalysis.clearAnalyzer()wurde hinzugefügt, um einen Analyzer zu entfernen.Listener mit mehr als einer Methode wurden in „Callback“ umbenannt:
ImageCapture.OnImageCapturedListenerist jetztImageCapture.OnImageCapturedCallbackImageCapture.OnImageSavedListenerist jetztImageCapture.OnImageSavedCallbackVideoCapture.OnVideoSavedListenerist jetztVideoCapture.OnVideoSavedCallback
Enums wurden in 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 Blitz-/Taschenlampen-Hardware vorhanden ist.CameraInfo.isFlashAvailable()wurde entfernt. Die Taschenlampe überschreibt die Blitzfunktion. Weitere Informationen finden Sie in der Referenzdokumentation.ImageCapture.Metadata-Felder werden durch get/set/is-Zugriffsfunktionen ersetzt.startFocusMeteringundcancelFocusMeteringgeben jetztListenableFutureszurück, die den asynchronen Vorgang des Aufrufs darstellen.MeteringPointsfungieren jetzt als Handles für Messaktionen und werden von Factories erzeugt. Apps sollten die vorhandenen Factories anstelle von benutzerdefinierten Factories verwenden.
Behobene Probleme
- Ein Problem wurde behoben, das beim Aufnehmen eines Bildes nach dem Fortsetzen auftrat, wenn nach einer vorherigen Pause noch Bilder ausstanden.
- Bekanntes Problem:
CameraControl.enableTorch()funktioniert, aber der zurückgegebeneListenableFuture<Void>-Wert ist immer ein unmittelbarercomplete(success)-Wert, auch wenn kein Blitz vorhanden ist. In zukünftigen Versionen wird dies auf das endgültige Verhalten korrigiert: Wenn kein Blitz vorhanden ist, schlägtenableTorch(true)sofort fehl (es wird keine Anfrage anCaptureSessiongesendet) undTorchStatebleibt deaktiviert. - Bekanntes Problem:
startFocusAndMeteringundcancelFocusAndMeteringstarten und brechen die Fokusmessung ab, geben aber sofort eincompleted (success)-Future zurück, das nicht dem dokumentierten Verhalten entspricht. DerFocusMeteringResultvonListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()ist ein gefälschtes Ergebnis, dasisFocusSuccessful()und immer „false“ ist, was vom beabsichtigten, dokumentierten Verhalten abweicht. - Bekanntes Problem: Eine Messpunkt-Factory für die Verwendung mit
PreviewView-Touch-Events wird derzeit entwickelt. Derzeit können Apps, die benutzerdefinierte verwaltete Oberflächen verbinden, die vorhandenen Messpunkt-Factories verwenden. Ansonsten ist fürPreviewViewkeine Touch-Fokus-Funktion verfügbar.
Camera-Camera2 und Camera-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 sind veröffentlicht. Dies sind die Commits in camera-camera2:1.0.0-alpha06 und dies die Commits in camera-core:1.0.0-alpha06.
Neue Funktionen
Änderungen am Festlegen von Seitenverhältnissen:
setTargetAspectRatioMode()wurde hinzugefügt und akzeptiert ein Enum-Argument. Dadurch wird der Seitenverhältnismodus mit den OptionenRATIO_4_3oderRATIO_16_9anstelle eines beliebigen Seitenverhältnisses festgelegt. Dies spiegelt besser wider, dass die Kamera nur bestimmte Seitenverhältnisse und nicht beliebige Verhältnisse bietet.- Derzeit sind nur die Seitenverhältnisse 16:9 und 4:3 verfügbar. Das Seitenverhältnis 1:1 ist nur auf bestimmten Geräten und nur bei begrenzten Auflösungen verfügbar. Anwendungen, die eine 1:1-Schnittstelle oder -Verarbeitung entwerfen, sollten die flexibleren Optionen 16:9 oder 4:3 verwenden und die Anzeige zuschneiden oder einen Teilbereich verarbeiten.
- Diese Seitenverhältnisse sind so ausgerichtet, dass die maximale Sensorfläche genutzt wird.
getTargetAspectRatio()wurde den APIs für die Konfiguration von Anwendungsfällen hinzugefügt. Es gibt das Seitenverhältnis zurück, für das die Ausgabe des Anwendungsfalls vorgesehen ist.- Die Methode
setTargetAspectRatio(Rational aspectRatio)wurde für ImageCapture insetTargetAspectRatioCustom(Rational aspectRatio)geändert. Wenn diese Option festgelegt ist, 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. Wenn der Executor für diese Funktion nicht vorhanden ist, wird sie im Hauptthread ausgeführt.Preview.setOnPreviewOutputUpdateListenerFocusMeteringAction.Builder.setAutoFocusCallbackImageAnalysis.setAnalyzerImageCapture.takePictureCameraView.takePictureCameraView.startRecordingVideoCapture.startRecording
„CameraInfo“ mit den APIs „check Flash Available“ und „Sensor Rotation“ hinzugefügt
Die Methode
CameraInfound die MethodegetCameraInfowurden hinzugefügt. Damit können Apps prüfen, ob eine CameraInfo für die Ausrichtung des Objektivs und ein Blitz für diese Kamera verfügbar sind. Beispiel:try { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }CameraInfo.getSensorRotationDegrees()wurde hinzugefügt. Sie gibt die Ausrichtung des Kamerasensors relativ zur natürlichen Ausrichtung des Geräts oder, der Einfachheit halber, relativ zu einer Ausrichtung an, die durch eine Surface-Drehung beschrieben wird (die eine Ausrichtung relativ zur natürlichen Ausrichtung beschreibt).
API-Änderungen und Fehlerkorrekturen
- Seitenverhältnisse: Für jeden Anwendungsfall sollten Anwendungen nur
setTargetResolution()odersetTargetAspectRatio()aufrufen. Wenn Sie beide im selben Builder aufrufen, wird ein Fehler zurückgegeben.- Im Allgemeinen wird empfohlen,
setTargetAspectRatio()basierend auf dem UI-Design der Anwendung zu verwenden. Die konkreten Lösungen hängen vom Anwendungsfall ab. Die Vorschau hat beispielsweise eine Auflösung, die der Bildschirmauflösung nahekommt, und die Bilderfassung liefert hochauflösende Standbilder. Weitere Informationen finden Sie in der Tabelle mit automatischen Auflösungen. - Verwenden Sie
setTargetResolution()für spezifischere Fälle, z. B. wenn Mindestauflösungen (um Rechenleistung zu sparen) oder maximale Auflösungen (für Verarbeitungsdetails) erforderlich sind.
- Im Allgemeinen wird empfohlen,
- Executor API: Der Aufruf
setCallbackHandler()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.
- Es wurde ein Problem behoben, durch das beim Öffnen der Kamera
java.lang.IllegalStateException at Camera$StateCallback.onErrorausgelöst wurde. - Es wurde ein Problem behoben, bei dem zu kleine Auflösungen (weniger als 640 × 480) ausgewählt wurden, wenn die App größere oder Standardauflösungen anforderte. Dies führte zu einem verpixelten oder verschwommenen Vorschaubild. Anwendungen, die ausdrücklich kleinere Auflösungen benötigen, können diese explizit anfordern.
- Es wurde ein Problem behoben, bei dem die Kamera einen schwarzen Bildschirm anzeigte (Kamera konnte nicht gestartet werden), nachdem der Nutzer von einem Intent zurückgekehrt war, der eine andere Kamera-App gestartet hatte.
- Ein Fehler wurde behoben, der den folgenden Fehler auslöste, wenn Apps wiederholt gestartet oder beendet wurden:
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface! - Der folgende Fehler, der beim Deaktivieren von ImageAnalysis auftritt, wurde behoben:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more. - Zusätzliche Tests für den Ablauf beim Trennen der Kamera hinzugefügt.
- Die Robustheit des Testsystems bei aufeinanderfolgenden Kameratests wurde verbessert.
Camera-Camera2 und Camera-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 sind veröffentlicht. Dies sind die Commits in camera-camera2:1.0.0-alpha05 und dies die Commits in camera-core:1.0.0-alpha05.
API-Änderung: Umbenannte Fehlervariablen für Anwendungsfälle:
ImageCapture.UseCaseErrorwird inImageCapture.ImageCaptureErrorumbenannt.VideoCapture.UseCaseErrorwird inVideoCapture.VideoCaptureErrorumbenannt.
CameraControl-API mit Tap-to-Focus-APIs hinzugefügtAPI hinzugefügt, um eine
CameraControlvon CameraX für eine Kamera abzurufen, die nach Objektivausrichtung ausgewählt wurde:CameraX.getCameraControl(LensFacing lensFacing)MeteringPointFactory,MeteringPoint,MeteringModeundFocusMeteringActionwurden hinzugefügt, um „Tippen zum Fokussieren“ auszuführen: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
CameraControlzum Starten und Abbrechen der Fokusmessung hinzugefügt:getCameraControl(lensFacing).startFocusAndMetering(action);getCameraControl(lensFacing).cancelFocusAndMetering();Es wurden APIs für MeteringPointFactorys hinzugefügt, die die Übersetzung von Tippkoordinaten in Sensorkoordinaten basierend auf Ansichtsklassen unterstützen:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
Erzwingen Sie den Aufruf der folgenden Methoden im Haupt-Thread (UI-Thread). Wenn dies nicht der Fall ist, wird eine
IllegalStateExceptionausgelöst. In zukünftigen Versionen wird die Verwendung in anderen Threads möglich sein und die Serialisierung wird sichergestellt.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 können Null zurückgeben.
Problem beim Testen auf Emulatoren behoben, die keine AF/AE/AWB-Einstellungen unterstützen.
Ein Fehler wurde behoben, der beim Drehen während der Bildanalyse zu einem Absturz führte.
Ein Fehler wurde behoben, bei dem die Vorschau beim Start (keine Kameradaten), nach dem Drehen oder beim Wechseln zwischen Front- und Rückkamera schwarz angezeigt wurde.
Tests für mehrere gleichzeitige Anwendungsfälle der Bildanalyse wurden entfernt. Um die Kompatibilität zu gewährleisten, sollten Anwendungen nur einen einzigen Anwendungsfall für die Bildanalyse anhängen.
Erste Robolectric-Tests für die Fake-Kamera in der Kamera-Test-Suite hinzugefügt (in Bearbeitung).
Der Camera2Inititalizer-Test wurde entfernt, da seine Abdeckung unklar/irreführend war.
Camera-Camera2 und Camera-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 sind 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 initialisieren. Das bedeutet, dass CameraX je nach Gerätefunktionen Kompromisse bei der Auflösung und dem Seitenverhältnis eingeht, um eine Aufnahmesitzung zu starten. Genaue Anfragen werden daher möglicherweise nicht berücksichtigt. Das kann folgende Ursachen haben:
- Geräte, die die angeforderte Auflösung nicht unterstützen
- Kompatibilitätsprobleme, z. B. bei LEGACY-Geräten, bei denen bestimmte Auflösungen verwendet werden müssen, damit sie richtig funktionieren
- Auf einigen Geräten sind bestimmte Formate nur in bestimmten Seitenverhältnissen verfügbar
- Eine Einstellung für „nächstes mod16“ für JPEG- oder Videocodierung. Siehe
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
Obwohl CameraX die Sitzung erstellt und verwaltet, sollten Sie immer die zurückgegebenen Bildgrößen in der Ausgabe des Anwendungsfalls in Ihrem Code prüfen und entsprechend anpassen.
Es wurden einige Änderungen am Festlegen von Auflösungen und Seitenverhältnissen vorgenommen, um die API übersichtlicher zu gestalten:
- Der Anwendungsfall „Vorschau“ wird jetzt standardmäßig mit einem Seitenverhältnis von 4:3 betrachtet, wenn kein Seitenverhältnis festgelegt ist.
- Wenn CameraX intern Änderungen an angeforderten Auflösungen und Seitenverhältnissen basierend auf den Gerätefunktionen berücksichtigt, wird zuerst versucht, dasselbe Seitenverhältnis beizubehalten (wie durch
setTargetAspectRatio- odersetTargetResolution-Aufrufe bestimmt). - Eine „Nearest mod16“-Version der Auflösung wird als dasselbe Seitenverhältnis betrachtet.
Nicht blockierender Modus für ImageAnalysis
- Das Verhalten von
ImageReaderMode.ACQUIRE_LATEST_IMAGEist jetzt nicht blockierend. Es ruft das neueste Bild in der Warteschlange ab, verwirft aber kontinuierlich nicht verwendete Bilder, um eine Blockierung der Kamera-Pipeline zu vermeiden. - Der Analyzer kann ein einzelnes Bild unbegrenzt speichern, ohne die Pipeline zu blockieren.
- Wenn die Anwendung einen Executor bereitstellt, der dann blockiert, wird der ImageAnalysis-Anwendungsfall blockiert.
- Der standardmäßige Executor verhält sich intern wie ein nicht blockierender Executor.
Fehlerkorrekturen
- Probleme mit Zeitüberschreitungen beim Warten auf die 3A-Konvergenz bei der Aufnahme von Bildern auf Geräten ohne Autofokus, automatische Belichtung und automatischen Weißabgleich wurden behoben.
- Ein Problem beim schnellen Aufnehmen von Bildern mit ImageCapture wurde behoben. Fehler behoben:
java.lang.IllegalStateException: maxImages (2) has already been acquired - Ein Problem wurde behoben, bei dem
setLensFacingfür einen Anwendungsfall nicht aufgerufen wurde, was zujava.lang.IllegalArgumentException: Unable to get camera ID for use caseführte. - Es wurde ein Problem behoben, bei dem für LEGACY-Geräte ein bestimmtes Seitenverhältnis als maximale JPEG-Auflösung erforderlich war.
- Ein Problem wurde behoben, das auftrat, wenn die App in den Hintergrund verschoben wurde, während die Kamera geöffnet wurde.
- Problem bei API < 25 behoben, Fehler
checkAndUpdateEglState: invalid current EGLDisplayentfernt - Ein Problem beim Aufheben der Bindung der Vorschau nach dem Aktivieren und Starten von Erweiterungen wurde behoben.
- Build-Artefakte für „camera-view“ und „camera-extensions“ werden jetzt als Alphaversionen veröffentlicht
Camera-Camera2 und Camera-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 sind veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
API-Änderungen
- Javadoc-Erläuterung für „target“ in setTarget-Konfigurationsaufrufen hinzugefügt
Camera-Core
- Absturz bei nicht konfigurierter Eingabe-/Ausgabeoberfläche beim schnellen Öffnen/Schließen oder Binden/Aufheben der Bindung behoben
- Zu neuen Futures-Implementierungen wechseln
- Testkorrekturen für robustere Tests
- Der Core-Integrationstest zeigt jetzt die Aufnahmezeit für Fotos an
- Interne Kompatibilitätsklasse für Executors entwickelt
- Timing-Test-App wartet mit der Aufnahme von Bildern, bis die vorherige Aufnahme abgeschlossen ist, und verbesserte Stabilität
Erweiterungen
- Versionsprüfungen hinzugefügt
- Zusätzliche Testabdeckung – Callbacks für Erweiterungsereignisse
- Verbesserungen bei internen Bild- und Metadaten
- Fehlerbehebungen beim Moduswechsel in der Test-App
Camera-Camera2 und Camera-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 sind veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Diverse Fehlerkorrekturen
- Problem mit Division durch null bei Verwendung des Emulators behoben
- Es wurde ein NullPointerException-/Surface Abandoned-Fehler behoben, der auf einigen Geräten auftrat, wenn schnell Fotos aufgenommen wurden, während Anwendungsfälle schnell entbunden und neu gebunden wurden.
- Ein internes Problem wurde behoben, damit sich Aktualisierungen von Erfassungsanfragen einheitlich auf alle Oberflächen auswirken.
- Stabilitätsverbesserungen beim Neustart von Anwendungsfällen in neuen App-Instanzen
- Interne Architekturänderungen zur Vorbereitung auf die Unterstützung von Executors in der API
- Zusätzliche Javadoc-Klarstellungen zur CameraX-Klasse und zum Lebenszyklusmanagement
- Instrumentierte Tests für die Antelope-Leistungstest-App hinzugefügt
- „-keepattributes Signature“ in der Proguard-Konfiguration der App ist nicht mehr erforderlich
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 sind veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Camera-Lifecycle Version 1.0.0-beta11
14. Oktober 2020
androidx.camera:camera-lifecycle:1.0.0-beta11 ist veröffentlicht. Version 1.0.0-beta11 enthält diese Commits.
Fehlerkorrekturen
<UseCase>.getTargetRotation()gibtSurface.ROTATION_0zurück, wenn es aufgerufen wird, bevor es an eine Camera-Instanz angehängt wurde, es sei denn, für den Builder oder UseCase wurde eine targetRotation festgelegt. (I80fcd)
Camera-Lifecycle Version 1.0.0-beta10
23. September 2020
androidx.camera:camera-lifecycle:1.0.0-beta10 ist veröffentlicht. Version 1.0.0-beta10 enthält diese Commits.
Fehlerkorrekturen
- Release zur Unterstützung von Camera-Core 1.0.0-beta10
Camera-Lifecycle Version 1.0.0-beta09
16. September 2020
androidx.camera:camera-lifecycle:1.0.0-beta09 ist veröffentlicht. Version 1.0.0-beta09 enthält diese Commits.
Camera-Lifecycle Version 1.0.0-beta08
19. August 2020
androidx.camera:camera-lifecycle:1.0.0-beta08 ist veröffentlicht. 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)
Camera-Lifecycle Version 1.0.0-beta07
22. Juli 2020
androidx.camera:camera-lifecycle:1.0.0-beta07 ist veröffentlicht. Version 1.0.0-beta07 enthält diese Commits.
Camera-Lifecycle Version 1.0.0-beta06
24. Juni 2020
androidx.camera:camera-lifecycle:1.0.0-beta06 ist veröffentlicht. Version 1.0.0-beta06 enthält diese Commits.
API-Änderungen
- CameraX kann jetzt mit ProcessCameraProvider#configureInstance() konfiguriert werden, bevor ProcessCameraProvider#getInstance() aufgerufen wird. Dadurch kann CameraXConfig angepasst werden, ohne dass CameraXConfig.Provider in der Anwendungsklasse der App implementiert werden muss. (Ia1a8d)
Camera-Lifecycle Version 1.0.0-beta05
10. Juni 2020
androidx.camera:camera-lifecycle:1.0.0-beta05 ist veröffentlicht. Version 1.0.0-beta05 enthält diese Commits.
Fehlerkorrekturen
- Der Absturz beim Starten der App, wenn CameraX initialisiert wird, während sich das Smartphone im „Bitte nicht stören“-Modus befindet, wurde behoben. Ein
InitializationException, der einenCameraUnavailableExceptionenthält, wird auf denListenableFuturedes Initialisierungsergebnisses gesetzt, anstatt dass die Anwendung abstürzt. (I9909a, b/149413835)
Camera-Lifecycle Version 1.0.0-beta04
27. Mai 2020
androidx.camera:camera-lifecycle:1.0.0-beta04 ist veröffentlicht. Version 1.0.0-beta04 enthält diese Commits.
Camera-Lifecycle Version 1.0.0-beta03
15. April 2020
androidx.camera:camera-lifecycle:1.0.0-beta03 ist veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Es wurde eine Regression aus beta03 behoben, bei der das Aufrufen von
bindToLifecycle()mit nullUseCases eine Ausnahme auslöste. Dadurch wurde verhindert, dass einCameraabgerufen werden konnte, ohne einUseCasezu binden. - Fehlerbehebungen zur Unterstützung der Veröffentlichung von
camera-core
Camera-Lifecycle Version 1.0.0-beta01
26. Februar 2020
androidx.camera:camera-lifecycle:1.0.0-beta01 ist veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
Fehlerkorrekturen
- In der Dokumentation wurde korrigiert, dass beim Abrufen einer
ProcessCameraProviderwährend der Initialisierung eine Standardkonfiguration verwendet wird und dass das Erweitern vonApplicationoptional ist. (I5e395)
Camera-Lifecycle Version 1.0.0-beta02
1. April 2020
androidx.camera:camera-lifecycle:1.0.0-beta02 ist veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Aktualisiert, um die Fehlerkorrekturen in den Artefakten
camera-camera2:1.0.0-beta02undcamera-core:1.0.0-beta02zu unterstützen.
Camera-Lifecycle Version 1.0.0-alpha10
10. Februar 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10 ist veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
API-Änderungen
- Die Annotation
@MainThreadwurde den Methoden „BindToLifecycle“, „unbind“ und „unbindAll“ hinzugefügt. (I990d2)
Camera-Lifecycle Version 1.0.0-alpha03
22. Januar 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03 ist veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Updates
- Verschiedene Fehlerkorrekturen und Updates zur Unterstützung von Änderungen an Camera Core und Camera2.
Camera-Lifecycle Version 1.0.0-alpha02
18. Dezember 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02 ist veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Änderungen an Abhängigkeiten
- Aktualisiert, um
androidx.camera:camera-core:1.0.0-alpha08zu verwenden.
Camera-Lifecycle Version 1.0.0-alpha01
4. Dezember 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01 ist veröffentlicht. Version 1.0.0-alpha01 von camera-lifecycle enthält diese Commits
API-Hinweise
- Das Artifact „camera-lifecycle“ wird hinzugefügt und stellt die Schnittstelle
LifeCycleCameraProvidersowie eine Implementierung namensProcessCameraProviderbereit, die viele der Funktionen der vorherigen CameraX-Klasse in „core“ bietet und über einegetInstance()-Methode abgerufen wird. - Apps sollten die camera-lifecycle-Bibliothek enthalten, um CameraX zu verwenden.
- Informationen zur Initialisierung von CameraX mit einem
ProcessCameraProviderfinden Sie in den Hinweisen im Abschnitt camera-core.
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 sind veröffentlicht. Version 1.0.0-alpha32 enthält diese Commits.
API-Änderungen
- Unnötige
@RequiresApi(21)-Annotationen aus den inneren Klassen/Schnittstellen entfernt. (I8e286, b/204917951) - API-Dateien für das Artefakt „camera-extensions“ aktualisieren. (If683a, b/161377155)
Fehlerkorrekturen
- Der App wird nicht erlaubt, Erweiterungsmodi zu aktivieren, wenn
VideoCapturegebunden wird. CameraX-Erweiterungen unterstützen nurImageCaptureundPreview.VideoCapturewird noch nicht unterstützt. Wenn die AppVideoCapturebindet und einen Erweiterungsmodus aktiviert, wird einIllegalArgumentExceptionausgelöst. (I0d87b) CameraSelector#filterlöst keineIllegalArgumentExceptionmehr aus, wenn die Ergebnismenge leer ist. (I27804)- Die
ExtensionsManager#getInstanceAPI wurde ingetInstanceAsyncumbenannt, da sieListenableFuturezurückgibt. Das Suffix „Async“ des Funktionsnamens kann deutlich machen, dass es sich um eine asynchrone Funktion handelt. (I279d2) - Der Auflösungsparameter wurde aus der
ExtensionsManager#getEstimatedCaptureLatencyRangeAPI entfernt, da Nutzer nicht wissen können, welche Größen für den AnwendungsfallImageCaptureunterstützt werden, und nicht unterscheiden können, ob sich die zurückgegebenen Latenzinformationen auf die maximale Ausgabegröße der Aufnahme oder den Eingabeauflösungsparameter beziehen. (I74bb2) - Verschieben Sie den Parameter
CameraProviderder FunktionenExtensionsManagerin die APIgetInstance(). Damit die Nutzer den ParameterCameraProvidernicht 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 sind veröffentlicht. Version 1.0.0-alpha31 enthält diese Commits.
API-Änderungen
- Der öffentlichen API wurde „CameraSelector#filter“ hinzugefügt, um eine Liste von „CameraInfo“-Objekten anhand eines „CameraSelector“-Objekts zu filtern. (I105d0)
Fehlerkorrekturen
- Es wurde ein Problem behoben, aufgrund dessen es beim schnellen Wechseln des Erweiterungsmodus auf bestimmten Geräten zu einem Absturz kam. (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 sind veröffentlicht. Version 1.0.0-alpha30 enthält diese Commits.
API-Änderungen
- Die Annotation @RequiresApi(21) wurde allen CameraX-Klassen hinzugefügt und minSdkVersion wurde aus AndroidManifest.xml entfernt. Dadurch kann „camera-core“ einfach in Anwendungen eingebunden werden, die eine minSdkVersion unter 21 haben, aber bedingt Codepfade verwenden möchten, die auf API 21 und höher basieren. Für Anwendungen mit minSdkVersion 21 oder höher sind keine Maßnahmen erforderlich. (Ie7f2e, b/200599470)
Fehlerkorrekturen
- Das AbstractMethodError-Problem, das bei aktiviertem ProGuard auftritt, wurde behoben. (Iae468, b/201177844)
Version 1.0.0-alpha29
29. September 2021
androidx.camera:camera-extensions:1.0.0-alpha29 und androidx.camera:camera-view:1.0.0-alpha29 sind 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 Klasse „RotationReceiver“ wurde aktualisiert: „set/clear Listener“ wurde in „add/remove/removeAll“ geändert, die Variante „setListener“, die standardmäßig den Hauptthread verwendet, wurde entfernt und die Methoden wurden mit Annotationen versehen. (Ib1669)
Fehlerkorrekturen
- ExtensionMode#BEAUTY wurde in FACE_RETOUCH umbenannt, um die Funktion des Erweiterungsmodus korrekt darzustellen. (I61f54, b/198515274)
- Es wurde ein Problem behoben, bei dem die Kamera unerwartet geschlossen wurde, wenn mehrere CameraController und PreviewViews in einer Aktivität verwendet wurden. (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 sind 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 wurde refaktoriert und in RotationProvider umbenannt. Die Funktion ist weiterhin verfügbar, die API hat sich jedoch leicht geändert. (Idffc5)
- TAP_TO_FOCUS_UNSUCCESSFUL in TAP_TO_FOCUS_NOT_FOCUSED und TAP_TO_FOCUS_SUCCESSFUL in TAP_TO_FOCUS_FOCUSED umbenennen. „OutputSize“ wurde als „final“ festgelegt (I099fa)
Fehlerkorrekturen
- Die verworfenen
<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 sind veröffentlicht. Version 1.0.0-alpha27 enthält diese Commits.
API-Änderungen
- Die Viewport API ist nicht mehr experimentell. Entfernen Sie die experimentelle Annotation der API. (I717ea)
CoordinateTransform#getTransformwurde inCoordinateTransform#transformumbenannt und JavaDoc wurde aktualisiert (I864ae)
Fehlerkorrekturen
- Ein Problem mit der Streckung im
PreviewView PERFORMANCE-Modus bei Verwendung mit Compose UI wurde behoben. (Ie1137, b/183864890)
Version 1.0.0-alpha26
30. Juni 2021
androidx.camera:camera-extensions:1.0.0-alpha26 und androidx.camera:camera-view:1.0.0-alpha26 sind veröffentlicht. Version 1.0.0-alpha26 enthält diese Commits.
API-Änderungen
- Fügen Sie eine neue Methode
CameraController#getTapToFocusState()hinzu, die das neueste Ergebnis von „Zum Fokussieren tippen“ verfügbar macht. (Iaccb0) - CameraController wurden weitere Hauptfunktionen der Kamera hinzugefügt: 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 Surface-Ausrichtung empfängt. Damit kann die Zielausrichtung festgelegt werden, wenn sich das Gerät im festen Hoch- oder Querformat befindet. (Ib278f)
- Neue öffentliche APIs „getEstimatedCaptureLatencyRange“ in der Klasse „ExtensionsManager“ verfügbar gemacht. (I6a8ec)
- Eingestellter ExtensionsErrorListener. Derzeit wird diese Schnittstelle nur verwendet, um zu prüfen, ob bei der Aktivierung von Erweiterungsmodi eine Vorschau oder ImageCapture fehlt. CameraX fügt automatisch eine zusätzliche Vorschau oder ImageCapture hinzu, damit die Erweiterungsfunktionen gut funktionieren. Danach wird über diese Schnittstelle kein Fehler mehr gemeldet. (I47d9e)
- Die neuen öffentlichen APIs „ExtensionsManager getInstance“, „isExtensionAvailable“ und „getExtensionEnabledCameraSelector“ wurden verfügbar gemacht und die alten
<EffectName><UseCase>Extender-Klassen und zugehörigen APIs wurden eingestellt. (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 sind veröffentlicht. Version 1.0.0-alpha25 enthält diese Commits.
API-Änderungen
- Die ExperimentalCameraFilter APIs sind jetzt keine experimentellen APIs mehr, sondern offizielle APIs. Sie können ohne OptIn-Anmerkung verwendet werden. (I4bc94)
- Fügen Sie ein Dienstprogramm hinzu, mit dem Koordinaten zwischen Anwendungsfällen transformiert werden. Beispiel für die Verwendung: Die im Anwendungsfall „ImageAnalysis“ erkannten Koordinaten werden transformiert und das erkannte Objekt wird in der Vorschau hervorgehoben. (I63ab1, b/137515129)
CameraViewwurde entfernt.CameraViewwurde durchCameraControllerersetzt. Informationen zur Migration finden Sie in der Migrationsanleitung. (Id5005)
Fehlerkorrekturen
ExperimentalUseCaseGroupLifecyclewurde durchExperimentalUseCaseGroupersetzt. (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 sind veröffentlicht. Version 1.0.0-alpha24 enthält diese Commits.
Fehlerkorrekturen
- Die Annotation
@Experimentalwurde bei experimentellen APIs durch@RequiresOptInersetzt. Verwenden Sie zum Aufrufen experimenteller APIsandroidx.annotation.OptInanstelle des verworfenenandroidx.annotation.experimental.UseExperimental. (Iff226) - Das Problem mit der gestreckten PreviewView auf dem Samsung J5 Prime wurde behoben (Ib10b6).
Kameraerweiterungen und Ansicht, Version 1.0.0-alpha23
24. März 2021
androidx.camera:camera-extensions:1.0.0-alpha23 und androidx.camera:camera-view:1.0.0-alpha23 sind veröffentlicht. Version 1.0.0-alpha23 enthält diese Commits.
API-Änderungen
- CameraView wird eingestellt. Bitte verwenden Sie stattdessen die Richtlinie
LifecycleCameraController. Weitere Informationen finden Sie in der Migrationsanleitung (Idac2c). - „FloatRange“-Annotation zu „setLinearZoom()“ hinzugefügt (I69971)
Fehlerkorrekturen
- Abhängigkeiten der Kameraansicht wurden angepinnt, um auf 1.0.0-Artefakte zurückzugreifen. Die Abhängigkeit von „camera-view“ führt nicht mehr dazu, dass die Abhängigkeitsauflösung von Gradle „camera-core“, „camera-camera2“ und „camera-lifecycle“ automatisch auf die neuesten 1.1.0-Artefakte aktualisiert, obwohl „camera-view“ weiterhin mit diesen Artefakten kompatibel ist, wenn sie explizit auf 1.1.0 festgelegt sind. (Ic8fa1, b/181599852)
- Die gestreckte Vorschau auf dem Samsung A3 in PreviewView wurde korrigiert. (Iacb30, b/180121821)
- Es wurde ein Problem behoben, bei dem die Kameraauswahl nicht festgelegt werden konnte, bevor die Kamera initialisiert wurde. (Ic8bd0)
Kameraerweiterungen und -ansicht, 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 sind veröffentlicht. Version 1.0.0-alpha22 enthält diese Commits.
API-Änderungen
- Fügen Sie „CameraController“ einen „CameraInfo“-Getter hinzu. (Ib8138, b/178251727)
Fehlerkorrekturen
- „ExtensionsErrorListener“ wurde korrigiert, sodass Fehler gemeldet werden, wenn nur „Preview“ oder „ImageCapture“ gebunden ist. (I5ae39)
Kameraerweiterungen und Ansicht, Version 1.0.0-alpha21
27. Januar 2021
androidx.camera:camera-extensions:1.0.0-alpha21 und androidx.camera:camera-view:1.0.0-alpha21 sind veröffentlicht. Version 1.0.0-alpha21 enthält diese Commits.
Veröffentlichung zur Unterstützung anderer Kamera-Bibliotheksartefakte.
Kameraerweiterungen und Ansicht, Version 1.0.0-alpha20
16. Dezember 2020
androidx.camera:camera-extensions:1.0.0-alpha20 und androidx.camera:camera-view:1.0.0-alpha20 sind veröffentlicht. Version 1.0.0-alpha20 enthält diese Commits.
Veröffentlichung zur Unterstützung anderer Kamera-Bibliotheksartefakte.
Camera-Extensions und Camera-View Version 1.0.0-alpha19
11. November 2020
androidx.camera:camera-extensions:1.0.0-alpha19 und androidx.camera:camera-view:1.0.0-alpha19 sind veröffentlicht. Version 1.0.0-alpha19 enthält diese Commits.
Fehlerkorrekturen
- Die Anmerkung „
@ExperimentalVideo“ wurde in der Kameraansicht eingeführt. Diese Annotation kennzeichnet APIs, die experimentelle Videofunktionen bereitstellen, die sich im Zuge der vollständigen Entwicklung der Funktionen ändern können. Jede Methode, die diese APIs verwendet, sollte die Annotation@UseExperimentalmitExperimentalVideoalsmarkerClassverwenden. (I6d729)
Camera-Extensions Version 1.0.0-alpha18
14. Oktober 2020
androidx.camera:camera-extensions:1.0.0-alpha18 ist veröffentlicht. Version 1.0.0-alpha18 enthält diese Commits.
Fehlerkorrekturen
- Die Latenz der CameraX-Initialisierung und von „bindToLifecycle“ wurde verbessert (I61dc5).
<UseCase>.getTargetRotation()gibtSurface.ROTATION_0zurück, wenn es aufgerufen wird, bevor es an eine Camera-Instanz angehängt wurde, es sei denn, für den Builder oder UseCase wurde eine targetRotation festgelegt. (I80fcd)
Camera-View Version 1.0.0-alpha18
14. Oktober 2020
androidx.camera:camera-view:1.0.0-alpha18 ist veröffentlicht. Version 1.0.0-alpha18 enthält diese Commits.
Veröffentlichung zur Unterstützung anderer Kamera-Bibliotheksartefakte.
Camera-Extensions Version 1.0.0-alpha17
23. September 2020
androidx.camera:camera-extensions:1.0.0-alpha17 ist veröffentlicht. Version 1.0.0-alpha17 enthält diese Commits.
Fehlerkorrekturen
- Release zur Unterstützung von Camera-Core 1.0.0-beta10
Camera-View Version 1.0.0-alpha17
23. September 2020
androidx.camera:camera-view:1.0.0-alpha17 ist veröffentlicht. Version 1.0.0-alpha17 enthält diese Commits.
Fehlerkorrekturen
- Release zur Unterstützung von Camera-Core 1.0.0-beta10
Kameraerweiterungen Version 1.0.0-alpha16
16. September 2020
androidx.camera:camera-extensions:1.0.0-alpha16 ist veröffentlicht. Version 1.0.0-alpha16 enthält diese Commits.
Fehlerkorrekturen
- In
ExtensionsManagerwurde eine Methode hinzugefügt, um einExtensions-Objekt abzurufen, mit dem Erweiterungen für 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 ist veröffentlicht. Version 1.0.0-alpha16 enthält diese Commits.
API-Änderungen
PreviewView#setDeviceRotationForRemoteDisplayMode()undPreviewView#getDeviceRotationForRemoteDisplayMode()wurden entfernt. Die beiden Methoden dienen zum Anpassen der Vorschauausrichtung, wenn die gewünschte Ausrichtung nicht der Displayausrichtung entspricht, z.B. bei einem Remote-Display. Wenn du die Drehung der Vorschau ohne Display jetzt verarbeiten möchtest, lege die gewünschte Drehung 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 erfordert. (I0c3cc)
- Beliebige Zielrotation für die Vorschau zulassen. Die Transformationsinformationen werden berechnet und über einen neuen
TranformationInfoListener-Callback sofort an den Nutzer zurückgegeben. (I21470)
Bekannte Probleme
- In PreviewView wird
OnClickListener#onClick()nicht aufgerufen, wenn der Endnutzer auf PreviewView klickt. Das Touch-Event wird fälschlicherweise von PreviewView#onTouchEvent() verarbeitet. Das Problem wird in der nächsten Version behoben. - Der von
PreviewView#getMeteringPointFactory()abgerufene MeteringPoint ist möglicherweise falsch, wenn ViewPort mit PreviewView verwendet wird.
Camera-Extensions Version 1.0.0-alpha15
19. August 2020
androidx.camera:camera-extensions:1.0.0-alpha15 ist veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.
Fehlerkorrekturen
- Die Methode
ExtensionsManager.init()verwendet 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 ist veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.
Fehlerkorrekturen
DisplayOrientedMeteringPointFactoryakzeptiert eineCameraInfo-Instanz anstelle einerCameraSelector-Instanz. Dadurch wird direkt zugeordnet, für welche Kamera die Factory Punkte generiert. Alle Klassen, dieDisplayOrientedMeteringPointFactoryverwenden, akzeptieren auch eineCameraInfo-Instanz anstelle vonCameraSelector. (I400c1)TextureViewMeteringPointFactorywurde entfernt.PreviewViewbietet eine öffentliche API (createMeteringPointFactory()) zum Erstellen einer Messpunkt-Factory, unabhängig davon, ob einTextureViewoder einSurfaceViewverwendet wird. (Ide693)- Die Implementierungsmodi
SURFACE_VIEW/TEXTURE_VIEWvon PreviewView wurden inPERFORMANCE/COMPATIBLEumbenannt.PERFORMANCEist der alteSURFACE_VIEW-Modus undCOMPATIBLEist der alteTEXTURE_VIEW-Modus. (I0edc2) - Bei der Bilderfassung wird das Flag „Horizontal spiegeln“ in den Metadaten basierend auf der Kamerarichtung überschrieben. (I28499)
Camera-Extensions Version 1.0.0-alpha14
22. Juli 2020
androidx.camera:camera-extensions:1.0.0-alpha14 ist veröffentlicht. Version 1.0.0-alpha14 enthält diese Commits.
Camera-View Version 1.0.0-alpha14
22. Juli 2020
androidx.camera:camera-view:1.0.0-alpha14 ist veröffentlicht. Version 1.0.0-alpha14 enthält diese Commits.
Camera-Extensions Version 1.0.0-alpha13
24. Juni 2020
androidx.camera:camera-extensions:1.0.0-alpha13 ist veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.
Fehlerkorrekturen
- Experimentelle Schnittstellen 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 ist veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.
Fehlerkorrekturen
- CameraView stürzt nicht mehr mit einer IllegalArgumentException ab, wenn eine Bindung an einen LifecycleOwner erfolgt, dessen Lifecycle kurz nach der Bindung in den Status DESTROYED wechselt. Wenn der Lebenszyklus im Status „DESTROYED“ gebunden wird, wird nicht versucht, die Kamera zu öffnen. (I7c2b8)
- PreviewView StreamState ist jetzt über CameraView.getPreviewStreamState() verfügbar (I21a2b)
Camera-Extensions Version 1.0.0-alpha12
10. Juni 2020
androidx.camera:camera-extensions:1.0.0-alpha12 ist veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
Fehlerkorrekturen
- Der Absturz beim Starten der App, wenn CameraX initialisiert wird, während sich das Smartphone im „Bitte nicht stören“-Modus befindet, wurde behoben. Ein
InitializationException, der einenCameraUnavailableExceptionenthält, wird auf denListenableFuturedes Initialisierungsergebnisses gesetzt, anstatt dass die Anwendung abstürzt. (I9909a, b/149413835)
Camera-View Version 1.0.0-alpha12
10. Juni 2020
androidx.camera:camera-view:1.0.0-alpha12 ist veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
Fehlerkorrekturen
- Die
PreviewView#getBitmap()-API wurde hinzugefügt, die eine Bitmap-Darstellung des auf der Vorschauoberfläche angezeigten Inhalts zurückgibt. (I9b500, b/157659818)
Camera-Extensions Version 1.0.0-alpha11
27. Mai 2020
androidx.camera:camera-extensions:1.0.0-alpha11 ist veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
Camera-View Version 1.0.0-alpha12
10. Juni 2020
androidx.camera:camera-view:1.0.0-alpha12 ist veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
Neue Funktionen
API-Änderungen
Fehlerkorrekturen
- Die
PreviewView#getBitmap()-API wurde hinzugefügt, 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 ist veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- Die
PreviewView#getPreviewStreamStateAPI wurde hinzugefügt, mit der Apps beobachten können, ob die Vorschau gestreamt wird oder nicht. Wenn sich die PreviewView im TEXTURE_VIEW-Modus befindet, ist das Vorschaubild im STREAMING-Status ebenfalls sichtbar. (Ic0906, b/154652477) - Die
PreviewView#setDeviceRotationForRemoteDisplayMode()API wurde hinzugefügt, um die Geräterotation für Transformationsberechnungen bereitzustellen, wenn die Anwendung im Remote-Anzeigemodus ausgeführt wird. (I59b95, b/153514525)
Fehlerkorrekturen
- Das Problem mit der verzerrten Vorschau bei
FULL/LIMITED/LEVEL_3-Kameras mit Android 7.0 und niedriger wurde behoben. Erzwungene Verwendung desImplementationMode#TEXTURE_VIEW-Modus, wenn die Android-Version 7.0 oder niedriger ist. (I83e30, b/155085307) - Der Parameter
CameraInfowurde ausPreviewView#createSurfaceProvider()entfernt.PreviewViewruft ihn jetzt intern ausSurfaceRequestab. (If18f0, b/154652477) - Das Standardseitenverhältnis von VideoCapture wurde in CameraView auf 16:9 festgelegt. (Ie6a7b, b/153237864)
- Problem behoben, bei dem auf dem
PreviewViewein schwarzer Bildschirm angezeigt wurde, wenn das FragmentPreviewweggewischt und dann in ViewPager2 wieder zurückgewischt wurde. Außerdem wurde das Problem behoben, das auftrat, wennremoveView(previewview)und dannaddView(previewView). (Iab555, b/149877652, b/147354615) - Aktualisieren Sie die
CameraView#takePicture()API, um das Speichern von Bildern inUriundOutputStreamzu ermöglichen. Aktualisieren Sie die Test-App, umUrials kanonisches Beispiel zu verwenden. (Ia2459, b/153607583) - Sie können den Skalierungstyp von PreviewView in einem XML-Layout festlegen, indem Sie das Attribut
ScaleTypefestlegen. (I08565, b/153015659) CameraView.ScaleTypewurde entfernt. Verwenden Sie stattdessenPreviewView.ScaleType, um einen Skalierungstyp mit CameraView festzulegen oder abzurufen. (Ia8974, b/153014831)- Weisen Sie
PreviewViewstandardmäßig eine Hintergrundfarbe zu, falls noch keine vorhanden ist. Dadurch wird verhindert, dass Inhalte dahinter sichtbar sind, bevor der Vorschaustream beginnt. (I09fad)
Camera-Extensions Version 1.0.0-alpha10
15. April 2020
androidx.camera:camera-extensions:1.0.0-alpha10 ist veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
Fehlerkorrekturen
- Fehlerbehebungen 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 ist veröffentlicht. Version 1.0.0-alpha010 enthält diese Commits.
Fehlerkorrekturen
- Behebt ein bekanntes Problem, bei dem die SurfaceView-Implementierung von
PreviewViewauf bestimmten Geräten nicht richtig funktionierte und die App nach dem Fortsetzen der Vorschau abstürzte. (I5ed6b)
Camera-Extensions Version 1.0.0-alpha09
1. April 2020
androidx.camera:camera-extensions:1.0.0-alpha09 ist veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
Fehlerkorrekturen
- Aktualisiert, um die Fehlerkorrekturen in den Artefakten
camera-camera2:1.0.0-beta02,camera-core:1.0.0-beta02undcamera-lifecycle:1.0.0-beta02zu unterstützen
Camera-View Version 1.0.0-alpha09
1. April 2020
androidx.camera:camera-view:1.0.0-alpha09 wurde veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
Bekannte Probleme
- Die Verwendung von
ImplementationMode.SURFACE_VIEWmitPreviewViewfunktioniert auf bestimmten Geräten möglicherweise nicht gut. Das liegt daran, dass die für die Vorschau verwendeteSurfaceViewihre 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 derSurfaceViewwieder gültig ist. Verwenden Sie vorerstImplementationMode.TEXTURE_VIEW.
API-Änderungen
PreviewView.setImplementationMode()wurde inPreviewView.setPreferredImplementationMode()umbenannt.PreviewView.getImplementationMode()wurde inPreviewView.getPreferredImplementationMode()umbenannt.PreviewView.getSurfaceProvider()wurde durchPreviewView.createSurfaceProvider(CameraInfo)ersetzt. Hier wird eine nullableCameraInfo-Instanz verwendet, um die Vorschau nach Möglichkeit mitImplementationMode.SURFACE_VIEWzu optimieren. Wenn eine Null-Instanz übergeben wird oder Sie den bevorzugten Implementierungsmodus aufImplementationMode.TEXTURE_VIEWfestlegen, wird internImplementationMode.TEXTURE_VIEWverwendet.Das folgende Codebeispiel zeigt, wie ein Vorschau-Anwendungsfall bisher mit PreviewView verwendet wurde.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)Derzeit können Sie Folgendes schreiben:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))Die Annotation
@UiThreadwurde zuPreviewView.getSurfaceProvider()hinzugefügt. Das bedeutet, dass sie aus dem Hauptthread aufgerufen werden muss. (I192f3)PreviewView.setScaleType()wurde hinzugefügt, um den Skalierungstyp der Vorschau festzulegen. Es wird einer der Werte inPreviewView.ScaleTypeakzeptiert. Der Standardwert istPreviewView.ScaleType.FILL_CENTER.PreviewView.getScaleType()wurde hinzugefügt.Die Unterstützung für das Festlegen des Implementierungsmodus für
PreviewViewin einem XML-Layout mit dem AttributimplementationModewurde entfernt.createMeteringPointFactory()-API zu PreviewView hinzugefügt, um die Konvertierung von (x, y) inPreviewViewinMeteringPointzu unterstützen. (Ib36d7)
Fehlerkorrekturen
- Es wurden Fälle behoben, in denen nach einer Größenänderung von
PreviewVieweine falsche Vorschau angezeigt wurde. (I71101)
Kamera-Erweiterungen Version 1.0.0-alpha08
26. Februar 2020
androidx.camera:camera-extensions:1.0.0-alpha08 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Camera-View Version 1.0.0-alpha08
26. Februar 2020
androidx.camera:camera-view:1.0.0-alpha08 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Fehlerkorrekturen
ListenableFutureaufSurfaceRequest.provideSurface()wurde durchExecutorundCallbackersetzt. Dadurch wird die API vereinfacht, da keine Ausnahmen mehr fürprovideSurface()verarbeitet werden müssen. Außerdem wird erzwungen, dass derprovideSurface()-Callback nicht abgebrochen werden kann. So sollen Abstürze auf älteren Geräten verhindert werden, die durch vorzeitiges Freigeben von Oberflächen verursacht werden. DasSurfaceRequest.Result-Objekt wird jetzt verwendet, um zu verfolgen, wie einSurfaceRequestdie bereitgestellteSurfaceverwendet. (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 Standard-
CameraXConfig-Anbieter festgelegt wird. (I2d6c1)
Camera-Extensions Version 1.0.0-alpha07
10. Februar 2020
androidx.camera:camera-extensions:1.0.0-alpha07 ist veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
Fehlerkorrekturen
- Die Argumente, die zuvor in
ImageCapture.OnImageSavedCallback.onError()undImageCapture.OnImageCapturedCallback.onError()übergeben wurden, wurden jetzt durch ein einzelnes ArgumentImageCaptureExceptionersetzt, das weiterhin alle zuvor übergebenen Informationen enthält. - Das zuvor in
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 ist veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
API-Änderungen
- Bei der Implementierung von
TextureViewinPreviewViewwird die Größe vonTextureViewjetzt auf die Ausgabegröße des Kamerasensors festgelegt, bevor sie so skaliert wird, dass sie das übergeordnetePreviewViewausfüllt. Wenn die Kameravorschau einen ganzen Teil der Benutzeroberfläche ausfüllen soll (z. B. den gesamten Bildschirm), sollten Sie die Größe desPreviewViewnicht auf einen festen Wert festlegen oder den Inhalt umschließen lassen (z. B. mit dem Attribut „wrap_content“). Dies kann dazu führen, dass die Kameravorschau nur einen Teil desPreviewViewausfüllt (wenn die Ausgabegröße des Kamerasensors kleiner ist). Stattdessen sollten Sie diePreviewViewso groß wie das übergeordnete Element festlegen (z. B. mit dem Attribut „match_parent“). (1204869)
Fehlerkorrekturen
ImageCapturewurde aktualisiert, damit Bilder inUriundOutputStreamgespeichert werden können. Kombinierte überlastetetakePicture-Methoden in einer Methode. Die Test-App wurde aktualisiert, umUrials kanonisches Beispiel zu verwenden. (Ia3bec)- „
Preview.PreviewSurfaceProvider“ wurde in „Preview.SurfaceProvider“ umbenannt. FürSurfaceProviders müssen Entwickler keine eigenenListenableFutures mehr erstellen. Die Bereitstellung einesSurfaceerfolgt jetzt über ein neuesSurfaceRequest-Objekt. Die MethodePreview.getPreviewSurfaceProvider()wurde entfernt, da sie missbraucht werden kann, wennPreviewmit anderen Klassen wiePreviewViewkombiniert wird. (I20105) - Die Argumente, die zuvor in
ImageCapture.OnImageSavedCallback.onError()undImageCapture.OnImageCapturedCallback.onError()übergeben wurden, wurden jetzt durch ein einzelnes ArgumentImageCaptureExceptionersetzt, das weiterhin alle zuvor übergebenen Informationen enthält. - Das zuvor in
ImageCapture.OnImageSavedCallback.onImageSaved()übergebene Dateiargument wurde entfernt. (I750d2) - Die API wurde aktualisiert. Die Methoden
getZoomRatio(),getMaxZoomRatio(),getMinZoomRatio()undgetLinearZoom()vonCameraInfowurden ingetZoomState()zusammengeführt, wodurch eineZoomState-Instanz zurückgegeben wird. (Ib19fe)
Camera-Extensions Version 1.0.0-alpha06
22. Januar 2020
androidx.camera:camera-extensions:1.0.0-alpha06 ist veröffentlicht. 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 ist veröffentlicht. 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-Extensions Version 1.0.0-alpha05
18. Dezember 2019
androidx.camera:camera-extensions:1.0.0-alpha05 ist veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Fehlerkorrekturen
- Aktualisiert, um den internen Camera Core APIs zu entsprechen.
Camera-View Version 1.0.0-alpha05
18. Dezember 2019
androidx.camera:camera-view:1.0.0-alpha05 ist veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Bekannte Probleme
- Das Seitenverhältnis ist bei Verwendung von PreviewView möglicherweise falsch (b/146215202).
Neue Funktionen
- Es wurde eine neue Klasse namens
PreviewView.TextureViewImplementationimplementiert, die den Lebenszyklus der SurfaceTexture mit der Nutzung der TextureView-Oberfläche durch die Kamera synchronisiert.
Kameraerweiterungen Version 1.0.0-alpha04
4. Dezember 2019
androidx.camera:camera-extensions:1.0.0-alpha04 ist veröffentlicht. Version 1.0.0-alpha04 von camera-extensions enthält diese Commits.
API-Änderungen
Für die Prüfung der Verfügbarkeit und Aktivierung einer Erweiterung wird jetzt ein
CameraSelectorals Eingabeparameter verwendet. Dies muss derselbeCameraSelectorsein, der für die Bindung 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 ist veröffentlicht. Version 1.0.0-alpha04 von camera-view enthält diese Commits.
API-Änderungen
- Eine
PreviewView-Klasse wird bereitgestellt, um die Ausgabe des Vorschau-Anwendungsfalls in einer Anwendung einfach anzuzeigen. PreviewViewkann im Layout enthalten sein:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />PreviewViewbietet einePreviewSurfaceProvider, mit der Sie einen Anwendungsfall in der Vorabversion ganz einfach verbinden können.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)„
ZoomLevel“ heißt jetzt „ZoomRatio“ in der API-BenennungBei einigen Methodenparametern hat sich die Null-Zulässigkeit geändert
Camera-Extensions und Camera-View Version 1.0.0-alpha03
9. Oktober 2019
androidx.camera:camera-extensions:1.0.0-alpha03 und androidx.camera:camera-view:1.0.0-alpha03 sind veröffentlicht. Dies sind die Commits in camera-extensions:1.0.0-alpha03 und dies die Commits in camera-view:1.0.0-alpha03.
Neue Funktionen
- Kontextinitialisierer für Erweiterungen hinzugefügt. Erweiterungsversion auf 1.1.0 erhöht
Camera-Extensions und Camera-View Version 1.0.0-alpha02
5. September 2019
androidx.camera:camera-extensions:1.0.0-alpha02 und androidx.camera:camera-view:1.0.0-alpha02 sind veröffentlicht. Dies sind die Commits, die in camera-extensions:1.0.0-alpha02 enthalten sind, und dies sind die Commits, die in camera-view:1.0.0-alpha02 enthalten sind.
- Es wurden Tests hinzugefügt, um zu prüfen, ob
PreviewImageProcessorImplZeitstempel korrekt implementiert hat. - Beheben Sie den Testfehler „
ExtensionTest“ auf dem Nexus 5 (API-Level 21) und sorgen Sie dafür, dass die Vorschau verfügbar ist.
Camera-Extensions und Camera-View Version 1.0.0-alpha01
7. August 2019
androidx.camera:camera-extensions:1.0.0-alpha01 und androidx.camera:camera-view:1.0.0-alpha01 sind veröffentlicht.
Dies sind die Commits, die in camera-extensions:1.0.0-alpha01 enthalten sind, und dies sind die Commits, die in camera-view:1.0.0-alpha01 enthalten sind.
- Neue Bibliothek für zukünftige Kameraerweiterungen, um auf unterstützten Geräten auf Effekte zuzugreifen. Diese Bibliothek ist noch in der Entwicklung.
- Neue Klasse „Camera View“. Diese Bibliothek ist noch in der Entwicklung.