CameraX
Bu tabloda, androidx.camera grubundaki tüm yapılar listelenir.
| Yapı | Kararlı sürüm | Sürüm Adayı | Beta Sürümü | Alfa sürümü |
|---|---|---|---|---|
| camera-camera2 | 1.5.1 | - | - | 1.6.0-alpha01 |
| kamera çekirdekli | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-compose | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-effects | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-extensions | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
| camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
| camera-lifecycle | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-mlkit-vision | 1.5.1 | - | - | 1.6.0-alpha01 |
| kamera görünümü | 1.5.1 | - | - | 1.6.0-alpha01 |
| kamera vizörü | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
| camera-video | 1.5.1 | - | - | 1.6.0-alpha01 |
Cihaz testi
CameraX, laboratuvarımızda birçok cihazda test edilir. Şu anda laboratuvarda bulunan cihazların listesini görmek için CameraX laboratuvarında test edilen cihazlar sayfasına bakın.
Bağımlılıkları bildirme
CameraX'e bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.6.0-alpha01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.6.0-alpha01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Kamera Vizörü Kompozisyonu 1.0 Sürümü
Sürüm 1.0.0-alpha02
12 Haziran 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 iptal edilir. 1.0.0-alpha02 sürümü bu commit'leri içerir.
Sürüm 1.0.0-alpha01
14 Mayıs 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 iptal edilir. 1.0.0-alpha01 sürümü bu commit'leri içerir.
Yeni Özellikler
- Yeni kitaplık. Bu kitaplık, CameraX ve Camera2 ile kullanılabilen, Compose'a özgü bir Viewfinder composable'ı sunar. Composable Viewfinder, farklı en-boy oranlarını ve dokunma etkinliklerinin işlenmesini destekler.
Kamera Vizörü Sürüm 1.4
Sürüm 1.4.0-alpha07
12 Haziran 2024
androidx.camera:camera-viewfinder:1.4.0-alpha07 ve androidx.camera:camera-viewfinder-core:1.4.0-alpha07 yayınlandı. 1.4.0-alpha07 sürümü bu commit'leri içerir.
Sürüm 1.4.0-alpha06
14 Mayıs 2024
androidx.camera:camera-viewfinder:1.4.0-alpha06 ve androidx.camera:camera-viewfinder-core:1.4.0-alpha06 yayınlandı. 1.4.0-alpha06 sürümü bu commit'leri içerir.
API Değişiklikleri
Viewfinder'nınImplementationModeEnums'larını, temel uygulamaları daha iyi yansıtacak şekilde yeniden adlandırın veTransformationInfo.sourceRotationiçin sabit sabitler ekleyin. (Ic6149)- Yakınlaştırma hareketinin durumlarını kapsayan
ZoomGestureDetector.ZoomEventeklendi. (I84cdf)
Kamera sürümü 1.6
Sürüm 1.6.0-alpha01
22 Ekim 2025
androidx.camera:camera-*:1.6.0-alpha01 iptal edilir. 1.6.0-alpha01 sürümü bu commit'leri içerir.
Yeni Özellikler
- CameraX, Pixel kamera uygulaması tarafından da kullanılan birleşik ve yüksek performanslı kamera yığınına taşındı.
CameraPipeolarak bilinen bu yeni yığın, CameraX ve Pixel Kamera ekiplerinin ortak çalışmasıyla oluşturuldu. Tüm iyileştirmelerin paylaşılmasını sağlayarak hem CameraX kullanıcılarına hem de Pixel kamera uygulamasına fayda sağlar.
API Değişiklikleri
- Dinamik kamera ekleme/kaldırma algılama için yeni API'ler eklendi. Daha fazla bilgi için
CameraPresenceListenerAPI'ye bakın. (I41ead, b/427182232, b/419441394)
Hata Düzeltmeleri
- Özellik grubu API'si artık
PREVIEW_STABILIZATION,VideoCaptureile kullanıldığında tutarlı sonuçlar veriyor. Bu düzeltme,Previewkullanım alanı da etkin olmadığında tutarsız sonuçlara neden olan bir hatayı düzeltir. (Ifed82, b/449913903) - Desteklenmeyen tercih edilen özelliklerin yanlışlıkla kullanıma sunulmasına neden olan sorun düzeltildi. Özellikler, gerekli kullanım alanları karşılanmadığında artık doğru şekilde filtreleniyor. (I38db8, b/449532342)
- Samsung Galaxy S6'daki hatalı video sonucu düzeltildi. (I612d9, b/235127608)
- Sorgudaki
SessionConfigzaten diğer özelliklerle yapılandırılmışsaCameraInfo#isFeatureGroupSupportedişlevininPREVIEW_STABILIZATIONiçin yanlışlıkla doğru değerini döndürmesine neden olan sorun düzeltildi. (I2c355c, b/437816469)
Kamera Sürümü 1.5
Sürüm 1.5.1
8 Ekim 2025
androidx.camera:camera-*:1.5.1 iptal edilir. 1.5.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Eşzamanlı kamera kompozisyonu modunda
CameraEffectdesteği. Efekt, kompozisyon çıkışına uygulanır. Efekt, eşzamanlı kamera kompozisyonu modunda ayarlandığındaVideoCaptureiçindekimirrorModeöğesinin yoksayılacağını lütfen unutmayın. (If3d00, b/425565129) - Eşzamanlı kamera kompozisyonu modunda
mirrorModesimgesinin ikincil kameraya doğru şekilde uygulanmaması sorunu düzeltildi. (I686cd, b/446430827) - Eşzamanlı kamera kompozisyon dışı modunda
Preview,ImageCaptureveVideoCapture'nin birlikte bağlanmasını destekler. (Ib410a, b/443009871) ImageCaptureveVideoCapturegibi kullanım alanlarının yeniden oluşturulması durumunda hedef döndürme bilgilerini kaybetmesine neden olan sorun düzeltildi. Cihaz döndürüldükten sonraimageCaptureModegibi bir ayar değiştirilirse bu durum, resimlerin veya videoların yanlış yönde olmasına neden olabilir. (I477c8, b/444734537)- Önizleme'nin 16:9 çözünürlükleri seçmesini ve
VideoCapture'nın QUALITY_1080P'de kayıt yapmasını engelleyen sorun düzeltildi. Bu sorun, dahiliStreamSharingözelliği etkinken varsayılan bir önizleme çözünürlüğü yapılandırması kullanılırken (ör. dört UseCase aynı anda bağlandığında) meydana geldi. (I493cb, b/440364875) SurfaceProcessorkapatıldıktan sonra efekt etkinleştirilirken yaşanan kilitlenme sorunu düzeltildi (I2c450, b/414150174)CameraController'da, ilk UseCase maksimum çözünürlüğü seçtiğindeIllegalStateException'a neden olan ve ardından diğer UseCase'lerin bağlanmasını engelleyen bir hata düzeltildi. (Ifb758, b/440374234)- Nokia 7 Plus'ta, hata mesajı bildirilmeden sessizce başarısızlık sorununa neden olan sorunlu YUV_420_888 çıkış boyutları hariç tutulur. (I3af47, b/436524501)
CameraInfo#isFeatureGroupSupportedişlevininPREVIEW_STABILIZATIONözelliği için yanlışlıkla doğru değerini döndürmesine neden olan sorun düzeltildi. Bu durum bazen, diğer özelliklerle yapılandırılmış birSessionConfigile sorgu oluşturulurken meydana gelebilir. (I2c355, b/437816469)- Bu gibi senaryolarda varsayılan olarak
TextureViewkullanılarak eski API düzeylerinde veSurfaceViewsorunları olan cihazlardaCameraXViewfinderkararlılığı iyileştirildi. Bu yedek mekanizma yeni varsayılandır ancak programatik olarak geçersiz kılınabilir. (Ieb476, b/437496463) PreviewViewiçinde, Etkinliğinin çöp toplama işlemine tabi tutulmasını engelleyebilecek bir bellek sızıntısı düzeltildi. Bu durum, öncekiSurfaceRequestişlenmeden yeni birSurfaceRequestgelirse ortaya çıkar. (I4aa0b,b/443112512)- Huawei P Smart, Infinix Hot 40i ve Realme C53'te yüksek hızlı/ağır çekim kaydın başarısız olmasına neden olan sorun düzeltildi. (40a668e, b/442984200)
Sürüm 1.5.0
10 Eylül 2025
androidx.camera:camera-*:1.5.0 iptal edilir. 1.5.0 sürümü bu commit'leri içerir.
1.4.0 sürümünden beri yapılan önemli değişiklikler:
- Yüksek Hızlı ve Ağır Çekim Kayıt: Yüksek hızlı (120/240 fps) ve ağır çekim video kaydını minimum düzeyde kodla kolayca entegre edin. Ayrıntılar için
Recorder#getHighSpeedVideoCapabilities(CameraInfo)veHighSpeedVideoSessionConfigsayfalarına bakın. SessionConfigveFeatureGroupAPI'si: YeniSessionConfigAPI'si, kamera oturumunu yapılandırmanıza ve HLG (HDR), Ultra HDR, 60 FPS ve önizleme sabitleme gibi birden fazla özelliği güvenli bir şekilde birlikte etkinleştirmenize olanak tanır. Ayrıca, öncelikli bir tercih edilen özellik grubu da ayarlayabilirsiniz. Bu sayede CameraX, desteklenen en uygun kombinasyonu belirleyebilir. Daha fazla bilgi içinSessionConfig.Builder#setPreferredFeatureGroup,SessionConfig.Builder#setRequiredFeatureGroupveCameraInfo#isFeatureGroupSupported(SessionConfig)sayfalarını inceleyin.- Belirleyici Kare Hızı API'si:
setTargetFrameRateile ilgili önceki sınırlamaları, sorgu içinCameraInfo.getSupportedFrameRateRanges(sessionConfig), kesin ve desteklenen kare hızlarını ayarlamak içinSessionConfig.setExpectedFrameRateRangekullanarak giderin. - Kamera Uzantıları: UltraHDR biçimi artık Uzantılar ile destekleniyor.
ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats()seçeneğini işaretleyin veImageCapture.Builder.setOutputFormatbölümünde etkinleştirin. Uzantılar etkinleştirildiğinde yakınlaştırma oranı ve önizleme sabitleme özellikleri artık yansıtılıyor. - El Feneri Gücü:
CameraControl.setTorchStrengthLevelsimgesini kullanarak el feneri gücünü ayarlayın. - Low Light Boost Modu: Low Light Boost Modu'nu(
CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) aşağıdaki API'lerle etkinleştirebilirsiniz:CameraInfo#isLowLightBoostSupported,CameraInfo#getLowLightBoostStateveCameraControl#enableLowLightBoostAsync'e bakın. - Video Yakalama: Kayıt sırasında depolama alanı yetersiz olduğunda artık
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEtetikleniyor.PendingRecording.withAudioEnabled(boolean initialMuted), ses kaydının ilk sessiz durumunu kontrol etmenizi sağlar. - Görüntü Yakalama:
ImageCaptureuygulamasında DNG (RAW) ve JPEG + DNG (RAW) biçimleri için destek. RAW desteği içinImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats()adresini kontrol edin. RAW+DNG yakalama için birden fazlaOutputFileOptionsile aşırı yüklenmiştakePictureAPI'leri kullanın. - Resim Analizi:
ImageAnalysis'da NV21 biçimi için destek.ImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21)ile etkinleştirin.
Sürüm 1.5.0-rc01
13 Ağustos 2025
androidx.camera:camera-*:1.5.0-rc01 iptal edilir. 1.5.0-rc01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Varsayılan minSdk'nın API 21'den API 23'e taşınması (Ibdfca, b/380448311, b/435705964, b/435705223)
- Zayıf ışıkta pozlamayı otomatik olarak artırma modunda 10 bit çıkış kısıtlaması kaldırıldı. Uygulamalar artık desteklenen cihazlarda her iki özelliği de aynı anda etkinleştirebilir. (I5a638)
UniSocyonga setine sahip cihazlarda görüntü yakalanırken cihazın kilitlenmesine neden olan sorun çözüldü. Bu sorun,VideoCapture,PreviewveImageCaptureaynı anda kullanılırken tüm yayınlar 1280x720 çözünürlüğe ayarlandığında meydana geldi. (Ia00c4, b/380802479)- Yüksek hızlı/ağır çekim kaydı için yüksek hızlı kare hızı ayarlanmadığında önizlemede siyah ekran görünmesi sorunu düzeltildi. (cdf0ff2e9)
getViewportAspectRatioInt'da hata işlemeyi ve günlük kaydını iyileştirme (82fca18)
Sürüm 1.5.0-beta02
16 Temmuz 2025
androidx.camera:camera-*:1.5.0-beta02 iptal edilir. 1.5.0-beta02 sürümü bu commit'leri içerir.
API Değişiklikleri
- Bu özellikler tüm cihazlarda kombinasyon olarak desteklenmeyebileceğinden, yüksek kaliteli özellik gruplarını daha sezgisel ve doğru bir şekilde ayarlamak veya sorgulamak için yeni API'ler eklendi.
SessionConfigartık bir özellik grubunu zorunlu veya tercih edilen olarak belirtmek için yeni API'ler içeriyor.CameraInfo.isFeatureGroupSupportedAPI, birSessionConfigbağlanmadan önce bir özellik grubunun desteklenip desteklenmediğini bilmenizi sağlar.SessionConfig, bir oturum yapılandırması bağlandığında hangi özelliklerin nihai olarak seçildiğini öğrenmek için bir dinleyici ayarlamaya da olanak tanır. (Ie4d60) - Geliştiricilerin belirli bir
SessionConfigile sınırlanan, desteklenen kare hızlarını sorgulamasına ve ardından kare hızınıSessionConfigüzerinde uygulamasına olanak tanıyan yeni API'ler (SessoinConfig.Builder.setFrameRateRange(Range<Integer>)veCameraInfo.getSupportedFrameRateRanges(SessionConfig)) eklendi. (Ieacf7) - Kullanım alanlarını, oturum parametrelerini,
CameraEffect,ViewPortvb. yapılandırmak için daha iyi bir soyutlama içeren yeniSessionConfigAPI'si kullanıma sunuldu.SessionConfigöğesini bir LifecycleOwner'a bağlamak kamera oturumunu açar, belirtilen kullanım alanlarını ve oturum parametrelerini kullanarak yapılandırır ve belirlenenCameraEffectileViewPort'yi uygular. Yeni birSessionConfigöğesini aynıLifecycleOwnerile güncellerken önce bağlamayı kaldırma veyaunbindAllişlemini çağırmanıza gerek kalmadan yeni birSessionconfigbağlayabilirsiniz. (Iedfc3) - Yüksek hızlı/ağır çekim video kaydetmek için yeni API'ler eklendi. Daha fazla bilgi için
HighSpeedVideoSessionConfigAPI'ye bakın. (Ia16f3)
Hata Düzeltmeleri
ImageCaptureCapabilities#getSupportedOutputFormats()API'nin, RAW özelliği olmayan bazı cihazlarda RAW biçimlerini desteklenen biçimler olarak bildirmesi sorunu düzeltildi. (Ibcadb)PreviewViewkullanıldığında,CameraEffectetkinleştirildiğinde veya 4 kullanım alanının(StreamSharing) bağlanması sırasında oluşan bellek sızıntısı düzeltildi (I87468).AssertionError: Geçersiz dahili ses durumu: IDLING nedeniyle video kaydının kilitlenmesi sorunu düzeltildi. (I38d4b, b/414259796)- Uygulama harici bir ekranda çalışırken ve cihaz yatay konumdayken
PreviewViewbölümündeki önizlemenin uzamasına veya yana doğru kaymasına neden olan sorun düzeltildi (Ia917a). - Kamera akışı, önizleme ve VideoCapture arasında paylaşılırken Önizleme Sabitleme ayarlarının doğru şekilde uygulanmaması sorunu düzeltildi.(I5430e)
CameraXViewfinderartık temelViewfinder'deki yüzey değiştirme işlemini düzgün şekilde gerçekleştiriyor. Bu, API düzeyi 28 veya önceki sürümlerdeki birEXTERNALvizörünün ekranın dışına çıkması ya daCameraXViewfinder(herhangi birImplementationModeile)moveableContentOf()'ün parçası olması gibi senaryoları kapsar. Temel alınanViewfinderSurfaceSession'nın etkin tutulamadığı durumlardaCameraXViewfinder, mevcut CameraXSurfaceRequest'yi geçersiz kılar ve CameraX'in yeniSurface'yi kullanmasına olanak tanır. (I79432)- Android 10/11'de, dönüşüm işlemleri (ör. ölçeklendirme veya çevirme) çok erken uygulandığı için
EXTERNALCameraXViewfinderöğesinin gergin veya yanlış görünmesine neden olan sorun düzeltildi. Sistem artık bu dönüşümleri düzen aşamasında uygulamadan önce yüzeyin oluşturulmasını bekleyerek doğru çıkış sağlar. (Icc77c) - Composable
CameraXViewfinderartık Compose'unPagerile doğru şekilde çalışıyor. Bu değişiklik, hemEMBEDDEDhem deEXTERNALuygulamalarını destekleyerekAndroidViewöğesininonResetgeri çağırması uygulanarak Composable'ın başarıyla sıfırlanmasını sağlar. (I0d9be) - Kamera sağlayıcı kapatılmadan kullanım alanları yaşam döngüsü sahibinden ayrıldığında oluşan yaşam döngüsü sahibi sızıntısı düzeltildi.
Sürüm 1.5.0-beta01
7 Mayıs 2025
androidx.camera:camera-*:1.5.0-beta01 iptal edilir. 1.5.0-beta01 sürümü bu commit'leri içerir.
API Değişiklikleri
- Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir (Idb6b5).
ContentScaleve hizalama artıkandroidx.compose.foundation.Image'ın davranışına benzer şekilde, görüntülenen yüzeyi kapsayıcısı içinde ölçeklendirmek ve yerleştirmek için vizörde kullanılabilir. (Ibcea3)TransformationInfoartık tüm bağımsız değişkenler için varsayılan değerlere sahip. Bu sayede,TransformationInfoolmadan Viewfinder'lar oluşturulabilir. Bu Viewfinder'lar varsayılan olarak 0 kaynak döndürme, kaynak yansıtma ve kırpma dikdörtgeni içermez. (I2b1b2)- Özelleştirilmiş bir bağlamla yapılandırarak sanal cihazın kamerasına erişme gibi özellikler için farklı yapılandırmalarla örneklenebilen bir kamera sağlayıcı olan
LifecycleCameraProvidereklendi. (Ia2992)
Hata Düzeltmeleri
- Samsung SM-E556B cihazda
ImageAnalysisileTEMPLATE_RECORDkullanan başka bir akış birlikte kullanılırken önizlemenin donması sorunu düzeltildi. (Ic0e62, b/409478042) - Samsung SM-M556B cihazında
ImageAnalysisileTEMPLATE_RECORDkullanan başka bir akış birlikte kullanılırken önizlemenin donması sorunu düzeltildi. (Ic1a6a, b/395822788) - Android 15 çalıştıran Pixel cihazlarda yakınlaştırmayla ilgili işlemler yapılırken uzantılarda GECE MODU
AssertErrorile ilgili sorun düzeltildi. (I27a5d, b/401460276) CameraControllerkullanılırken ML Kit Analiz Aracı'nın yanlış sınırlayıcı kutu koordinatları sorununu düzeltir. (Iae91b, b/409808510)
Sürüm 1.5.0-alpha06
26 Şubat 2025
androidx.camera:camera-*:1.5.0-alpha06 iptal edilir. 1.5.0-alpha06 sürümü bu commit'leri içerir.
API Değişiklikleri
- El feneri parlaklığının özelleştirilmesine olanak tanımak için
CameraInfo.getTorchStrengthLevel,CameraInfo.getMaxTorchStrengthLevelveCameraControl.setTorchStrengthLeveleklendi (I00878) - Kullanıcıların
PreviewViewdokunarak odaklanma etkinliklerinin otomatik iptal davranışını kontrol edebilmesi için yeni bir APICameraController#setTapToFocusAutoCancelDurationeklendi. CameraX, varsayılan olarak odak etkinliklerini 5 saniye sonra iptal eder (yani kamera odağı sıfırlanır). Bu API, süreyi değiştirmenize veya otomatik iptali tamamen devre dışı bırakmanıza olanak tanır. (Icf59a) FLASH_STATE_READY,NOT_FIREDolarak yeniden adlandırıldı ve diğerFlashStatesabit adları daha kolay okunabilmesi için basitleştirildi. (I8771d)- Exposed Low Light Boost API. Android 15 veya sonraki sürümleri çalıştıran cihazlar, düşük ışıkta iyileştirme özelliğini destekleyebilir. Bu özellik, düşük ışık koşullarında önizleme, video veya görüntü analizi akışlarının parlaklığını otomatik olarak ayarlayabilir. Uygulamalar, yeni API'yi kullanarak şunları yapabilir: 1. Özelliğin kullanılabilirliğini kontrol etmek için
CameraInfo#isLowLightBoostSupportedsimgesini kullanın. 2. Cihazlar desteklediğinde modu etkinleştirmek içinCameraControl#enableLowLightBoostAsyncsimgesini kullanın. 3. Zayıf ışık güçlendirme durumunu izlemek içinCameraInfo#getLowLightBoostStateöğesini kullanın. (I937ed) - camera-feature-combination-query içinde daha hızlı non-camera2 sorgulamasına izin vermek için uyumluluk sınıfları ekleyin. (Ie97ee)
CameraControllerDokunarak odaklanma etkinlikleri için yeni bir APIgetTapToFocusInfoState(), öncekiLiveData<Integer>getTapToFocusState()API'nin yeni API lehine kullanımdan kaldırılmasıyla birlikteTapToFocusInfosınıfınınLiveDatadeğerini döndürerek ilgili dokunma konumunu da gösterir. (I238d2)
Hata Düzeltmeleri
- Uzantılarla önizleme sabitleme özelliği etkinleştirildiğinde önizleme sabitlemenin uygulanmaması sorunu düzeltildi. (I24ad7)
- CameraX, varsayılan olarak 5 saniye sonra gerçekleşen bir odaklanma etkinliğini otomatik olarak iptal ettiğinde
CameraControllerodaklanma durumu etkinliğininTAP_TO_FOCUS_NOT_STARTEDolarak sıfırlanmaması sorunu düzeltildi. (I31954) - Yayınlanmamış görüntü kaynakları nedeniyle birden fazla çekimden sonra Sıfır Deklanşör Gecikmesi (ZSL) kullanılırken önizlemenin donması sorunu düzeltildi. (Ic3c2a)
- Bazı cihazlarda, işlem hattında
OpenGLolduğunda UHD videoların kırmızı renkli olması sorunu düzeltildi. (Idcedc)
Sürüm 1.5.0-alpha05
15 Ocak 2025
androidx.camera:camera-*:1.5.0-alpha05 iptal edilir. 1.5.0-alpha05 sürümü bu commit'leri içerir.
API Değişiklikleri
QualitySelector'ye göre seçilen kaliteyi öğrenmek içinVideoCapture.getSelectedQuality()simgesini ekleyin. (I70508, b/204288986)ImageCapture.OnImageCapturedCallbackAPI ile bir görüntü yakalama işlemi başlatıldığında, döndürülenImageProxyiçindeki ImageInfo artık yeniImageInfo.getFlashState()API aracılığıyla flaşın kullanılıp kullanılmadığını öğrenmek için kullanılabilir. (Id2c61, b/380527406)ImageAnalysisiçinOUTPUT_IMAGE_FORMAT_NV21çıktı biçimi desteği eklendi. (I484ab)featurecombinationqueryyapısının deneysel açıklamasını kaldırın (I4427f).- Uzantı modu etkinleştirildiğinde, uzantıya özgü özelliklere göre
CameraControliçin izin verilen yakınlaştırma oranı aralığını ayarlayın. (I85af1)
Hata Düzeltmeleri
- Android 15 ile ilgili API'yi kullanmak için
compileSdk, 35 olarak yükseltildi. CameraX kitaplıklarını kullanan uygulamalarıncompileSdkyapılandırma ayarlarını da yükseltmesi gerekir. (Ic80cd) - Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için aşağıdaki derleyici bağımsız değişkenini kullanmalıdır:
-Xjspecify-annotations=strict(bu, Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan değerdir). (Idc6c6, b/326456246)
Sürüm 1.5.0-alpha04
11 Aralık 2024
androidx.camera:camera-*:1.5.0-alpha04 iptal edilir. 1.5.0-alpha04 sürümü bu commit'leri içerir.
API Değişiklikleri
ImageCapture.Builder#setOutputFormatveImageCaptureCapabilities#getSupportedOutputFormats, kararlı API'ler olarak kullanıma sunuldu (Ieb04a)- Bir
VideoCapture, yaşam döngüsüne bağlandığında çözünürlük bilgilerini almak içinVideoCapture.getResolutionInfo()ekleyin. (Icb478) PreviewView.getScreenFlashvePreviewView.setScreenFlashOverlayColor, kararlı API'ler olarak kullanıma sunuldu. (I74fee)
Hata Düzeltmeleri
- Karanlıkta flaşla fotoğraf çekerken Vivo 1610 cihazında yakalama hatasıyla ilgili sorun düzeltildi. (I366f4)
- Redmi Note 6 Pro'da resim çekildikten sonra el fenerinin beklenmedik şekilde kapanması sorunu düzeltildi. (I2e0e8, b/377144569)
- Pixel Android 15 cihazlarda, Uzantılar'daki GECE modunun kamera yakındaki bir nesneye odaklanana kadar hareketsiz görüntüleri yakalamamasına neden olan sorun düzeltildi. (I228d4)
- Uzantılar etkinleştirildiğinde ve
VideoCapturebirlikte bağlandığında hareketsiz görüntü yakalama işlevinin düzgün çalışmaması sorunu düzeltildi. (I5c745) - Cihaz destekliyorsa Uzantılar için etkinleştirilmiş
UltraHDRhareketsiz görüntü yakalama desteği. (I48300) - TCL cihazlarda
CameraEffecthedefli görüntü yakalama için flaş zamanlamasıyla ilgili sorun düzeltildi. (I7698c)
Sürüm 1.5.0-alpha03
30 Ekim 2024
androidx.camera:camera-*:1.5.0-alpha03 iptal edilir. 1.5.0-alpha03 sürümü bu commit'leri içerir.
API Değişiklikleri
- RAW ve RAW + JPEG için çıkış biçimi API'leri ekleyin
ImageCapture. Cihaz özelliği kontrolüImageCaptureCapabilities#getSupportedOutputFormatsiçinde kullanıma sunulur.OUTPUT_FORMAT_RAW, Adobe DNG biçiminde olan RAW görüntüleri yakalamak için,OUTPUT_FORMAT_RAW_JPEGise RAW ve JPEG görüntüleri aynı anda yakalamak için kullanılır. YeniImageCapture#takePictureAPI, eşzamanlı görüntü yakalama için kullanılır. Bu API'nin ikiOutputFileOptionssağlaması gerekir. Birincisi RAW görüntü, ikincisi ise JPEG görüntü içindir. (Ib0f3d)
Hata Düzeltmeleri
VideoCaptureetkinleştirildiğinde TCL cihazlarda önizleme ve video alt pozlama sorunu düzeltildi. (Id7a64)startFocusMeteringişleviPreviewView.getMeteringPointFactoryile çağrıldığında, bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlandığında (akış paylaşımı) doğru sensör koordinatlarının alınamamasına neden olan sorun düzeltildi. (I916c5, b/345993685)- Video kaydı yapılırken ve yeterli depolama alanı yokken
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEetkinliğinin tetiklenmemesi sorunu düzeltildi. (I35779, b/356399842)
Sürüm 1.5.0-alpha02
2 Ekim 2024
androidx.camera:camera-*:1.5.0-alpha02 iptal edilir. 1.5.0-alpha02 sürümü bu commit'leri içerir.
Yeni Özellikler
- Cihaz tarafından desteklenen kamera özelliklerini sorgulamak için yeni API'ler. Örneğin, HDR ve 60 FPS'nin aynı anda etkinleştirilip etkinleştirilemediğini kontrol etme. camera-feature-combination-query ve camera-feature-combination-query-play-services olmak üzere 2 yapay öğe içerir.
Bu, Google Play Hizmetleri tarafından sağlanan ek verilerle birlikte camera2'nin
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupportedAPI'sinin uyumlu bir sürümüdür.
Hata Düzeltmeleri
- LEGACY seviyesindeki cihazlarda
Preview/VideoCapturehedef kare hızı sorunu düzeltildi.setTargetFrameRateveyaCamera2InteropAPI'si aracılığıyla ayarlanan hedef kare hızı, her zamanAeFpsRangeLegacyQuirktarafından sağlanan değerle üzerine yazılıyordu. Bu düzeltmeyle birlikte CameraX kitaplığı,setTargetFrameRateveyaCamera2InteropAPI'si aracılığıyla ayarlanan değere uyar. (Ie2d32) CameraEffectile görüntü yakalama için flaş/el feneri/3A işlevleri eklendi.CameraEffectile çekilen görüntüler artıkCameraEffectolmadan çekilen görüntülerle aynı çekim öncesi ve sonrası işlemlere (ör. geçerli olduğunda flaş tetikleme, 3A yakınsama vb.) sahip olmalıdır. (I5ff30)- Samsung SM-A057G cihazında
ImageAnalysisiçin sorunlu çıkış boyutları hariç tutuldu.ImageAnalysis1920x1440 veya daha yüksek bir çözünürlük kullandığında siyah önizleme sorununa neden olur. Sorunu önlemek için SM-A057G cihazınaExcludedSupportedSizesQuirkuygulandı. (I63dfe, b/365877975) Preview/VideoCapturehedef kare hızı sorunu düzeltildi. Bu sorun, dahili olarak akış paylaşma mekanizması etkinleştirildiğinde vePreviewileVideoCapture'ye akış paylaşılırken yaşanıyordu. (I4fdac)- Samsung S10e ve S10+ cihazlarda yanlış JPEG resim meta verileri sorununu düzeltmek için geçici çözüm etkinleştirildi. Bu düzeltmeyle birlikte, yanlış JPEG görüntü meta verileri sorunu yaşanırsa CameraX, JPEG görüntüsünü başarıyla kaydedebilir veya bu cihazlarda
ImageProxy.toBitmap()işlevi çağrıldığında doğru Bitmap nesneleri döndürülebilir. (Iae493, b/356428987) - Samsung A52s'nin kimliği 0 olan arka kamerası için uzantılar devre dışı bırakıldı. Bunun nedeni, HDR görüntüleri yakalarken yerel kilitlenmelerin meydana gelebilmesi ve BOKEH veya FACE_RETOUCH modları için yakalama oturumlarının yapılandırılmasının başarısız olabilmesidir. (I03ec9, b/364152642)
- Video kaydı yapılırken ve yeterli depolama alanı yokken
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEetkinliğinin tetiklenmemesi sorunu düzeltildi. (Ia5b4f, b/356399842) - Oppo A5'te (CPH1931) ikinci video kaydı denemesinin başarısız olmasıyla ilgili sorun düzeltildi. (I181d6)
Sürüm 1.5.0-alpha01
4 Eylül 2024
androidx.camera:camera-*:1.5.0-alpha01 iptal edilir. 1.5.0-alpha01 sürümü bu commit'leri içerir.
Yeni Özellikler
camera-composeadlı yeni bir yapay nesne,camera-corekaynağından alınan bir CameraXSurfaceRequestcihazından önizleme akışı gösteren CameraX Viewfinder Compose Adapter için yayınlandı. (I8666e)- CameraX
SurfaceRequest'lerini composableViewfinder'ye uyarlayan deyimsel bir composable olarak işlev gören yeni bir composable (CameraXViewfinder) eklendi. (I4770f)
API Değişiklikleri
- Aynı anda iki kamerayla video çekimi için kompozisyon ayarlarını belirlemeye yönelik API'yi kullanıma sunar. Ayarlar arasında karıştırma için alfa değeri, x ve y koordinatlarındaki ofset, kamera çerçevesi görüntüleme penceresinin genişlik ve yükseklik ölçeği yer alır. Uzaklık, genişlik ve yükseklik, normalleştirilmiş cihaz koordinatlarında belirtilir. (Ia2b8a)
- Resmi bir API olması için
CameraProvider.getCameraInfokullanıma sunuldu. (I901cd) - İlk sessize alma durumunu kontrol etmek için API
PendingRecording.withAudioEnabled(boolean initialMuted)eklendi. (I635c3, b/354829267)
Hata Düzeltmeleri
bindToLifecycle, yok edilmiş birLifecycleOwnerile çağrıldığında kilitlenme sorunu düzeltildi. (I6e6d8)- Motorola Edge 20 Fusion'da
VideoCaptureile bağlama sırasında ön kamerada önizlemenin siyah ekran olması sorunu düzeltildi. (I1fe88) PreviewView'da yakınlaştırma hareketlerini algılama yapılandırması, akıcılığı artıracak şekilde optimize edildi. (I04ffc)
Kamera Sürümü 1.4
Sürüm 1.4.2
26 Mart 2025
androidx.camera:camera-*:1.4.2 iptal edilir. 1.4.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Samsung Galaxy M55'te
ImageAnalysisileTEMPLATE_RECORDkullanan başka bir akış kullanılırken önizlemenin donması sorunu düzeltildi. (Ic1a6a, b/395822788)
Sürüm 1.4.1
11 Aralık 2024
androidx.camera:camera-*:1.4.1 iptal edilir. 1.4.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Pixel Android 15 cihazlarda, Uzantılar'daki GECE modunun kamera yakındaki bir nesneye odaklanana kadar hareketsiz görüntüleri yakalamamasına neden olan sorun düzeltildi. (I228d4)
- Uzantılar etkinleştirildiğinde ve
VideoCapturebirlikte bağlandığındaImageCapture#takePictureişlevinin düzgün çalışmaması sorunu düzeltildi. (I5c745)
Sürüm 1.4.0
30 Ekim 2024
androidx.camera:camera-*:1.4.0 iptal edilir. 1.4.0 sürümü bu commit'leri içerir.
1.3.0 sürümünden beri yapılan önemli değişiklikler
CameraX 1.4.0, heyecan verici güncellemelerle dolu! Buradan bir özetini bulabilirsiniz:
Öne çıkan özellik: 10 bit HDR:
- Kolayca çarpıcı HDR fotoğraflar ve videolar çekin.
- HLG ve 10 bit HEVC kodlamayı destekler.
- 10 bit HDR önizlemesinin keyfini çıkarın ve cihaz özelliklerini sorgulayın.
UltraHDRgörüntüleri ve HDR videoları, giderek artan sayıda cihazda kullanılabilir.
Diğer Harika Özellikler:
- Kotlin Uzantıları:
takePictureveawaitInstanceaskıya alma işlevleri eklendi. - Gerçek zamanlı efektler: Filigran ve nesne vurgulama gibi efektler uygulayın.
- CameraController API: Video kaydı yapılandırması için yeni kontroller.
- Önizleme sabitleme: Cihazın özelliğini sorgulayın ve sabitlemeyi etkinleştirin.
- VideoCapture geliştirmeleri: Kalite üzerinde daha iyi kontrol ve daha yüksek çözünürlüklere erişim.
- CameraX Uzantıları Entegrasyonu:
VideoCaptureile sorunsuz entegrasyon ve yeniImageCaptureözellikleri. - Deklanşör Sesi API'si: Bölgesel deklanşör sesi şartlarını kolayca kontrol edin.
- Ekran flaşı: Ön kameralarda düşük ışıkta daha iyi fotoğraflar çekin.
- Kamera Uzantıları Meta Veri API'leri: Uzantı gücünü ayarlamak ve
ExtensionMode#AUTO'daki mevcut Uzantılar modu hakkında bildirim almak için destekleyici API'ler. Daha fazla hata düzeltmesi için Beta ve RC duyurularımıza göz atabilirsiniz.
Sürüm 1.4.0-rc04
16 Ekim 2024
androidx.camera:camera-*:1.4.0-rc04 iptal edilir. 1.4.0-rc04 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
startFocusMeteringişleviPreviewView.getMeteringPointFactoryile çağrıldığında, bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlandığında (akış paylaşımı) doğru sensör koordinatlarının alınamamasına neden olan sorun düzeltildi. (I916c5, b/345993685)
Sürüm 1.4.0-rc03
2 Ekim 2024
androidx.camera:camera-*:1.4.0-rc03 iptal edilir. 1.4.0-rc03 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
CameraEffectile görüntü yakalama için flaş/el feneri/3A işlevleri eklendi.CameraEffectile çekilen görüntüler artıkCameraEffectolmadan çekilen görüntülerle aynı çekim öncesi ve sonrası işleme (ör. geçerli olduğunda flaş tetikleme, 3A yakınsama vb.) sahip olmalıdır. (I5ff30)PreviewView'da sıkıştırarak yakınlaştırma işleminin akıcılığı optimize edildi (I04ffc).- Ultra HDR desteği için artık cihazların 10 bit çıkış özelliğine sahip olması gerekmediğinden Ultra HDR, 10 bit çıkış özelliğinden ayrıldı. (I96ff2, I0c3b3)
Sürüm 1.4.0-rc02
18 Eylül 2024
androidx.camera:camera-*:1.4.0-rc02 iptal edilir. 1.4.0-rc02 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
bindToLifecycle, yok edilmiş birLifecycleOwnerile çağrıldığında kilitlenme sorunu düzeltildi. (I6e6d8)ScreenFlashViewiçinScreenFlash#apply'de görünürlük animasyonu eklendi. Bu sayede, parlaklık değişikliğinin bir süre sonra eşzamansız olarak tamamlanmasından kaynaklanan hatalar da düzeltildi. (I37cdb)- Desteklenen cihazlarda çerçevedeki yakınlaştırma ayarlarını geçersiz kılarak yakınlaştırmanın daha akıcı hale getirilmesi.
Sürüm 1.4.0-rc01
7 Ağustos 2024
androidx.camera:camera-*:1.4.0-rc01 iptal edilir. 1.4.0-rc01 sürümü bu commit'leri içerir.
Yeni Özellikler
- Kullanım alanlarını kameraya bağlamaya gerek kalmadan belirli kamera bilgilerini sağlamak için deneysel
CameraInfo.getCameraInfoişlevi eklendi. (I550d1)
API Değişiklikleri
ScreenFlashView'nin açıkça eklenmediği durumlar içinPreviewView.getScreenFlashvePreviewView.setScreenFlashOverlayColorAPI'leri eklendi. (I43945)
Hata Düzeltmeleri
- VideoCapture kullanım alanı bağlıyken düşük ışıkta flaş etkin olarak görüntü yakalandığında pozlama ve renk tonuyla ilgili sorunlar düzeltildi. (Ic9814)
- Uzantılar etkin durumdayken
takePictureisteğinin kesintiye uğratılması durumunda sonuç alınamama ve sonrakitakePictureisteğinin çalışmama sorununu düzeltir. (Iae78f) - Uzantılar etkinleştirildiğinde oluşan bellek sızıntısı sorunu düzeltildi. (Iab276)
- Pixel 7/8 ve Samsung Galaxy S24 serisi gibi cihazlarda CameraX uzantılarının düzgün çalışmaması sorunu düzeltildi. Sürüm modundaki
Camera2OutputConfigImpldönüştürme sorunundan kaynaklanan bu sorun, AGP 8.5.1'e yükseltildikten ve küçültme etkinleştirildikten sonra ortaya çıktı. (I99598, b/354824993)
Sürüm 1.4.0-beta02
12 Haziran 2024
androidx.camera:camera-*:1.4.0-beta02 iptal edilir. 1.4.0-beta02 sürümü bu commit'leri içerir.
API Değişiklikleri
VideoCapture'ya benzer şekilde, Önizleme kullanım alanı içinsetMirrorModeekleyin. API 33 ve sonraki sürümlerdeOutputConfiguration.setMirrorModeüzerinden önizleme akışı için yansıtma modu AÇIK ve KAPALI'yı destekler. Daha eski API'lerde bu özellik kullanılamaz. (I821f4)
Hata Düzeltmeleri
ImageCapture,Preview+VideoCapture+ImageCaptureUseCasekombinasyonu altında 1920x1080'i seçtiğinde uygulamaların Samsung Tab A8'de başarılı bir şekilde fotoğraf çekememesine neden olan sorun düzeltildi. (I5a463, b/336925549)- Kamerayı değiştirdikten sonra sürekli kaydın devam etmemesine neden olan sorun düzeltildi. (Icb0a1)
Sürüm 1.4.0-beta01
14 Mayıs 2024
androidx.camera:camera-*:1.4.0-beta01 iptal edilir. 1.4.0-beta01 sürümü bu commit'leri içerir.
API Değişiklikleri
- Yakınlaştırma hareketinin durumlarını kapsayan
ZoomGestureDetector.ZoomEventeklendi. (I84cdf)
Hata Düzeltmeleri
- Hâlâ yakalama ve dokunarak odaklama işlemlerinde, yakalama oturumunu yeniden oluşturup bazı cihazlarda gecikme sorunlarına veya önizlemenin donmasına neden olabilecek tekrarlayan istek FPS/dengeleme modu değerlerinin kullanılmamasıyla ilgili hata düzeltildi. (I7dc0b)
- Bazı cihazlarda
CameraEffectetkinleştirildiğinde yüksek çözünürlüklerin seçilememesine neden olan hata düzeltildi. (ör. Samsung A32 5G'de 4000x3000). (Ie3ed3, b/337336152) - Pixel 4XL API29'da
ImageCaptureveVideoCapture(UHD)bağlıyken önizleme ile fotoğraf çekilirken yaşanan kilitlenme sorunu düzeltildi. (I5b288) - Sanal cihazları destekleme:
ProcessCameraProvideriçine iletilen bağlam, sanal cihaz ortamındaki işlevselliği sağlamak için cihaz kimliğini korur. (I5ba48)
Sürüm 1.4.0-alpha05
17 Nisan 2024
androidx.camera:camera-*:1.4.0-alpha05 iptal edilir. 1.4.0-alpha05 sürümü bu onayları içerir.
Yeni Özellikler
ProcessCameraProvider, Kotlin uygulamasına dönüştürüldü. (I46d4f)- Kotlin'e özgü bir şekilde çağrılmasına olanak tanımak için
ImageCapture.takePictureaskıya alma işlevleri eklendi. (I920be)
API Değişiklikleri
ImageCapture'ya çıkış biçimi API'leri ekleyin ve cihaz özelliğini sorgulamak içinImageCaptureCapabilities'yegetSupportedOutputFormatsyöntemini ekleyin. Varsayılan çıkış biçimi değeriOUTPUT_FORMAT_JPEG'dır. Bu değer, SDR görüntüleri JPEG biçiminde yakalar. Cihaz Ultra HDR'yi desteklediğinde ve çıkış biçimiOUTPUT_FORMAT_JPEG_ULTRA_HDRolarak ayarlandığında CameraX, JPEG/R resim biçimini kullanarak Ultra HDR sıkıştırılmış resimler çeker. Bu biçim, SDR JPEG biçimiyle geriye dönük olarak uyumludur ve içeriğin HDR olarak oluşturulmasını destekler. Bu nedenle, eski uygulamalarda veya cihazlarda resimler normal JPEG olarak sorunsuz bir şekilde görünürken, biçimi tam olarak destekleyecek şekilde güncellenen uygulama ve cihazlarda HDR olarak görünür. (I5de50)- Fiziksel kamera bilgilerini sorgulamak için
PhysicalCameraInfoöğesiniCameraInfoiçine ekleyin veCameraSelectoriçine fiziksel kamera kimliği ayarlayıcı/getteri ekleyin (Ic5b90). CameraController#COORDINATE_SYSTEM_VIEW_REFERENCEDyerineImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCEDkoyun. Sabitin değeri aynı kalır. Bu, tüm sabitleri tek bir yerde birleştirmek için kullanılır. (I890bb)- Yeni
RetryPolicyAPI, geliştiricilerin CameraX başlatma için yeniden deneme davranışını özelleştirmesine olanak tanır. (I36dd2) - Test edilebilirliğe yardımcı olmak için
ImageCaptureLatencyEstimatenesnesinin oluşturulmasını etkinleştirme (Iaba99) ImageAnalysis#COORDINATE_SYSTEM_SENSORekleyin. Bu işlev kullanıldığındaMlKitAnalyzer, kamera sensörü koordinat sistemindeki koordinatları döndürür. (I3ec61)- Açığa çıkan uzantılar meta verileri API'si. Yeni
CameraExtensionsInfoveCameraExtensionsControlarayüzleri, uygulamaların uzatma gücü ayarlarını izlemesine ve ayarlamasına olanak tanır. Uygulamalar, yeni eklenenExtensionsManager#getCameraExtensionsInfo()veyaExtensionsManager#getCameraExtensionsControl()yöntemleriyleCameraExtensionsInfoveyaCameraExtensionsControlörneğini alabilir. (I28e1a) ProcessCameraProvider.getInstance'ın askıya alma sürümü olanProcessCameraProvider.awaitInstanceeklendi (Ib22b9)PreviewView#getSensorToViewTransform()API'si ekleyin. Matris, kamera sensörü koordinatlarındanPreviewViewkoordinatlarına dönüşümü temsil eder. Bu, koordinatları birUseCase'dan diğerine dönüştürmek için kullanılabilir. Örneğin,ImageAnalysisiçinde algılanan nesnelerin koordinatlarınıPreviewViewyer paylaşımına dönüştürme. (I947ab)camera-viewfinder-coreAPI'yi daha genel hale getirin. Böylececamera-viewfindervecamera-viewfinder-composetarafından kullanılabilir. (I1e295)getSurfaceişleviniViewfinderSurfaceRequestöğesine ekleyin. (I781a0)camera-viewfinderiçindecamera-viewfinder-coreözelliğini kullanın,ViewfinderSurfaceRequestveCameraViewfinderözelliklerinin desteğini sonlandırın. (I6198c)- Özellikle iki parmakla yakınlaştırma etkinliği için yapılandırılmış ölçeklendirme hareketlerini yorumlayan
ZoomGestureDetectoreklendi. (Ifafbf)
Hata Düzeltmeleri
ImageAnalysis'nın, analizörün varsayılan hedef çözünürlük ayarıyla ilgili çözünürlük seçimi sorunu düzeltildi: Uygulamalar farklı bir analizörün varsayılan çözünürlük ayarını belirlemiş olsa bile hedef çözünürlük yanlışlıkla 640x480 olarak kalıyordu. Uygulamalar bu sorunla (1.3.0 ~ 1.3.2) karşılaşıyorsa ve çözümü içeren yeni sürüm yayınlarını kullanmak için yükseltme yapamıyorsa doğrudan tercih edilen çözünürlükle birResolutionSelectorveImageAnalysisUseCaseile eşleşen birAspectRatioStrategyayarlayarak bu sorunu geçici olarak çözebilir. (I81f72, b/330091012)- Mevcut istek başarısız olursa sıraya alınan
takePictureisteğinin çalıştırılamamasına neden olan sorun düzeltildi. (Ie0801) - Geçersiz JPEG verisi kontrolü, Vivo X60 ve X60 Pro cihazlarında uygulanır. Bu işlem, söz konusu cihazlarda anormal derecede büyük resim sorununu düzeltebilir. (I82247, b/288828159)
- Samsung A24 cihazlarda yanlış JPEG resim meta verileri sorunu düzeltildi. Bu düzeltmeyle birlikte CameraX, JPEG resmini başarıyla kaydedebilir veya Samsung A24 cihazlarda
ImageProxy.toBitmap()işlevi çağrıldığında doğru Bitmap nesneleri döndürülebilir. (I8d6eb, b/309005680) - Çekilen resim 10 MB'tan büyükse geçersiz JPEG verisi kontrolünün tüm Samsung cihazlarda uygulanmasını sağlayın. Bu işlem, Samsung cihazlarda anormal derecede büyük resim sorununu düzeltebilir. (Ic2a65, b/288828159)
- Birçok OEM'in Extensions uygulaması
ImageAnalysisile iyi çalışmadığı ve tutarsız sorunlara neden olabileceği için CameraX Extensions'daImageAnalysisdesteği kaldırıldı. (I2d926)
Sürüm 1.4.0-alpha04
24 Ocak 2024
androidx.camera:camera-*:1.4.0-alpha04 iptal edilir. 1.4.0-alpha04 sürümü şu commit'leri içerir.
Yeni Özellikler
- Yeni yapay nesne: camera-effects:
Preview,VideoCaptureve/veyaImageCapturedahil olmak üzere CameraX çıkışına gerçek zamanlı efektler uygulamak için kullanılan bir kitaplık. Bu yapıda, kamera çıkışını verimli bir şekilde işleyenCameraEffectAPI'sinin OpenGL uygulamaları yer alır. OverlayEffect: Android'in Canvas API'si ile yer paylaşımları çizmek için. Bu izin, uygulamanın kamera çıkışlarına filigran uygulamasını veya algılanan nesneleri vurgulamasını sağlar.DynamicRangeÖnizleme Kullanım Alanı için API'ler: Dinamik aralık artık Video Kullanım Alanı'ndan bağımsız olarak Önizleme Kullanım Alanı'nda ayarlanabilir. Bu, yalnızca önizleme için HLG10 gibi HDR dinamik aralıklarına izin verir. Hangi dinamik aralıkların her kamera tarafından desteklendiğini sorgulamak içinCameraInfoiçinde yeni API'ler de mevcuttur.
API Değişiklikleri
ScreenFlashUiCompleter,ScreenFlashListenerolarak yeniden adlandırıldı veScreenFlashUiCompleter#getExpirationTimeMillis,ScreenFlash#applyöğesininexpirationTimeMillisparametresine taşındı. (I13944)- Önizleme kullanım alanında dinamik aralığın ayarlanmasına ve her kamera tarafından desteklenen dinamik aralıkların sorgulanmasına olanak tanıyan yeni API'ler eklendi. Bu sayede, HLG10 gibi HDR dinamik aralıkları artık aynı anda bir
VideoCapturebağlanmasını gerektirmeden yalnızca önizleme kullanım alanıyla kullanılabilir. (If25e3) getMirroring(),isMirroring()olarak yeniden adlandırıldı (I47063)- CameraX'te anlık görüntü yakalama gecikmesi tahmini desteği eklendi. Kamera uzantıları, uygulamaların çekimin ne kadar süreceğine dair tahminde bulunan bir API kullanmasına olanak tanır. Tahminde mevcut ortam koşulları ve kamera durumu dikkate alınır. Ayrıca, gerekirse işlenmiş arabelleklerin kodlanması için gereken ek süreyle birlikte çok kareli çekim isteklerinin işlenmesi için harcanan süre de dahil edilir. (I05c3a)
ScreenFlashUiControl,ScreenFlash,ScreenFlashUiControl#applyScreenFlashUi,ScreenFlash#apply,ScreenFlashUiControl#clearScreenFlashUiveScreenFlash#clearolarak yeniden adlandırıldı veSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDSdoğrudan kullanıma sunulmak yerinegetScreenFlashUiApplyTimeoutSecondsyöntemi eklendi. (Iccdd0)
Hata Düzeltmeleri
- Uzantılar etkinleştirildiğinde etkinliklerin veya parçaların serbest bırakılmamasına neden olan bellek sızıntısı düzeltildi (I14215).
- Artan yakınlaştırma oranı uygulandığında
getZoomRatioişlevinin yanlışlıkla daha düşük bir değer döndürmesine neden olan sorun düzeltildi. (I4aa0d, b/317543616) ImageCapture#ScreenFlash#clearetkinliği,ImageCapturebağlantısı kaldırıldığında veya kamera kapatıldığında hemen çağrılır. Ayrıca, bu senaryolarda yakalamaların düzgün şekilde tamamlanmaması nedeniyle etkinliğin hiç çağrılmadığı bazı hatalar da düzeltilir. (If99f9)- Yaşam döngüsü,
takePictureisteği tamamlanmadan önce durdurulduğunda meydana gelen kilitlenme sorunu düzeltildi (Idf017, b/306202751). - Bazı cihazlarda uzantılar etkinleştirildiğinde kamera önizlemesinin siyah olması sorunu düzeltildi (I1ffd0).
- Snapdragon 778G SoC kullanan cihazlarda video kaydının süresinin yanlış olması sorunu düzeltildi. (If6aa7, b/316057919)
Sürüm 1.4.0-alpha03
13 Aralık 2023
androidx.camera:camera-*:1.4.0-alpha03 iptal edilir. 1.4.0-alpha03 sürümü şu commit'leri içerir.
Yeni Özellikler
- Bölgesel kısıtlamalara göre deklanşör sesi çalınıp çalınmaması gerektiğiyle ilgili bilgileri sağlamak için
CameraInfo.mustPlayShutterSoundeklendi. (Ifda84) - Kameranın bir kareyi pozlamaya başladığında bildirim göndermek için
OnImageCapturedCallback.onCaptureStartedveOnImageSavedCallback.onCaptureStartedeklendi. Bu noktada deklanşör sesini veya deklanşör animasyonunu oynatmanız önerilir. (Ic49b3) - Ön kamerayla görüntü yakalama için CameraX'e ekran flaşı özelliği desteği eklendi. CameraX, çerçeve tarafındaki API işleme işini halleder ve gerektiğinde zamanlamayı uygulamanın kullanıcı arayüzü değişiklikleriyle senkronize eder (ör. uygulama ekranı rengi/parlaklığı değiştiğinde AE ön yakalama tetikleyicisi). Uygulamaların, kullanıcı arayüzü tarafındaki uygulamalarını yalnızca CameraX'e sağlanan
ScreenFlashUiControlarayüzüne eklemesi gerekir. (I8ae84) - CameraX'e, ekran ışığı özelliği için kullanıcı arayüzü tarafında uygulama desteği eklendi. Uygulamalar,
ImageCapture.ScreenFlashUiControlveya yeni eklenenScreenFlashViewile temel birPreviewViewuygulaması alabilir. Bu uygulama, tek renkli bir kaplama görünümü ekler ve ekran görüntüsü fotoğraf çekimi sırasında ekran parlaklığını en üst düzeye çıkarır. (I1810e)
API Değişiklikleri
- Yeni uzantı özelliklerini(görüntüleme sonrası ve yakalama işlemi ilerleme durumu) destekler: Uygulamaların görüntüleme sonrası ve yakalama işlemi ilerleme durumu geri çağırma işlevlerinin özelliklerini sorgulaması için
ImageCapture#getImageCaptureCapabilities()API'leri eklendi. Uygulamalar,ImageCapture.Builder#setPostviewEnabled()kullanarak görüntüleme sonrası dönüşümü etkinleştirebilir. Görüntüleme sonrası boyut,ImageCapture.Builder#setPostviewResolutionSelector()kullanılarak seçilebilir.takePicture()çağrıldığında, destekleniyorsa görüntüleme sonrası ve işlem ilerleme bildirimi almak içinonPostviewBitmapAvailableveonCaptureProcessProgressed,OnImageSavedCallbackveyaOnImageCapturedCallbackiçinde uygulanabilir. (I5cd88) - Yüzeyin kamera yönü bilgilerini içerip içermediğini belirten bir işaretle birlikte, sensörden geçerli arabelleğe koordinat dönüşümünü hesaplamaya yönelik API'ler. (I59096)
- Önizleme'de
PreviewCapabitlitysorgulamak için API'yi kullanıma sununUseCase. (Ie5b6c) VideoCaptureiçin daha fazla kaliteyi destekleyen API'ler eklendi.Recorder.Builder#setVideoCapabilitiesSource(int),VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE'den daha fazla kaliteyi destekleyen birRecorderörneği oluşturmak içinVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIESile birlikte kullanılabilir. Uygulamanın mümkün olduğunda UHD video kaydetmeye çalıştığı ancak codec UHD video kaydetme özelliğine sahip olmasına rağmen cihazınCamcorderProfilebölümünde UHD ayarlarının bulunmadığı durumlar yaygın bir kullanım alanıdır. (Iedbe2, b/263961771)ImageAnalysisçıkış biçimi alıcı/ayarlayıcıyıCameraControlleröğesine ekleyin. (I9a96c, b/308240643)
Hata Düzeltmeleri
- Kamera
1.3.1:ProcessCameraProvider#bindToLifecycle()performansı iyileştirildi. En büyük değişiklik,UseCasesiçin en uygun boyut kombinasyonlarını belirleme sürecini optimize etmektir. En iyi sonuçlar, belirliUseCasekombinasyonlarına ve hedef cihazlar için desteklenen çıkış boyutlarının sayısına göre değişir. (I454f2) - Uzantılar etkinleştirildiğinde
VideoCapturekullanımına izin verin. (I91f32) - Samsung A71 ve M51 serisi cihazlarda yakalanan büyük JPEG resimlerle ilgili sorun düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar dolgu verileri içeriyor. Bu durum, çekilen görüntülerin dosya boyutunun çok büyük olmasına neden olur. Yakalanan görüntülerin normal görüntü dosyası boyutlarına sahip olması için verileri dolduran gereksiz sıfırlar kaldırılır. (I01afc, b/288828159)
- Pixel'de desteklenen boş olmayan
ImageAnalysisboyutlarını yanlışlıkla döndüren hatayı önlemek için Pixel'lerdeImageAnalysisdesteğini devre dışı bırakın. (I7ec31) - Uzantılar etkinleştirildiğinde CPU yükünün ve güç tüketiminin artmasına neden olan performans sorunu düzeltildi. (Ibdccb)
CameraUseInconsistentTimebaseQuirklistesine Snapdragon 480 eklendi. Bu düzeltme, bu yonga setini kullanan cihazlarda Android 12'deki bir sorunu giderir. Bu sorunda, kayıtlardaki ses, cihazın askıya alınmış durumda kaldığı süre kadar kaydırılır. (I58010)
Sürüm 1.4.0-alpha02
18 Ekim 2023
androidx.camera:camera-*:1.4.0-alpha02 iptal edilir. 1.4.0-alpha02 sürümü şu commit'leri içerir.
API Değişiklikleri
- API'yi
setCameraOpenRetryMaxTimeoutInMillisWhileResumingolarak yeniden adlandırın ve bağımsız değişkeni yeniden adlandırın. (I72370) - Cihazın özelliklerini sorgulamak ve video/önizleme sabitlemeyi etkinleştirmek için API'ler ekleme. (I87544)
- Kameranın açılması için yeniden deneme maksimum zaman aşımı süresini özelleştirmek üzere API sağlama. (I0c642)
ProcessCameraProvider.shutdownAsync, herkese açık bir test API'si olarak yayınlandı. Bu API, testler arasında CameraX'i farklı şekillerde başlatması gerekebilecek test paketlerinde işlem kamerası sağlayıcısının kullanılmasına olanak tanır. (I9eca7)- Video çekiminde dinamik aralığı, kare hızını ve ayna modunu yapılandırmak için API'ler eklendi. (Ifb8f7)
OutputSizeöğesini kullanımdan kaldırıpResolutionSelectorile değiştirin.ResolutionSelector, çözünürlükleri seçmenin daha kapsamlı bir yoludur ve Camera Core API ile tutarlıdır. (I93abd, b/286801438)
Hata Düzeltmeleri
- Arka kamerada
ImageAnalysisile Bokeh veya Yüz Rötuşu uzantıları etkinleştirildiğinde Samsung Galaxy S23 Ultra 5G'de siyah önizleme sorunu düzeltildi. (I2e8b1) - Moto E5 Play'deki önizleme ve
VideoCapturesimgesinin gerilmesiyle ilgili sorunlar düzeltildi. (73dce2)
Sürüm 1.4.0-alpha01
20 Eylül 2023
androidx.camera:camera-*:1.4.0-alpha01 iptal edilir. 1.4.0-alpha01 sürümü şu commit'leri içerir.
API Değişiklikleri
- Kayıt sırasında ses genliği bilgilerine erişmek için yeni API eklendi. (Id4925)
Hata Düzeltmeleri
- Başlatma ve başlatmayı kaldırma etkinliklerinin doğru sırada tetiklendiğinden emin olarak uzantıların kararlılığını artırın. (Ib3b8e)
- Dahili olarak ek yüzey tekrarı eklenmesi nedeniyle desteklenen yüzey kombinasyonunun aşılmasıyla ilgili yakalama oturumu yapılandırma hatası düzeltildi. (Id718c)
- Vivo S16 cihazında yakalanan büyük JPEG görüntüsü sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar dolgu verileri içeriyor. Bu durum, çekilen görüntülerin dosya boyutunun büyük olmasına neden olur. Yakalanan görüntülerin normal görüntü dosyası boyutlarına sahip olması için verileri dolduran gereksiz sıfırlar kaldırılır. (I79505, b/299069235)
- Bazı cihazlarda bazı uzantı modları etkinleştirildiğinde
ImageAnalysisileImageCaptureve önizlemenin birlikte bağlanamaması sorunu düzeltildi. Düzeltme, uygulamalarImageAnalysisaracılığıylaExtensionsManager#isImageAnalysisSupported()stok durumunu sorguladığında doğru değeri döndürür. (I7d538) - JavaDoc'u davranışla eşleşecek şekilde güncelleyin.
#setZoomRatio,#setLinearZoomve#enableTorch, hemen tamamlanmak yerine kamera hazır olana kadar bekler. Ayrıca,#takePictureAPI ile maksimum FOV'u elde etme hakkında bilgiler eklendi. (I23588)
Sürüm 1.3
Sürüm 1.3.4
12 Haziran 2024
androidx.camera:camera-*:1.3.4 iptal edilir. 1.3.4 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Artan yakınlaştırma oranı uygulandığında
getZoomRatioişlevinin yanlışlıkla daha düşük bir değer döndürmesine neden olan sorun düzeltildi. (I4aa0d, b/317543616) - Bazı cihazlarda yakalama oturumunun yeniden oluşturulmasına ve gecikme sorunlarına veya önizlemenin donmasına neden olabilecek, tekrarlanan istek FPS/dengeleme modu değerlerinin kullanılmadığı sabit yakalama/dokunarak odaklama sorunu düzeltildi. (I7dc0b)
setTargetFrameRate,FRAME_RATE_RANGE_UNSPECIFIEDile çağrıldığında kare hızının daha düşük bir değere ayarlanması sorunu düzeltildi. (I78c61)
Sürüm 1.3.3
17 Nisan 2024
androidx.camera:camera-*:1.3.3 iptal edilir. 1.3.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
ImageAnalysis'nın, analizörün varsayılan hedef çözünürlük ayarıyla ilgili çözünürlük seçimi sorunu düzeltildi: Uygulamalar farklı bir analizörün varsayılan çözünürlük ayarını belirlemiş olsa bile hedef çözünürlük yanlışlıkla 640x480 olarak kalıyordu. Uygulamalar bu sorunla (1.3.0 ~ 1.3.2) karşılaşıyorsa ve çözümü içeren yeni sürüm yayınlarını kullanmak için yükseltme yapamıyorsa doğrudan tercih edilen çözünürlükle birResolutionSelectorveImageAnalysisUseCase ile eşleşen birAspectRatioStrategyayarlayarak bu sorunu geçici olarak çözebilir. (I81f72, b/330091012)
Sürüm 1.3.2
6 Mart 2024
androidx.camera:camera-*:1.3.2 iptal edilir. 1.3.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Samsung A24 cihazlarda JPEG meta verileriyle ilgili sorun düzeltildi. CameraX artık görüntüleri doğru şekilde kaydediyor ve
ImageProxy.toBitmap()işlevi doğru Bitmap nesnelerini döndürüyor. (I8d6eb, b/309005680) - Sorunlar nedeniyle Redmi Note 9 Pro cihazlarda 9280x6944 çözünürlük seçeneği kaldırıldı. (Ia23da)
Sürüm 1.3.1
13 Aralık 2023
androidx.camera:camera-*:1.3.1 iptal edilir. 1.3.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
ProcessCameraProvider#bindToLifecycle() performansını iyileştirdik. En büyük değişiklik, UseCases için en uygun boyut kombinasyonlarını belirleme sürecini optimize etmektir. En iyi sonuçlar, belirli UseCase kombinasyonlarına ve hedef cihazlar için desteklenen çıkış boyutlarının sayısına göre değişir. (I454f2)
Çeşitli senaryolara ilişkin bazı referans sonuçları aşağıda bulabilirsiniz:
Dört
UseCases:Preview+ImageCapture+ImageAnalysis+VideoCapture- Google Pixel 7: Yaklaşık 430 ms - 60 ms
- Samsung Galaxy S23 Ultra: Yaklaşık 540 ms ila 45 ms
- Samsung A53 5G: Yaklaşık 115 ms ila 70 ms
Üç
UseCases:Preview+ImageCapture+ImageAnalysis- Google Pixel 7: Yaklaşık 9 ms ila 7 ms
- Samsung Galaxy S23 Ultra: Yaklaşık 6 ms ila 5 ms
- Samsung A53 5G: Yaklaşık 32 ms ila 12 ms
CameraUseInconsistentTimebaseQuirklistesine Snapdragon 480 eklendi. Bu düzeltme, bu yonga setini kullanan cihazlarda Android 12'deki bir sorunu giderir. Bu sorunda, kayıtlardaki ses, cihazın askıya alınmış durumda kaldığı süre kadar kaydırılır. (I58010)
Sürüm 1.3.0
18 Ekim 2023
androidx.camera:camera-*:1.3.0 iptal edilir. 1.3.0 sürümü şu commit'leri içerir.
1.2.0 sürümünden beri yapılan önemli değişiklikler
- 10 bit HDR, kırpma, aynalama/aynalamama, sesi kapatma/açma, kare hızını ayarlama gibi video özellikleri
- Çift Eşzamanlı Kamera
- Efekt kitaplığı
- Çözünürlük Seçici
- Ultra geniş ve teleskopik kamera seçimi
- Video kaydı sırasında kamera değiştirme (deneysel özellik)
Sürüm 1.3.0-rc02
20 Eylül 2023
androidx.camera:camera-*:1.3.0-rc02 iptal edilir. 1.3.0-rc02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Başlatma ve başlatmayı kaldırma etkinliklerinin doğru sırada tetiklendiğinden emin olarak uzantıların kararlılığını artırın. Bu düzeltme, uzantı modları veya kameralar arasında geçiş yaparken yaşanan bazı siyah önizleme sorunlarını giderdi. (Iddaac)
- Bazı cihazlarda bazı uzantı modları etkinleştirildiğinde
ImageAnalysisileImageCaptureve önizlemenin birlikte bağlanamaması sorunu düzeltildi. Düzeltme, uygulamalarImageAnalysisaracılığıylaExtensionsManager#isImageAnalysisSupported()stok durumunu sorguladığında doğru değeri döndürür. (I7d538) - Xiaomi Poco X3 NFC'de yansıtma modu etkinleştirildiğinde kaydedilen video sesinin ve görüntüsünün senkronize olmaması sorunu düzeltildi. (I20b4c)
Sürüm 1.3.0-rc01
23 Ağustos 2023
androidx.camera:camera-*:1.3.0-rc01 iptal edilir. 1.3.0-rc01 sürümü şu commit'leri içerir.
API Değişiklikleri
PendingRecording.asPersistentRecordingeklendi. Bu sayede, Kaydedici'nin bağlı olduğuVideoCaptureyeniden başlatılırken kayıt kesintisiz olarak devam edebilir. (I517c6)
Hata Düzeltmeleri
- Bir yayın hem
VideoCapturehem de önizleme ile paylaşıldığında yaşanan kilitlenme sorunu düzeltildi. Ayrıca, akış paylaşımı etkinleştirildiğinde LEGACY cihazlarda görünen siyah ekran sorunu da düzeltildi. - Samsung S7 (SM-G930T, SM-G930V) serisi cihazlarda yakalanan büyük JPEG resimleriyle ilgili sorun düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar dolgu verileri içeriyor. Bu durum, çekilen görüntülerin dosya boyutunun büyük olmasına neden olur. Yakalanan görüntülerin normal görüntü dosyası boyutlarına sahip olması için verileri dolduran gereksiz sıfırlar kaldırılır. (I407b0, b/288828159)
- Samsung S22 (SM-S901B, SM-S901B/DS) ve S22+ (SM-S906B) serisi cihazlarda yakalanan büyük boyutlu JPEG resimleriyle ilgili sorun düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar dolgu verileri içeriyor. Bu durum, S22 SM-S901B/DS cihazında çekilen görüntülerin dosya boyutunun yaklaşık 13 MB olmasına neden oluyor. Yakalanan görüntülerin normal görüntü dosyası boyutlarına sahip olması için verileri dolduran gereksiz sıfırlar kaldırılır. (I73be9, b/288828159)
- Samsung A5, A52, A70 ve A72 serisi cihazlarda yakalanan büyük JPEG resimlerle ilgili sorun düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar dolgu verileri içeriyor. Bu durum, çekilen resimlerin dosya boyutunun çok büyük olmasına (ör. yaklaşık 32 MB veya hatta 96 MB) neden olur. Yakalanan görüntülerin normal görüntü dosyası boyutlarına sahip olması için verileri dolduran gereksiz 0'lar kaldırılır. (I97c4d, b/288828159)
- Uzantılar etkin durumdayken fotoğraf çekilirken yaşanan yerel kilitlenme sorunu düzeltildi (I698f5).
Sürüm 1.3.0-beta02
26 Temmuz 2023
androidx.camera:camera-*:1.3.0-beta02 iptal edilir. 1.3.0-beta02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Düşük ışıkta çekim kalitesini artırmak için Pixel 4 ve 5 modellerinde el fenerini flaş olarak kullanma (I56ff5, b/280221967)
- Samsung A5 (2017) serisi cihazlarda yakalanan büyük JPEG resimlerle ilgili sorun düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar dolgu verileri içeriyor. Bu durum, çekilen görüntülerin dosya boyutunun yaklaşık 32 MB olmasına neden olur. Yakalanan görüntülerin normal görüntü dosyası boyutlarına sahip olması için verileri dolduran gereksiz 0'lar kaldırılır. (I29837, b/288828159)
CaptureFailedRetryQuirkbölümünde belirtilen sorunlu cihazlarda yakalama hatası durumunda yeniden denemenin düzgün şekilde tetiklenmemesi sorunu düzeltildi. (I7b589)
Sürüm 1.3.0-beta01
21 Haziran 2023
androidx.camera:camera-*:1.3.0-beta01 iptal edilir. 1.3.0-beta01 sürümü şu commit'leri içerir.
API Değişiklikleri
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)işlev adınısetAllowedResolutionMode,ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONsabitlerini isePREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATEolarak yeniden adlandırdı. (If84e8)- Kullanımdan kaldırılan
ImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)veVideoCapture.setTargetRotationDegrees(int)API'leri kaldırıldı. (Id8e77) DynamicRangesınıfı, resimlerin dinamik aralığını temsil eder. Bu,VideoCaptureileVideoCapture.Builder#setDynamicRange()arasındaki işlemlerin çıkışı olarak yüksek dinamik aralık biçimlerini seçmek için kullanılabilir. (Ib0377)- Uygulamaların, uzantılar etkinleştirildiğinde
ImageAnalysiskullanım alanının Preview veImageCaptureile birlikte bağlanıp bağlanamayacağını belirleyebileceğiisImageAnalysisSupportedAPI'siExtensionsManager'ye eklendi. (I1bc63) Recordersınıfından elde edilen yeniVideoCapabilitiessınıfı, cihazda video kaydı için desteklenen dinamik aralıkları ve kaliteleri sorgulamak üzere kullanılabilir.QualitySelector'nıngetSupportedQualities()veisQualitySupported()yöntemlerinin desteği sonlandırılıyor. Bunun yerine lütfenVideoCapabilities'nıngetSupportedQualities()veisQualitySupported()yöntemlerini kullanın. (I04014)CameraController#setVideoCaptureTargetQuality(),setVideoCaptureQualitySelectorolarak yeniden adlandırıldı ve video kalitesi kurulumu için daha fazla esneklik sağlayanQualitySelectorbağımsız değişkenini alıyor.CameraController#getVideoCaptureTargetQuality(), buna uygun olarakgetVideoCaptureQualitySelectorolarak değiştirilir. (I520ed)- Video özellikleriyle ilgili deneysel ek açıklama kaldırıldı. Video özellikleri artık kararlı sürümde. (I1a113)
Hata Düzeltmeleri
- Düşük ışıkta hızı ve çekilen görüntü kalitesini artırmak için Samsung SM-A320 modellerinde el fenerini flaş olarak kullanın. (I6a022, b/286190938)
ImageProxy.toBitmap()içinImageFormat.JPEGbiçim desteği eklendi. JPEG bayt dizisinin kodu çözülemezseUnsupportedOperationExceptionoluşturulur. (I81958, b/282057603)
Sürüm 1.3.0-alpha07
24 Mayıs 2023
androidx.camera:camera-*:1.3.0-alpha07 iptal edilir. 1.3.0-alpha07 sürümü şu commit'leri içerir.
Yeni Özellikler
- Yeni
VideoCapture.Builder# setTargetFrameRate(Range)API, video kayıtlarının cihazın varsayılanı dışında kare hızlarında da alınmasına olanak tanır. Kayıtlar için kullanılabilen kare hızları yeniCameraInfo#getSupportedFrameRates()API'si aracılığıyla sorgulanabilir.
API Değişiklikleri
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONsabitleriALLOWED_RESOLUTIONS_NORMAL/SLOWolarak, oluşturucusetHighResolutionEnabledFlagişlev adı isesetAllowedResolutionModeolarak yeniden adlandırıldı. (Iae817)CameraInfo#getSupportedFrameRateRanges(), aralıkların sırasız olduğunu daha iyi temsil etmek için artıkListyerineSetdöndürüyor. (I02f43)- Düzeltilemeyen hataları (Ice471) işlemek için
CameraEffectöğesine bir hata işleyici ekleyin. - Daha iyi test edilebilirlik için
ResolutionInfo'ye herkese açık oluşturucu ekleyin (If6d1c) setTargetRotationDegreeskullanımının yerine geçecek veImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)veVideoCapture.setTargetRotationDegrees(int)API'lerinin desteğini sonlandıracak birUseCase.snapToSurfaceRotation(int)API'si sağlandı. (Ia9010)- Önizleme kullanım alanında hedef kare hızını ayarlayıp almak için yeni
Preview#getTargetFrameRatevePreview.Builder#setTargetFrameRateAPI'leri eklendi (If4f22) VideoRecordEvent.Finalizeartık çöp toplama nedeniyleRecordingnesnesi durdurulduğundaERROR_RECORDING_GARBAGE_COLLECTEDhata koduyla tamamlanacak. (Iba974)
Hata Düzeltmeleri
StreamConfigurationMapCompatiçindeki önbelleğe alınmış çıkış boyutları boş olduğundaNullPointerExceptiondüzeltildi. (Idf124, b/282025204)Preview.setSurfaceProvider(null)simgesinin, uzantılarda önizlemeyi duraklatmaması (Ia903e) sorunu düzeltildi.VideoCapturebağlıyken kamera açılırkenConcurrentModificationExceptionistisnası oluşmasına neden olan sorun düzeltildi. (Ic8ac4)
Sürüm 1.3.0-alpha06
19 Nisan 2023
androidx.camera:camera-*:1.3.0-alpha06 iptal edilir. 1.3.0-alpha06 sürümü şu commit'leri içerir.
Yeni Özellikler
- Eşzamanlı kamera, Android 11'den itibaren kullanıma sunulan yeni bir özelliktir. Kamera cihazlarının eşzamanlı olarak yayınlanmasını destekler. Örneğin, bir cihazın hem ön hem de arka kamerasının aynı anda çalışmasına olanak tanır. CameraX şu anda yalnızca eşzamanlı olarak iki kamerayı desteklemektedir. Bu sayede aynı anda iki kamera çalışabilir ve her biri için en fazla iki {@link UseCase} bağlanabilir. Maksimum çözünürlük 720p veya 1440p'dir. Daha fazla bilgi için aşağıdaki bağlantıdaki CameraManager#getConcurrentCameraIds() bölümüne bakın.
- Aşağıdaki özellikleri kapsayan yeni
ResolutionSelectorAPI'yi kullanıma sunuyoruz:- Uygulamalar, ihtiyaçlarına en uygun çözünürlüğü seçmek için en boy oranı ve çözünürlük stratejilerini belirleyebilir.
- Tüm boyut ve en-boy oranı parametreleri, kamera cihazı sensörünün koordinatlarıyla ifade edilir.
- Uygulamalar, desteklenen boyutları istenen sırada düzenlemek için özel bir çözünürlük filtresi uygulayabilir.
- Uygulamalar, daha yüksek çözünürlüklü resimler elde etmek için yüksek çözünürlüklü çekimi de etkinleştirebilir. Ancak yüksek çözünürlük kullanmanın daha yavaş yakalama sürelerine yol açabileceğini lütfen unutmayın.
VideoCaptureyansıtma API'leri eklendi.VideoCaptureile kaydedilen videolar varsayılan olarak yansıtılmaz. Ancak kamera önizlemesi, varsayılan olarak ön kamerada ayna görüntüsü şeklinde gösterilir.VideoCaptureyansıtma API'leri, ön kamera kullanılırken kamera önizlemesiyle hizalamayı mümkün kılar. Üç taneMirrorMode,OFF,ONveON_FRONT_ONLYvar. Kamera önizlemesiyle hizalamak içinON_FRONT_ONLYkullanılması önerilir. Bu, arka kamera için yansıtmanın etkinleştirilmediği ancak ön kamera için etkinleştirildiği anlamına gelir.
API Değişiklikleri
- Yeni
ResolutionSelectorAPI'si kullanıma sunuldu. Uygulamalar, istenen sonuçları elde etmek için yedek kurallar veya özel çözünürlük filtresiyle en-boy oranı ve çözünürlük stratejilerini belirtebilir. Uygulamalar, yüksek çözünürlüklü çekimi etkinleştirmek için bir işaret belirtebilir. Bu ayar, CameraX'in fotoğraf veya video çekerken daha yüksek çözünürlükleri seçmesine olanak tanır. Ancak yüksek çözünürlük kullanmanın daha yavaş yakalama sürelerine yol açabileceğini lütfen unutmayın. (Ibed95) - AE algoritması tarafından desteklenen FPS aralıkları artık
CameraInfo#getSupportedFrameRateRanges()üzerinden sorgulanabilir. (Iaa67f) - Tüm kare hızı yöntemlerinin adlarını "FrameRate" olarak birleştirin.
VideoCapture#getTargetFrameRate()(I83304) içindeki javadoc hatasını düzeltin. - Eski
setTargetAspectRatiovesetTargetResolutionAPI'si kullanımdan kaldırıldı. Lütfen bunun yerine yeniResolutionSelectorAPI'yi kullanın. (I542c3) - Aşağıdakiler de dahil olmak üzere eşzamanlı çift kamera için herkese açık API'ler eklendi:
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)boolean isConcurrentCameraModeOn()veConcurrentCameraConfig,SingleCameraConfigveConcurrentCamera(Iab1c1)
- NonNull (Ib9c60) yapın.
ImageProcessor.Response#getOutputImage VideoCapture.Builder.setMirrorMode(int)veVideoCapture.getMirrorMode()dahil olmak üzereVideoCaptureyansıtma API'leri eklendi. API'ler, video kaydının yaygın kamera önizleme davranışıyla tutarlı olmasını gerektiren uygulamalar için yararlıdır. Örneğin, arka kamera önizlemesi yansıtılmaz ancak ön kamera önizlemesi yansıtılır. (I713b6, b/194634656)setTargetFrameRate()API'siniVideoCapture.Builder'ye vegetTargetFramerate()API'siniVideoCapture'ye ekleyin (I109d4)SurfaceOutputClosable'ı genişletin ve S'nin genel oluşturucusunu gizleyinurfaceOutput.Event. (I60ea8)- İşleme alınan bir kaydı dinamik olarak sessize alma veya sessizden çıkarma özelliği (
Recording.mute) eklendi. İşleme devam eden kaydın sesi açıkça kapatıldığındaRecordingStats,AudioStats.AUDIO_STATE_MUTEDsimgesini içerir. (Ie17fc) #setEffects()parametresi boş olmayan bir parametre haline getirildi. Efektleri temizlemek için#clearEffects()API'si ekleyin. Uygulama, efektleri kaldırmak için#clearEffects()işlevini çağırmalıdır. (I4b4d9)- Kopyalama oluşturucu için oluşturucu alan
ViewfinderSurfaceRequest.Builderöğesine ikinci bir oluşturucu ekleyin (I621a7)
Hata Düzeltmeleri
- Extensions API'yi çağıran uygulamaların kamera kapatılırken kilitlenmesine neden olan sorun düzeltildi (Ib27e5).
VideoCaptureözelliğinin bazı cihazlarda ön kamerayla çalışmamasına neden olan sorun düzeltildi. Örneğin, Samsung Galaxy S23 ve Xiaomi 2107113SG'de. (Ibec7e, b/270656244)- Android 10 veya sonraki sürümlerde, harici depolama alanındaki herkese açık klasörde bulunan dosyayı kullanarak fotoğraf çekme işleminin her zaman başarısız olması sorunu düzeltildi. Android 10'da, harici depolama alanındaki herkese açık klasörde Dosya'yı kullanarak fotoğraf çekmek için uygulama etiketinde
requestLegacyExternalStoragedeğerinin doğru olarak ayarlanması gerektiğini lütfen unutmayın. (I11b2c) DefaultSurfaceProcessoruygulamasındakiRejectedExecutionExceptionkilitlenmesi düzeltildi. Kilitlenme,VideoCapturebağlıyken ve etkinlik duraklatıldığında meydana gelebilir. (Idb46a, b/273713906)
Sürüm 1.3.0-alpha05
22 Mart 2023
androidx.camera:camera-*:1.3.0-alpha05 iptal edilir. 1.3.0-alpha05 sürümü şu commit'leri içerir.
API Değişiklikleri
VideoCapture.Builder.setTargetRotation(int),VideoCapture.setTargetRotation(int),VideoCapture.setTargetRotationDegrees(int)veVideoCapture.getTargetRotation()dahil olmak üzereVideoCapturerotasyon API'leri eklendi. API'ler, cihaz yönünü kilitleyen uygulamalar için yararlıdır.ImageCapture.setTargetRotationDegrees(int)veImageAnalysis.setTargetRotationDegrees(int)da eklenir. (Id3ffe, b/205242781)VIDEO_CAPTUREvePREVIEW|VIDEO_CAPTURE'ın efekt hedefi olarak kullanılmasına izin verin.VIDEO_CAPTURE'ı hedefleyen efektlerVideoCaptureUseCase'e uygulanır.PREVIEW|VIDEO_CAPTURE'ı hedefleyen efektler, önizlemeye veVideoCaptureakışına kopyalanmadan önce paylaşılan bir akışa uygulanır. (Iee6f3)
Hata Düzeltmeleri
- Kamera
1.2.2: Pixel (I90aa2) gibi bazı cihazlarda proguard etkinleştirildiğinde CameraX Uzantıları'nın düzgün çalışmaması sorunu düzeltildi. - Uygulama ekran yönünü kendisi yönetiyorsa döndürme işleminden sonra önizlemenin bozulmasına neden olan
PreviewViewhata düzeltildi. Bu durum yalnızca belirli cihazlarda görülür. Pixel 4a, Pixel 5 ve Pixel 6a'da yeniden üretilebilir. (I14340, b/223488673)
Sürüm 1.3.0-alpha04
22 Şubat 2023
androidx.camera:camera-*:1.3.0-alpha04 iptal edilir. 1.3.0-alpha04 sürümü şu commit'leri içerir.
Yeni Özellikler
Bir akışı birden fazla kullanım alanıyla paylaşarak daha önce desteklenmeyen Surface kombinasyonlarını destekleyen yeni bir özellik.
- Daha önce, kamera donanım düzeyinde FULL ve altında "Preview, VideoCapture, ImageAnalysis" bağlarken veya donanım düzeyinde LEGACY'de "Preview, VideoCapture, ImageCapture" bağlarken CameraX
IllegalArgumentExceptionistisnası oluşturuyordu. - Yeni davranışta, bağlamalar istisna oluşturmadan çalışır. Bunun yerine CameraX, paylaşılan bir akışı hem önizlemeye hem de VideoCapture'a kopyalamak için OpenGL'yi kullanır.
- Arabellek kopyasının maliyeti olarak uygulamada gecikme ve güç tüketimi artabilir.
API Değişiklikleri
ImageProxydeğeriniBitmapdeğerine dönüştürmek için API ekleyin. DesteklenenImageProxybiçimleriImageFormat.YUV_420_888vePixelFormat.RGBA_8888'dir. Biçim geçersizseIllegalArgumentExceptionhatası verilir. (Ic7110)- Kotlin'de askıya alma işlevlerini kullanarak vizörü yapılandırmayı desteklemek için
CoroutineCameraViewfinderekleyin. (I657bc) ViewfinderSurfaceRequestiçin yeni bir genel oluşturucu ekleyin. KullanıcıCameraCharacteristicssağlayamadığında esneklik sunar. (Ie6549)
Hata Düzeltmeleri
- Uygulama çok hızlı bir şekilde duraklatılıp devam ettirildiğinde bazı Samsung cihazlarda meydana gelen Uzantılar kilitlenmesi sorunu düzeltildi (Iaca26).
Sürüm 1.3.0-alpha03
25 Ocak 2023
androidx.camera:camera-*:1.3.0-alpha03 iptal edilir. 1.3.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
- Varsayılan kameraya göre görüş açısı bilgisi sağlamak için
CameraInfo.getIntrinsicZoomRatioeklendi. (Ib300c) - Lensin yönüyle ilgili bilgi sağlamak için
CameraInfo.getLensFacingeklendi. Harici kameraları seçmek için deneysel bir özellik olarakCameraSelector#LENS_FACING_EXTERNALeklendi. (Icaf3e) - Kamera çıkışına efekt eklenmesine olanak tanıyan
#setEffect()öğesiniCameraController'ya ekleyin. (I1d21f) invalidate()yönteminiSurfaceRequestöğesine ekleyin. Yüzey sağlayıcı, daha önce sağlanan yüzeyin artık geçerli olmadığını bildirebilir. (Idc649)ImageProcessorAPI'si ekleyin. Bu arayüz,ImageCaptureardışık düzenine ileri işleme efektleri eklemek için kullanılır. (I575c6)- Daha fazla video çözünürlüğünü desteklemek için
QualitySelectorile birleştirilebilenRecorder.Builder.setAspectRatio()API'si eklendi. (I8a082) Recorder.Builder#setTargetVideoEncodingBitRateile Hedef Video KodlamaBitRateveRecorder#getTargetVideoEncodingBitRateile Hedef Video Kodlama Bit Hızı ayarlandı. (I5984d)
Hata Düzeltmeleri
- Flaş birimi yokken ve flaş modu açıkken
ImageCaptureişleminin başarısız olması sorunu düzeltildi. (I9e8b4, b/263391112) - Bazı Samsung Android 12 cihazlarda Exif konum verileri yazılırken JPEG görüntülerinin bozulması sorunu düzeltildi. (Ib7086, b/263747161, b/263289024)
- Kamera başlatma işlemi tamamlanmadan önce el feneri/yakınlaştırma ayarlanırken (ör.
CameraController#enableTorchçağrısı yapılırken) bekleyen işlem önbelleğe alınır ve başlatma işlemi tamamlandıktan sonra gönderilir. (I11e92, b/264157663)
Sürüm 1.3.0-alpha02
7 Aralık 2022
androidx.camera:camera-*:1.3.0-alpha02 iptal edilir. 1.3.0-alpha02 sürümü şu commit'leri içerir.
API Değişiklikleri
- Önizleme çıkışına ileri işleme efekti uygulamak için yeni bir API eklendi. (Ic17d5)
OutputOptions.getDurationLimit,OutputOptions.getDurationLimitMillisolarak,OutputOptions.setDurationLimitiseOutputOptions.setDurationLimitMillisolarak yeniden adlandırıldı. (I91f0c)- Video kaydederken sesle ilgili ayarları işlemek için
AudioConfigsınıfını ekleyin. Sesin gerekli olmadığı durumlarda gereksiz izin isteklerinden kaçınmak için@RequiresPermissionek açıklamasıstartRecordingişlevlerindenAudioConfigişlevlerine taşındı. (I28755) - Yeni video yakalama API'si uygulandıktan sonra artık kullanılmayan Meta Verileri Kaldır,
OnVideoSavedCallback,OutputFileOptionsveOutputFileResultssınıflarını kaldırın. (I38cd8) - Yeni video çekme API'sini uygulayın.
setTargetResolutionartık desteklenmediğindengetVideoCaptureTargetSizevesetVideoCaptureTargetSizeyöntemlerinin yerini sırasıylagetVideoCaptureTargetQualityvesetVideoCaptureTargetQualityyöntemleri almıştır. (I2a1d5)
Hata Düzeltmeleri
- Kullanımdan kaldırılan
core.VideoCaptureAPI'si kaldırıldı. (I531e0) - Depolama izni olmadan fotoğraf çekildiğinde
onErrorgeri çağırma işleminin yapılmaması sorunu düzeltildi.(I936db, b/244807669) - Kamera uzantılarının kalitesini ve güvenilirliğini artırın. Bokeh desteği, görüntü yakalama ve önizlemenin devam etmemesiyle ilgili sorunlar nedeniyle, Kamera Uzantıları v1.1.0 ve daha eski sürümlerini kullanan Motorola cihazlarda kamera uzantıları devre dışı bırakıldı. (Id3ce3)
- Eski cihazlarda
ViewPortüzerinden video kırpma etkinleştirildiğinde yaşanan yerel kilitlenme sorunu düzeltildi. (I16b8a, b/251357665)
Sürüm 1.3.0-alpha01
9 Kasım 2022
androidx.camera:camera-*:1.3.0-alpha01 iptal edilir. 1.3.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
Camera-viewfinderresmi olarak yayınlandı.Camera-viewfinder, Camera2 için kamera akışını gösterebilen temel bir vizör widget'ı sağlar. Örnek için lütfen örnek kodu inceleyin.
API Değişiklikleri
- Video süresi sınırının ayarlanmasına izin vermek için
OutputOptions.setDurationLimiteklendi. Belirtilen süre sınırı aşıldığında kayıt otomatik olarak tamamlanır. (I902a0) - Video kaydı ses hatası durumunu
AudioStats.AUDIO_STATE_SOURCE_ERRORekleyin. Ses kaynağı kurulumu başarısız olduğunda veya bir hata oluştuğunda gönderilir. (I37410)
Hata Düzeltmeleri
- Bazı sorunlu cihazların yakalama hatalarıyla karşılaştığında yakalamayı bir kez daha denemesine izin veren bir tuhaflık eklendi. (Id4795)
PreviewViewSurfaceViewuygulamasındaViewPager2ile ilgili siyah ekran sorununu düzeltir. Düzeltme kapsamında, istenen çözünürlük değiştirilmezsePreviewView,SurfaceViewöğesini yeniden kullanır. (Ib3f27)ViewPortveyaCameraControllerAPI'si kullanıldığında video kırpma (WYSIWYG özelliği) desteklenir. (Ifbba8, b/201085351)- Ön kamerayla çekilen videoların Huawei P40 Lite'ta kaydedilememesi sorunu düzeltildi. (I87c57, b/250807400)
Sürüm 1.2
Sürüm 1.2.3
24 Mayıs 2023
androidx.camera:camera-*:1.2.3 iptal edilir. 1.2.3 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
VideoCaptureözelliğinin bazı cihazlarda ön kamerayla çalışmamasına neden olan sorun düzeltildi. Örneğin, Samsung Galaxy S23 ve Xiaomi 2107113SG'de. (Ibec7e, b/270656244)
Sürüm 1.2.2
22 Mart 2023
androidx.camera:camera-*:1.2.2 iptal edilir. 1.2.2 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Pixel (I90aa2) gibi bazı cihazlarda proguard etkinleştirildiğinde CameraX Uzantıları'nın düzgün çalışmaması sorunu düzeltildi.
Sürüm 1.2.1
25 Ocak 2023
androidx.camera:camera-*:1.2.1 iptal edilir. 1.2.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Bazı Samsung Android 12 cihazlarda Exif konum verileri yazılırken JPEG görüntü bozulması sorununu düzeltir. (b/263289024)
Sürüm 1.2.0
7 Aralık 2022
androidx.camera:camera-*:1.2.0 iptal edilir. 1.2.0 sürümü şu commit'leri içerir.
1.1.0 sürümünden beri yapılan önemli değişiklikler
- Yeni kitaplık: camera-mlkit-vision. CameraX'i barkod tarama, yüz algılama ve metin algılama gibi birçok ML Kit özelliğiyle kolayca entegre edin. Yeni API'ler olarak
MLKitAnalyzereklendi. - Yeni deneysel Zero-Shutter Lag API'si. İyi görüntü kalitesini korurken daha az gecikme için yakalama hattını optimize eder. Çekim modu
CAPTURE_MODE_ZERO_SHUTTER_LAGolarak ayarlandığında, deklanşör düğmesi tıklanması ile fotoğrafın çekilmesi arasındaki gecikmenin diğer çekim modlarına kıyasla en aza indirilmesi beklenir.ZERO_SHUTTER_LAG'yı desteklemeyen cihazlardaCAPTURE_MODE_MINIMIZE_LATENCY'a geri dönülür. android.camera.core.VideoCaptureöğesini kullanımdan kaldırın.setStreamUseCase(), herkese açıkCamera2InteropAPI'si olarak eklendi.setOutputImageRotationEnablediçin API düzeyi şartı eklendi.ImageAnalysis.Analyzer#getTargetResolutionOverride(),ImageAnalysis.Analyzer#getDefaultTargetResolution()olarak yeniden adlandırıldı.- Kayıtlı videoya konum meta verileri ayarlamak için API eklendi.
VideoCaptureve 16:9 en boy oranına sahip önizleme kullanım alanları kullanılırken düşük kare hızı sorunu düzeltildi.- Bazı Samsung cihazlarda BOKEH uzantısı etkinleştirildiğinde ve kullanıcı kameralar arasında geçiş yaptığında oluşan siyah önizleme sorunu düzeltildi.
- API seviyesi 27 olan cihazlarda Samsung J7 Prime (SM-G610M) ve J7 (SM-J710MN)
Preview/VideoCaptureuzama sorunu düzeltildi. - Sorun düzeltildiğinden beri Samsung Android T'deki ön kameraların AF bölgesini yatay olarak çevirme geçici çözümü devre dışı bırakıldı.
Sürüm 1.2.0-rc01
24 Ekim 2022
androidx.camera:camera-*:1.2.0-rc01 iptal edilir. 1.2.0-rc01 sürümü şu commit'leri içerir.
API Değişiklikleri
setStreamUseCaseiçinOutputConfigurationAPI'sini ekleyin. Kullanıcı, akış oturumu için Akış Kullanım Alanı'nı belirtebilir ve ihtiyacına göre optimizasyon yapmak için Akış Kullanım Alanı'nı seçmek üzere CameraX'in dahili mantığını geçersiz kılabilir. (Ib1a95)
Hata Düzeltmeleri
- API seviyesi 27 olan cihazlarda Samsung J7 Prime (SM-G610M) ve J7 (SM-J710MN)
Preview/VideoCaptureuzama sorunu düzeltildi. 1920x1080 çözünürlük,Preview/VideoCaptureresimlerinin gerilmesine neden oluyor. Resmin gerilmesi sorununu önlemek için önizleme veyaVideoCaptureiçin 1920x1080 çözünürlüğün seçilmemesiyle ilgili geçici çözüm eklendi. (I0e04e) - Bazı Huawei cihazlarda
VideoCaptureve 16:9 en boy oranına sahip önizleme kullanım alanları kullanılırken düşük kare hızı sorunu düzeltildi. (If8c88, b/223643510) - Önizleme'nin
SurfaceProviderayarlanmadığı durumlarda kameranın açılamaması sorunu düzeltildi. Düzeltme kapsamında,SurfaceProviderayarlanmamış önizleme artık kamera çekimi oturumunda yapılandırılmayacak. (I99681)
Sürüm 1.2.0-beta02
21 Eylül 2022
androidx.camera:camera-*:1.2.0-beta02 iptal edilir. 1.2.0-beta02 sürümü şu commit'leri içerir.
API Değişiklikleri
setOutputImageRotationEnablediçin API düzeyi şartı ekleyin (I26e3e, b/240993561)
Hata Düzeltmeleri
- Sorun düzeltildiğinden, Samsung Android T'deki ön kameraların AF bölgesini yatay olarak çevirme geçici çözümü devre dışı bırakıldı. (I05f69)
- Bazı Samsung cihazlarda
BOKEHuzantısı etkinleştirildiğinde ve kullanıcı kameralar arasında geçiş yaptığında oluşan siyah önizleme sorunu düzeltildi. (If6168)
Sürüm 1.2.0-beta01
24 Ağustos 2022
androidx.camera:camera-*:1.2.0-beta01 iptal edilir. 1.2.0-beta01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Yeni kitaplık
camera-mlkit-vision. CameraX'i barkod tarama, yüz algılama ve metin algılama gibi birçok ML Kit özelliğiyle kolayca entegre edin. Örnek kodu burada bulabilirsiniz. - Yeni deneysel Zero-Shutter Lag API. İyi görüntü kalitesini korurken daha az gecikme için yakalama işlem hattını optimize eder. Yakalama modu CAPTURE_MODE_ZERO_SHUTTER_LAG olarak ayarlandığında, deklanşör düğmesine tıklanması ile fotoğrafın çekilmesi arasındaki gecikmenin diğer yakalama modlarına kıyasla en aza indirilmesi beklenir. ZERO_SHUTTER_LAG'ı desteklemeyen cihazlarda CAPTURE_MODE_MINIMIZE_LATENCY'ye geri dönülür.
ImageAnalysis.AnalyzerveMLKitAnalyzer, resmi API'ler olarak kullanıma sunuldu.- Konum meta verilerini kaydedilen videoya ayarlamak için API kullanıma sunuldu.
ImageAnalysis.Analyzer#getTargetResolutionOverride()öğesiniImageAnalysis.Analyzer#getDefaultTargetResolution()olarak yeniden adlandırın.
Hata Düzeltmeleri
- Alps k61v1_basic_ref görüntü yakalama sorunu düzeltildi. HAL'den alınan JPEG resimlerinin Exif meta verileri yanlış. Exif meta verilerinde,
ExifInterfaceöğesinin özellikleri doğru şekilde ayrıştırması için 0xffd9 veya 0xffda etiketi yok. Bu sorunu geçici olarak çözmek için görüntüleri YUV biçiminde yakalayıp JPEG çıkış görüntüleri olarak sıkıştırın. (I45abb)
Sürüm 1.2.0-alpha04
27 Temmuz 2022
androidx.camera:camera-*:1.2.0-alpha04 iptal edilir. 1.2.0-alpha04 sürümü şu commit'leri içerir.
API Değişiklikleri
ImageAnalysis.Analyzer#getTargetResolutionOverride()öğesiniImageAnalysis.Analyzer#getDefaultTargetResolution()olarak yeniden adlandırın. Bu yöntemin döndürdüğü değerinImageAnalysis#setTargetResolution()değeriyle geçersiz kılınabilmesi için davranış da değiştirilir. (If1d36)- Konum meta verilerini kaydedilen videoya ayarlamak için API kullanıma sunuldu.
android.location.Locationnesnesi, yeni APIandroidx.camera.video.OutputOptions.Builder.setLocation(Location)ile ayarlanabilir. (I313a0, b/204197544)
Hata Düzeltmeleri
- Bağlantısı kaldırılmış önizlemeyle fotoğraf çekme sorununu düzeltme (Ie70b6, b/235119898)
- Ses kaynağı kullanılamazken kayıt yapmaya çalışıldığında
Recorderuygulamasında yaşanan kilitlenme sorunu düzeltildi. (I9f652)
Sürüm 1.2.0-alpha03
29 Haziran 2022
androidx.camera:camera-*:1.2.0-alpha03 iptal edilir. 1.2.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
ImageAnalysis.AnalyzerveMLKitAnalyzeriçin deneysel ek açıklamayı kaldırdı. (I0ff22)
Hata Düzeltmeleri
isFocusSuccessfuliptal edilmezse ve AF kısmı süre içinde yakınlaştırılmazsa AF kısmınıFocusMeteringActionfalse ile tamamlayacak 5.000 ms'lik otomatik odaklanma varsayılan zaman aşımı eklendi. (Ibc2e3)- Bağlantısı kaldırılmış önizlemeyle fotoğraf çekme sorununu düzeltin (I1d3a2, b/235119898)
- Gelişmiş genişletici uygulamasını etkinleştirildi ve CameraX destek uzantıları arayüz sürümü 1.2'ye güncellendi (I92256).
Sürüm 1.2.0-alpha02
1 Haziran 2022
androidx.camera:camera-*:1.2.0-alpha02 iptal edilir. 1.2.0-alpha02 sürümü şu commit'leri içerir.
Yeni Özellikler
- CameraX Zero-Shutter Lag API'yi deneysel olarak kullanıma sunma.
API Değişiklikleri
ImageCaptureiçinde yeni yakalama moduCAPTURE_MODE_ZERO_SHUTTER_LAGeklendi ve cihaz özelliğini sorgulamak içinCameraInfoiçindeisZslSupportedeklendi.CAPTURE_MODE_ZERO_SHUTTER_LAGmodu, anında çekim için minimum gecikmeyi sağlamayı amaçlar. Kullanıcı fotoğraf çekmek için düğmelere bastığında ara yakalama sonuçlarını daha sonra yeniden işlemek üzere önbelleğe alan bir halka arabelleği temelinde uygulanır. {@link VideoCapture} bağlıysa, flaş modu KAPALI değilse veya OEM uzantısı AÇIK ise bu mod otomatik olarak devre dışı bırakılır. (I9ae74)ImageAnalysis.getBackgroundExecutor()yöntemini ekleyin (Icc945)
Hata Düzeltmeleri
- Düzeltildi:
ImageCapturetakePicture yöntemi, bildirilen cihazlarda el fenerini kapatıyor. (Ib5eb5, b/228272227) CONTROL_ZOOM_RATIO_RANGEözelliği alınırkenAssertionErrordeğerinin işlenmemesi hatası düzeltildi.(/Ia248a, b/231701345)
Sürüm 1.2.0-alpha01
18 Mayıs 2022
androidx.camera:camera-*:1.2.0-alpha01 iptal edilir. 1.2.0-alpha01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Yeni kitaplık camera-mlkit-vision kullanıma sunuldu
Hata Düzeltmeleri
- Yedek strateji etkinleştirildiğinde
QualitySelectorsimgesinin UHD video kaydetmemesine neden olan sorun düzeltildi. Bu sorun,VideoCaptureileImageCapture'nin FULL veya daha yüksek donanım düzeyine sahip bir kamera cihazında bağlı olması durumunda ortaya çıkar.QualitySelectoryedek stratejisi,VideoCaptureöğesinin yanlışlıkla FHD çözünürlük almasına neden oluyor. UHD çözünürlük, bu kullanım alanı kombinasyonu için desteklenir ve kullanılmalıdır. (I0e788, b/230651237) NullPointerException,ImageCapture.takePicture()tarihinde düzeltildi. (I92366, b/230454568, b/229766155)androidx.camera.video.Recorder'nın eş zamansız duraklatma davranışını düzeltin (Ia8ce8)
Camera-Camera2, Camera-Core, Camera-Lifecycle ve Camera-Video 1.1.0 sürümü
Sürüm 1.1.0
29 Haziran 2022
androidx.camera:camera-*:1.1.0 iptal edilir. 1.1.0 sürümü şu commit'leri içerir.
1.0.0 sürümünden beri yapılan önemli değişiklikler
- Landmark View, Extension ve Video Capture kitaplıklarını ilk RC sürümü olarak yayınladı. 1.1.0-beta01 sürümünden itibaren tüm CameraX kitaplıkları aynı sürüm numarasına sahip olacaktır. Bu sayede geliştiriciler, sürümleri çok daha kolay takip edebilir ve büyük sürüm uyumluluğu matrislerinin karmaşıklığını azaltabilir.
- Aşağıdakiler de dahil olmak üzere yeni herkese açık API'ler ve özellikler kullanıma sunuldu:
- Video çekme kullanım alanlarını desteklemek için resmi kamera-video kitaplığını ekleyin.
- YUV'dan RGB'ye dönüştürme ve döndürme özelliği (
ImageAnalysis.Builder.setOutputImageRotationEnabledvesetOutputImageFormat) - CameraX uygulamalarının, kamera başka bir uygulama tarafından kesintiye uğradığında ve odak geri geldiğinde kamerayı devam ettirmesine izin vererek çoklu pencere modunu destekleyin.
- Bazı önizleme sorunlarını düzelterek CameraX'in katlanabilir cihazlarda iyi çalışmasını sağlar.
- CameraInfo üzerinden kullanıma sunulacak bir
CameraStateAPI'si eklendi. - Kullanılabilir kameralar hakkında doğrudan bilgi almak için bir API
ProcessCameraProvider.getAvailableCameraInfos()eklendi. - Uzantılar etkinleştirildiğinde
ImageCapture#OnImageCapturedCallbackiçin JPEG biçiminde çıktı. - Uygulamaların, verilen
FocusMeteringActionöğesinin mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyan bir APIisFocusMeteringSupportedeklendi.CameraInfo - Önizleme,
ImageCaptureveImageAnalysisiçin çözünürlük bilgilerini sağlamak üzeregetResolutionInfoAPI'si kullanıma sunuldu. - Fotoğraf çekerken çıkış JPEG görüntüsünün sıkıştırma kalitesini değiştirmeye olanak tanıyan yeni bir API
ImageCapture.Builder#setJpegQualityeklendi. CameraSelector#filter,CameraSelectortemelindeCameraInfoslistesini filtrelemek için herkese açık API'ye eklendi.- Mevcut yakalama isteği seçeneklerini temizlemek için
Camera2CameraControl.clearCaptureRequestOptionssimgesi eklendi. CameraController'ı harici görüntü işleme kitaplıklarıyla (ör. MLKit) kullanmak için deneysel bir API eklendi.- Kamerasına özgü bir
CameraSelectordöndüren deneysel APICameraInfo#getCameraSelector()eklendi. - Çeşitli deneysel API'leri resmi herkese açık API'lere yükseltti.
- Deneysel API'ler için
@Experimentalnotu@RequiresOptInile değiştirildi. Deneysel API'leri çağırmak için, kullanımdan kaldırılan androidx.annotation.experimental.UseExperimental yerine androidx.annotation.OptIn'i kullanın. - Aşağıdaki deneysel API'ler resmi API'lere yükseltildi:
CameraXConfig.Builder#setAvailableCamerasLimiter(),CameraXConfig.Builder#setMinimumLoggingLevel(),CameraXconfig.Builder#setSchedulerHandler(),CameraXConfig#getAvailableCamerasLimiter(),CameraXConfig#getMinimumLoggingLevel(),CameraXConfig#getCameraExecutor(),CameraXConfig#getSchedulerHandler(), @ExperimentalCameraFilterAPI'ler- deneysel pozlama telafisi API'leri.
- Kamera çekirdeği, kamera yaşam döngüsü ve kamera videosu için deneysel
UseCaseGroupAPI'si tanıtıldı. Görünüm alanını özelleştirmek içinViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirectionveViewPort.Builder#setScaleTypeeklendi. ExperimentalUseCaseGroupLifecycle, resmi herkese açık API'ler olarak tanıtıldı.- Mevcut API'lerde yapılan değişiklikler
Renamed MediaStoreOutputOptions.getCollection-MediaStoreOutputOptions.getCollectionUri.- Ayrıntı düzeyini azaltmak için
ActiveRecording, "Kayıt" olarak yeniden adlandırıldı. QualitySelectorOluşturucu API'si liste tabanlı API olarak değiştirildi.
Hata Düzeltmeleri
- Uzantı modu etkinleştirildiğinde ve
ImageCapture#CAPTURE_MODE_MAX_QUALITYmodu ayarlandığında ortaya çıkanYuvToJpegProcessorEOFExceptionsorunu düzeltildi. - Video kaydı kapatıldığından sabit codec yapılandırması başarısız oldu
- FHD'de kayıt yaparken önizleme/video en boy oranının gerilmesi sorunu düzeltildi.
- Bazı cihazlarda duraklatma ve devam ettirme işleminden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi.
- Flaş modu düşük ışıklı ortamda otomatik veya always_on olduğunda odaklanmak için dokunma (
startFocusAndMetering) sırasında flaşın tetiklenmesi sorunu düzeltildi.
Sürüm 1.1.0-rc02
1 Haziran 2022
androidx.camera:camera-*:1.1.0-rc02 iptal edilir. 1.1.0-rc02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
NullPointerException,ImageCapture.takePicture()tarihinde düzeltildi. (I92366, b/230454568, b/229766155)CONTROL_ZOOM_RATIO_RANGEözelliği alınırkenAssertionErroröğesinin işlenmemesine neden olan hata düzeltildi. (Ia248a, b/231701345)
Sürüm 1.1.0-rc01
11 Mayıs 2022
androidx.camera:camera-*:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Kamera-video, kamera görünümü ve kamera uzantısı için ilk RC sürümünü yayınlayın
Hata Düzeltmeleri
VideoCapture<Recorder>bağlantısı kaldırıldığında video codec'inin serbest bırakılmaması ve bu nedenleVideoCapture<Recorder>'nınMediaCodec.CodecExceptionile kayıt sırasında sonraki kullanımlarının başarısız olmasına neden olan sorun düzeltildi (özellikle API 21-22 cihazlarda). (Ie7f68)CameraExtensionsActivityile çekilen resimlerinImageCaptureTest'de silinmemesi sorununu düzeltme
Sürüm 1.1.0-beta03
6 Nisan 2022
androidx.camera:camera-*:1.1.0-beta03 iptal edilir. 1.1.0-beta03 sürümü şu commit'leri içerir.
API Değişiklikleri
CaptureRequestOptionsoluşturucusu kısıtlandı. (I261b6)CameraController'yı harici görüntü işleme kitaplıklarıyla (ör. MLKit) kullanmak için deneysel bir API eklendi (I4ea71).
Hata Düzeltmeleri
- Çok pencereli modda cihazlar döndürüldükten sonra etkinlik yeniden başlatılmadığında
PreviewViewiçinde önizlemenin yan dönmesine neden olan sorun düzeltildi. (I1ea36, b/223488673) - Odak uygulamaya geri döndüğünde (1) diğer yüksek öncelikli uygulama farklı bir kamera açtığında (2) cihaz Samsung Android 12 cihaz olduğunda kameranın devam ettirilememesine neden olan çoklu pencere sorunu düzeltildi. (I7e9f2)
- Flaşın kullanılabilirliği kontrol edilirken kilitlenen cihazlar için geçici çözüm eklendi. Bu cihazlarda el feneri kullanılamaz. (If26a3, b/216667482)
- Uygulamalar uzantıları kullandığında ve ProGuard'ı etkinleştirdiğinde oluşan
AbstractMethodErrorsorunu düzeltildi. (I7cbaf, b/222726805) - Motorola razr 5G cihazda bokeh uzantısı modunun zorunlu olarak devre dışı bırakılması, siyah önizleme ekranı sorununa neden olur. (I35d49)
- API 29 öncesi bazı Samsung cihazlarda duraklatma ve devam ettirme işleminden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi. (I64622, b/202798609, b/202798572)
- Sony G3125'te duraklatma ve devam ettirme işleminden sonra ses/görüntü senkronizasyonunun bozulması sorunu düzeltildi. (I2a1a5, b/202799148)
- Kaydedici bir
InvalidConfigExceptionile karşılaştığında oluşan kilitlenme düzeltildi. Ancak bu düzeltme yalnızca uygulamanın kilitlenmesini önler veInvalidConfigExceptionnedenini çözmez.Recorderyapılandırılamazsa uygulamalar kayda başladığında hata geri araması alır. (I89c29, b/213617227)
Harici Katkı (External Contribution)
- test-coroutines-lib taşıma işlemi nedeniyle :compose:ui:ui-test api (updateApi) güncellendi (I3366d)
Sürüm 1.1.0-beta02
23 Şubat 2022
androidx.camera:camera-*:1.1.0-beta02 iptal edilir. 1.1.0-beta02 sürümü şu commit'leri içerir.
API Değişiklikleri
- Camera2Interop aracılığıyla fiziksel kamera kimliğini belirtme özelliği eklendi. (I5aed8)
Hata Düzeltmeleri
- Oppo Find N (I7d004) cihazında önizlemenin gergin görünmesi sorunu düzeltildi.
- Önizlemenin bozuk görünmesine neden olan Galaxy J7 Prime sorunu düzeltildi. (I4c500)
- Video kodlayıcıyı bulmak için uyumlu bit hızını kullanın. (d969052)
Sürüm 1.1.0-beta01
26 Ocak 2022
androidx.camera:camera-*:1.1.0-beta01 iptal edilir. 1.1.0-beta01 sürümü şu commit'leri içerir.
Yeni Özellikler
- 1.1.0-beta01 sürümünden itibaren tüm CameraX kitaplıkları aynı sürüm numarasına sahip olacaktır. Bu sayede geliştiriciler, sürümleri çok daha kolay takip edebilir ve büyük sürüm uyumluluğu matrisinin karmaşıklığını azaltabilir.
API Değişiklikleri
- Mevcut yakalama isteği seçeneklerini temizlemek için
Camera2CameraControl.clearCaptureRequestOptionseklendi. (Ifa07d)
Hata Düzeltmeleri
- Bazı Android O(API 26) öncesi cihazlarda video kaydederken yaşanan kilitlenme sorunu düzeltildi. (I88fdf, b/212328261)
- Samsung cihazlarda ön lense bakan kamerada
cameraControl#startFocusAndMetering()kullanılırken yanlış AF bölgesi sorununu düzeltildi (Ifbf59, b/210548792). - Karanlıkta (Ib12b6, b/211474332) hızı ve çekilen görüntü kalitesini artırmak için Pixel 3a/Pixel 3a XL'de el fenerini flaş olarak kullanma
- Kamera, çoklu pencere modunda diğer yüksek öncelikli uygulamalar tarafından kesintiye uğradığında ve odak tekrar uygulamaya döndüğünde uygulamaların kamerayı devam ettirmesi sağlandı. Bazı çerçeve sorunları nedeniyle odak değişiklikleri ile kameranın yeniden açılması arasında gecikme(1 saniye ila 10 saniye veya daha fazla) olabileceğini lütfen unutmayın. (I4d092)
Sürüm 1.1.0-alpha12
15 Aralık 2021
androidx.camera:camera-*:1.1.0-alpha12 iptal edilir. 1.1.0-alpha12 sürümü şu commit'leri içerir.
API Değişiklikleri
- Gereksiz
@RequiresApi(21)açıklamaları, iç sınıflardan/arayüzlerden kaldırıldı. (I8e286, b/204917951) QualitySelectoröğesinin kalite sabitleri ve yedek strateji sabitleri, sınıf nesneleriyle temsil edilecek şekilde değiştirildi. Örneğin,QualitySelector.QUALITY_HD,Quality.HDolarak değiştirilir veQualitySelector.FALLBACK_STRATEGY_LOWER,FallbackStrategy.lowerQualityOrHigherThan(Quality)tarafından döndürülen örnek olarak değiştirilir.QualitySelectoroluşturmak için kullanılan API, liste tabanlı bir API olarak değiştirildi. Yeni APIQualitySelector.fromOrderedList(List<Quality>),QualitySelector.Proceduretarafından oluşturulan sıra yerine giriş kalitesi listesinin sırasını referans alacaktır.QualitySelector.Proceduresınıfı kaldırıldı. (I43343)PendingRecording.withEventListener()kaldırıldı ve etkinlik işleyicinin artıkPendingRecording.start()'ye iletilmesi gerekiyor. Bu etkinlik işleyici şartı,VideoRecordEvent.Finalizeetkinliğinde bildirilen eşzamansız hataların işlenmesini teşvik etmeyi amaçlar. (I1e71d)ActiveRecording, ayrıntı düzeyini azaltmak içinRecordingolarak yeniden adlandırıldı. (I77ceb)
Hata Düzeltmeleri
- Pixel 3a ve Pixel 3a XL'de (I13f19, b/205373142)
FLASH_AUTOmodunda çekilen fotoğrafların karanlık ortamlarda az pozlanması sorunu düzeltildi. - Önizlemeyi belirlemek için her zaman en yeni ekran boyutunu kullanın
Resolution. (I4a694) REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEözelliği olmayan kameralar filtrelendi.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEözellikli kameralar, her kamera cihazının desteklediği minimum özelliklere sahiptir.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEsimgesi olmayan kamera, özel işlevleri destekleyen bir kamera olabilir ve standart renk çıkışını desteklemez.CameraX, bu kameralar içinPreview,ImageCapture,ImageAnalysisveyaVideoCapturekullanım alanlarını destekleyemez. Bu nedenle, yanlış kullanımı önlemek için bu kameralar filtrelenmelidir. (Ib8cda)CameraSelector#filter, sonuç kümesi boş olduğunda artıkIllegalArgumentExceptionoluşturmuyor. (I27804)- OEM tarafından belirtilen profillere göre kodlayıcı ayarlarını seçmek için artık daha akıllı sezgisel yöntemler kullanılıyor. (Iaeef0)
- Pixel 1'de UHD video kaydı başlatıldıktan sonra sabit önizlemede iç içe geçmiş renk çizgileri görünüyordu. (I833c6, b/205340278)
Sürüm 1.1.0-alpha11
17 Kasım 2021
androidx.camera:camera-*:1.1.0-alpha11 iptal edilir. 1.1.0-alpha11 sürümü şu commit'leri içerir.
API Değişiklikleri
- CameraSelector#filter, CameraInfos listesini CameraSelector'a göre filtrelemek için herkese açık API'ye eklendi. (I105d0)
ImageAnalysis yapılandırması için setOutputImageRotationEnabled API'sini ekleyin. Kullanıcı, YUV/RGB görüntü arabelleği için döndürmeyi etkinleştirebilir. Dönme derecesi, sensörün dönmesi ve hedefin dönmesine göre hesaplanan, resmi ön planda tutmak için kullanılan göreceli bir dönmedir.
ImageAnalysis yapılandırması için setOutputImageRotationEnabled API'sini ekleyin. Kullanıcı, YUV/RGB görüntü arabelleği için döndürmeyi etkinleştirebilir. Dönme derecesi, sensörün dönmesi ve hedefin dönmesine göre hesaplanan, resmi ön planda tutmak için kullanılan göreceli bir dönmedir.
ImageInfo'ya
getSensorToBufferTransformMatrixAPI'si eklendi. Döndürülen matris, sensör koordinatlarından arabellek koordinatlarına (yaniCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZEdeğerinden(0, 0, image.getWidth, image.getHeight)değerine) yapılan bir eşlemedir. Matris, bir {UseCase}'den diğerine koordinatları eşlemek için kullanılabilir. Örneğin, ImageAnalysis ile algılanan yüzün koordinatlarını Preview ile eşleme. (I9ff1e)Fotoğraf çekerken çıkış JPEG görüntüsünün sıkıştırma kalitesini değiştirmeye olanak tanıyan yeni bir API olan ImageCapture.Builder#setJpegQuality eklendi. (I8dcf4)
MediaStoreOutputOptions.getCollection, MediaStoreOutputOptions.getCollectionUri olarak yeniden adlandırıldı. (I16639)
Hata Düzeltmeleri
- Düşük ışıklı ortamlarda flaş modu otomatik veya always_on iken dokunarak odaklanma (startFocusAndMetering) sırasında flaşın tetiklenmesiyle ilgili sorun düzeltildi. (Id4c11)
- Gecikmeyi azaltmak için Pixel 2 XL / Pixel 3 XL'de MINIMIZE_LATENCY modunda HDR+ devre dışı bırakıldı. (Ib6270, b/203505523)
Harici Katkı (External Contribution)
Sürüm 1.1.0-alpha10
13 Ekim 2021
androidx.camera:camera-*:1.1.0-alpha10 iptal edilir. 1.1.0-alpha10 sürümü şu commit'leri içerir.
Yeni Özellikler
- Video için ilk alfa sürümü olarak
androidx.camera:camera-video:1.1.0-alpha10yayınlandı. Sonraki sürümlerde düzeltilecek birkaç bilinen sorun vardır.
API Değişiklikleri
- Tüm CameraX sınıflarına
@RequiresApi(21)ek açıklaması eklendi ve AndroidManifest.xml dosyasından minSdkVersion kaldırıldı. Bu, minSdkVersion'ı 21'den düşük olan ancak API 21 ve sonraki sürümlere dayalı kod yollarını koşullu olarak kullanmak isteyen uygulamalara camera-core'un kolayca entegre edilmesini sağlar. minSdkVersion 21 veya sonraki sürümleri hedefleyen uygulamalar için bu değişiklik herhangi bir işlem gerektirmez. (Ie7f2e, b/200599470)
Hata Düzeltmeleri
- Uygulamanın, CameraCharacteristics oluşturulurken oluşan AssertionError'ı sorunsuz bir şekilde işleyebilmesi için InitializationException oluşturun. (Ibec79)
Sürüm 1.1.0-alpha09
29 Eylül 2021
androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09 ve androidx.camera:camera-lifecycle:1.1.0-alpha09 özellikleri kullanıma sunulur. Version 1.1.0-alpha09 contains these commits.
API Değişiklikleri
- API'ler artık deneysel olmadığı için ExperimentalUseCaseGroup ek açıklaması kaldırıldı. (I01ef5)
Hata Düzeltmeleri
MAXIMIZE_QUALITYmodunda çekilen fotoğrafların bulanık olması sorunu düzeltildi. (I173a9, b/193823892)- Karanlık ortamda flaş açık/otomatik modda fotoğraf çekildikten sonra kameranın takılmasına neden olan Samsung Galaxy J5 sorunu düzeltildi (I3aab9).
- ImageCapture için kırpma gerektiğinde, çıkış kırpılmış görüntüyü ayarlanan yakalama moduna göre belirtilen JPEG kalite seviyesiyle sıkıştırma. Çekim modu
CAPTURE_MODE_MINIMIZE_LATENCYise JPEG sıkıştırma kalitesi 95 olur. Çekim moduCAPTURE_MODE_MAXIMIZE_QUALITYise JPEG sıkıştırma kalitesi 100 olur. (Ieb37c, b/142856426)
Sürüm 1.1.0-alpha08
18 Ağustos 2021
androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08 ve androidx.camera:camera-lifecycle:1.1.0-alpha08 özellikleri kullanıma sunulur. Version 1.1.0-alpha08 contains these commits.
Yeni Özellikler
- Görüntü analizi yapılandırması için setOutputImageFormat API'sini ekleyin. Kullanıcı, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 veya ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888'i seçebilir. Varsayılan olarak ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 seçilir. (I7902d)
API Değişiklikleri
- API'ler artık deneysel olmadığı için ExperimentalUseCaseGroupLifecycle ek açıklaması kaldırıldı. (I17b85)
Hata Düzeltmeleri
- Huawei P20 Lite'ta önizleme ekranının çok parlak olması sorunu düzeltildi. Bu sorun yalnızca belirli özel önizleme çözünürlükleri büyük bir yakınlaştırma değeriyle birlikte kullanıldığında ortaya çıkar. (Idefce, b/192129158)
- Flaş modu FLASH_MODE_ON olarak ayarlandıktan kısa süre sonra fotoğraf çekildiğinde bazı cihazlarda flaşın çalışmamasına neden olan sorun düzeltildi. (Ieb49b)
- VideoCapture, ImageCapture ve Preview bağlıysa fotoğraf çekerken önizlemenin bir süre duraklaması sorunu düzeltildi. (I56197, b/193864120)
- ImageAnalysis'in 1080p'den daha yüksek bir çözünürlük seçmesine izin verir. LIMITED seviyesinin üzerindeki bir cihaz, Preview ve ImageCapture ile birlikte kullanıldığında ImageAnalysis için RECORD boyutunda çözünürlüğü destekleyebilir. Bunun karşılığında, ImageCapture için seçilen çözünürlüğün de RECORD boyutunda bir çözünürlük olması gerekir. ImageAnalysis için RECORD boyutu çözünürlüğünü başarıyla seçmek üzere hem ImageCapture hem de ImageAnalysis üzerinde RECORD boyutu hedef çözünürlüğü ayarlanmalıdır. Bu, uygulamanın değiş tokuşu net bir şekilde anladığını ve ImageCapture'ın MAKSİMUM çözünürlüğe sahip olmasından ziyade ImageAnalysis'in daha yüksek çözünürlüğe sahip olmasını tercih ettiğini gösterir. RECORD, MAXIMUM boyutlarının tanımları ve daha fazla bilgi için https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture adresini ziyaret edin. KAYIT boyutu, CamcorderProfile tarafından belirlenen kamera cihazının desteklediği maksimum kayıt çözünürlüğünü ifade eder. MAKSİMUM boyut, StreamConfigurationMap.getOutputSizes(int) işlevinden elde edilen, söz konusu biçim veya hedef için kamera cihazının maksimum çıkış çözünürlüğünü ifade eder. (I1ee97, b/192911449)
- Exif bilgilerini çekilen resme ekleyin. (I01ff0, b/193342619)
- ImageCapture'da, kaydetme konumu Dosya ise kaydedilen resmin URI'sini döndürün. (Ib5b49, b/149241379)
- Flaşla çekilen resimlerin birçok cihazda karanlık olmasına neden olan sorun düzeltildi. (I4e510)
Sürüm 1.1.0-alpha07
21 Temmuz 2021
androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07 ve androidx.camera:camera-lifecycle:1.1.0-alpha07 özellikleri kullanıma sunulur. 1.1.0-alpha07 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Karanlık ortamda flaş açıkken/otomatik modda fotoğraf çekildikten sonra kameranın takılmasına neden olan Samsung Galaxy Note 5 sorunu düzeltildi (If6871).
- Uzantı modu etkinleştirildiğinde ve
ImageCapture#CAPTURE_MODE_MAX_QUALITYmodu ayarlandığındaYuvToJpegProcessorEOFException sorunu düzeltildi. (I538bd, b/192017012)
Sürüm 1.1.0-alpha06
30 Haziran 2021
androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06 ve androidx.camera:camera-lifecycle:1.1.0-alpha06 özellikleri kullanıma sunulur. 1.1.0-alpha06 sürümü şu commit'leri içerir.
API Değişiklikleri
- Kamera çekirdeği için deneysel pozlama telafisi API'lerini tanıtma (I08ee8)
- CameraInfo'ya, uygulamaların belirli FocusMeteringAction'ın mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyan bir API olan isFocusMeteringSupported eklendi. (Ib45ae, b/188606490)
- Önizleme, ImageCapture ve ImageAnalysis için çözünürlük bilgilerini sağlamak üzere getResolutionInfo API'si kullanıma sunuldu. (I2b613, b/188600718)
- Aşağıdaki deneysel API'ler resmi API'lere yükseltildi: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- Bir dizi kameraya erişim sağlamak için CameraProvider arayüzü kullanıma sunuldu. (I1a7b1)
- Kamera çekirdeği, kamera yaşam döngüsü ve kamera videosu için deneysel UseCaseGroup API'yi tanıtın. Görünüm alanını özelleştirmek için
ViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirectionveViewPort.Builder#setScaleTypeeklendi. (I7cee8)
Sürüm 1.1.0-alpha05
2 Haziran 2021
androidx.camera:camera-camera2:1.1.0-alpha05, androidx.camera:camera-core:1.1.0-alpha05 ve androidx.camera:camera-lifecycle:1.1.0-alpha05 özellikleri kullanıma sunulur. Version 1.1.0-alpha05 contains these commits.
API Değişiklikleri
Camera2CameraFiltersınıfı kaldırıldı. CameraFilter ile kamera seçmeyi önerme ve gerekirse Camera2CameraInfo aracılığıyla CameraCharacteristics veya Camera2 ile ilgili diğer bilgileri alma. (Ib887c)ExperimentalCameraFilterAPI'ler artık deneysel aşamada değil ve resmi API'ler haline geldi. Bunlar, açıklama eklenmiş OptIn olmadan kullanılabilir. (I4bc94)CameraInfo#getCameraState()üzerinden kullanıma sunulan kamera durumu API'si eklendi. (Ia86b4)- Kamerasına özgü bir CameraSelector döndüren deneysel API
CameraInfo#getCameraSelector()eklendi (I77f9f).
Hata Düzeltmeleri
- setZoomRatio ve setLinearZoom'da ListenableFuture'ın döndürülmesine ve bazı Android 11 cihazlarda tamamlanamamasına neden olan sorun düzeltildi (I716d7).
- Kamera geçişini hızlandırma ve kamera cihazında hata oluşma oranını azaltma (I34c99)
- ExperimentalUseCaseGroupLifecycle, ExperimentalUseCaseGroup ile değiştirildi. (I3b2ef, b/159033688)
Sürüm 1.1.0-alpha04
21 Nisan 2021
androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04 ve androidx.camera:camera-lifecycle:1.1.0-alpha04 özellikleri kullanıma sunulur. 1.1.0-alpha04 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Aynı koleksiyona eşzamanlı olarak erişen birden fazla iş parçacığının neden olduğu bellek sızıntısı düzeltildi. Bellek sızıntısı, Etkinliğin veya Parçanın bir Önizleme örneği tarafından tutulmasına neden olabilir. (I7b4b8)
- Deneysel API'ler için
@Experimentalnotu@RequiresOptInile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılanandroidx.annotation.experimental.UseExperimentalyerineandroidx.annotation.OptInkullanın. (Iff226) - Flaş açık/otomatikken ImageCapture ile çekilen fotoğrafların Samsung Galaxy S7'de soluk çıkması sorunu düzeltildi. (I30001)
- CameraInfo üzerinden kullanıma sunulacak bir CameraState API'si eklendi. (I75392)
Sürüm 1.1.0-alpha03
24 Mart 2021
androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03 ve androidx.camera:camera-lifecycle:1.1.0-alpha03 özellikleri kullanıma sunulur. 1.1.0-alpha03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Uzantılar modu etkinleştirildiğinde
ImageCapture#OnImageCapturedCallbackiçin JPEG biçiminde çıkış. (I0d7b1) - UMIDIGI BISON cihazlarında başlatma hatası düzeltildi (I57d9e, b/180818665)
- PreviewView'da Samsung A3'teki gergin önizleme sorunu düzeltildi. (Iacb30, b/180121821)
Sürüm 1.1.0-alpha02
24 Şubat 2021
androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02 ve androidx.camera:camera-lifecycle:1.1.0-alpha02 özellikleri kullanıma sunulur. 1.1.0-alpha02 sürümü şu commit'leri içerir.
API Değişiklikleri
- Kullanılabilir kameralar hakkında doğrudan bilgi almak için bir API
ProcessCameraProvider.getAvailableCameraInfos()eklendi. Bu kameralar, cihazın tüm kameraları veyaCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)içinde sağlananCameraSelectortarafından seçilen kameralardır. (Ieac08)
Hata Düzeltmeleri
- CameraX artık ilk denemede kamerayı zorla açmaya çalışıyor. Bu durum, uygulamasının önceliği daha yüksek olduğunda CameraX'in kamerayı diğer kamera istemcilerinden çalmasına neden olabilir. (Iab069, b/175820568)
- CameraXConfig'de setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olması sorunu düzeltildi. (Ice307)
- Bu değişiklik, ImageAnalysis'te resim sırası maksimuma ulaştığında istisnayı yakalar. Bu nedenle, kilitlenme yerine diğer kullanım alanlarının donduğunu veya yavaşladığını fark edebilirsiniz. Örneğin, önizleme donabilir veya yavaşlayabilir. (Ic12da, b/175851631)
- Yalnızca Preview veya ImageCapture bağlandığında hataları bildirmek için ExtensionsErrorListener düzeltildi. (I5ae39)
- Resim çekmeden önce kaydedilen konumun doğrulanması kaldırılarak ImageCapture performans gerilemesi düzeltildi. Bu değişikliği yaptıktan sonra, kaydetme hedefi geçersizse fotoğraf çekildikten sonra kaydedilmeye çalışılacağı için hata yanıtı daha uzun sürede alınır. (I1fd4e, b/177061560)
- "File" türü OutputFileOptions ile ImageCapture performans regresyonu düzeltildi. (I5164a, b/177061560)
- Kitaplık kodundan
ProcessCameraProvider.configureInstance(...)kullanılmaması önerilecek şekilde dokümanlar güncellendi. (Ib8a9f)
Sürüm 1.1.0-alpha01
27 Ocak 2021
androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01 ve androidx.camera:camera-lifecycle:1.1.0-alpha01 özellikleri kullanıma sunulur. 1.1.0-alpha01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- SM-G930T arka kameradaki JPEG'lerde aralıklı olarak bozuk görüntü verileriyle ilgili geçici çözüm eklendi. (I52001, b/159831206)
- Önizlemenin desteklendiği tüm boyutlar 640x480'den küçük olduğunda ve ekran boyutu 640x480'den büyük olduğunda ortaya çıkan
IllegalArgumentExceptionsorunu düzeltildi. (I2a63c, b/150506192) - Herkese açık kaynakları açıkça belirtilmemiş (ör. public.xml aracılığıyla) kütüphanelerdeki kaynaklar artık varsayılan olarak gizlidir. (Ia1dcc, b/170882230)
Camera-Camera2, Camera-Core ve Camera-Lifecycle 1.0.2 sürümü
Sürüm 1.0.2
29 Eylül 2021
androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2 ve androidx.camera:camera-lifecycle:1.0.2 özellikleri kullanıma sunulur. 1.0.2 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
MAXIMIZE_QUALITYmodunda çekilen fotoğrafların bulanık olması sorunu düzeltildi. (I173a9, b/193823892)- Flaşla çekilen resmin birçok cihazda karanlık çıkmasına neden olan sorun düzeltildi. (I4e510)
Camera-Camera2, Camera-Core ve Camera-Lifecycle 1.0.1 sürümü
Sürüm 1.0.1
21 Temmuz 2021
androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1 ve androidx.camera:camera-lifecycle:1.0.1 özellikleri kullanıma sunulur. 1.0.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
ListenableFuturedöndürülensetZoomRatiovesetLinearZoom'nin bazı Android 11 cihazlarda (I716d7) tamamlanamaması sorunu düzeltildi.Bazı cihazlarda kameranın kapanma durumunda takılı kalmasına ve siyah önizlemeye neden olan sorun düzeltildi. (I34c99)
Camera-Camera2, Camera-Core ve Camera-Lifecycle 1.0.0 sürümü
Sürüm 1.0.0
5 Mayıs 2021
androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0 ve androidx.camera:camera-lifecycle:1.0.0 özellikleri kullanıma sunulur. 1.0.0 sürümü şu commit'leri içerir.
1.0.0 sürümünün temel özellikleri
- CameraX, Preview, ImageCapture ve Analysis'i destekler.
- CameraX, kullanımı kolay bir API'de kameranın yaşam döngüsünü yönetir.
- CameraX, Android kamera ekosistemindeki birçok sorunu düzelten bir uyumluluk katmanı sağlamayı amaçlar.
Bilinen Sorunlar
- Bilinen sorunlar listesine bakın.
Sürüm 1.0.0-rc05
21 Nisan 2021
androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05 ve androidx.camera:camera-lifecycle:1.0.0-rc05 özellikleri kullanıma sunulur. 1.0.0-rc05 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Flaş açık/otomatikken ImageCapture ile çekilen fotoğrafların Samsung Galaxy S7'de soluk çıkması sorunu düzeltildi. (I30001)
Sürüm 1.0.0-rc04
24 Mart 2021
androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04 ve androidx.camera:camera-lifecycle:1.0.0-rc04 özellikleri kullanıma sunulur. 1.0.0-rc04 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- UMIDIGI BISON cihazlarında başlatma hatası düzeltildi (I57d9e, b/180818665)
Sürüm 1.0.0-rc03
24 Şubat 2021
androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03 ve androidx.camera:camera-lifecycle:1.0.0-rc03 özellikleri kullanıma sunulur. 1.0.0-rc03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
ProcessCameraProvider#getInstancebelgesindeki biçim hatasını düzeltin- setAvailableCamerasLimiter, CameraXConfig'de kullanıldığında Robolectric testinin başarısız olması sorunu düzeltildi.
- Resim çekmeden önce kaydedilen konumun doğrulanması kaldırılarak ImageCapture performans gerilemesi düzeltildi. Bu değişikliği yaptıktan sonra, kaydetme hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtını almak daha uzun sürer.
- Bu değişiklik, ImageAnalysis'te resim sırası maksimuma ulaştığında istisnayı yakalar. Bu nedenle, kilitlenme yerine diğer kullanım alanlarının donduğunu veya yavaşladığını fark edebilirsiniz. Örneğin, önizleme donabilir veya yavaşlayabilir.
- SM-G930T arka kameradaki JPEG'lerde aralıklı olarak bozuk görüntü verileriyle ilgili geçici çözüm eklendi. (I52001, b/159831206)
- Bu değişiklik, ImageAnalysis'te resim sırası maksimuma ulaştığında istisnayı yakalar. Bu nedenle, kilitlenme yerine diğer kullanım alanlarının donduğunu veya yavaşladığını fark edebilirsiniz. Örneğin, önizleme donabilir veya yavaşlayabilir. (Ic12da, b/175851631)
- CameraXConfig'de setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olması sorunu düzeltildi. (Ice307)
- Resim çekmeden önce kaydedilen konumun doğrulanması kaldırılarak ImageCapture performans gerilemesi düzeltildi. Bu değişikliği yaptıktan sonra, kaydetme hedefi geçersizse fotoğraf çekildikten sonra kaydedilmeye çalışılacağı için hata yanıtı daha uzun sürede alınır. (I1fd4e, b/177061560)
- "File" türü OutputFileOptions ile ImageCapture performans regresyonu düzeltildi. (I5164a, b/177061560)
Sürüm 1.0.0-rc02
27 Ocak 2021
androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02 ve androidx.camera:camera-lifecycle:1.0.0-rc02 özellikleri kullanıma sunulur. 1.0.0-rc02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Önizleme için desteklenen tüm boyutlar 640x480'den küçük olduğunda ve ekran boyutu 640x480'den büyük olduğunda oluşan IllegalArgumentException sorunu düzeltildi. (b/150506192)
Kamerayı yeniden açma denemelerinin sayısını sınırlayın. CameraX, kamerayı açarken belirli sorunları gidermeye çalışırken artık kamerayı süresiz olarak yeniden açmaya çalışmayacak. Bunun yerine 10 saniye boyunca yeniden denedikten sonra duracak.I435d2
Önizlemenin desteklendiği tüm boyutlar 640x480'den küçük olduğunda ve ekran boyutu 640x480'den büyük olduğunda ortaya çıkan
IllegalArgumentExceptionsorunu düzeltildi. (I2a63c, b/150506192)
Sürüm 1.0.0-rc01
16 Aralık 2020
androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01 ve androidx.camera:camera-lifecycle:1.0.0-rc01 özellikleri kullanıma sunulur. 1.0.0-rc01 sürümü şu commit'leri içerir.
API Değişiklikleri
- CameraFilter ve Camera2Filter, CameraInfo'yu alacak şekilde değiştirildi. (I6883d)
- Camera2 API'leriyle dinamik olarak birlikte çalışmaya olanak tanıyan deneysel Camera2CameraControl sınıfı eklendi. (I45cf3)
- Camera2CameraInfo#fromCameraInfo, #from olarak yeniden adlandırıldı. (Ia2bd6)
- Uygulamaların kullanılmayan kameraları başlatmaktan kaçınarak başlatma gecikmesini optimize etmesine olanak tanımak için CameraXConfig'e deneysel bir setAvailableCamerasLimiter API'si eklendi. (I6cf88)
- CameraX günlükleri için minimum günlük kaydı seviyesi ayarlamaya olanak tanıyan deneysel yöntem
CameraXConfig.Builder#setMinimumLoggingLevel()eklendi. Ayarlanmadığında varsayılan olarakLog#DEBUGolur. (Ic3245)
Hata Düzeltmeleri
- SM-G930V arka kameradaki JPEG'lerde aralıklı olarak bozuk görüntü verileriyle ilgili geçici çözüm eklendi. (I5aca5, b/159831206)
- Samsung SM-A716 cihazlarda flaş her zaman açıkken ve ortam karanlıkken fotoğraf çekildiğinde sonuç alınamaması sorunu düzeltildi. (If98b2, b/172036589)
Preview.setSurfaceProvider(null)çağrılarak önizlemenin durdurulamaması sorunu düzeltildi. (I3ac18)- Bazı cihazlarda 4:3 görüntü yakalarken yaşanan yön sorunu düzeltildi. (I0e3fb, b/171492111)
Camera Camera2, Core ve Lifecycle 1.0.0-beta12 sürümü
11 Kasım 2020
androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12 ve androidx.camera:camera-lifecycle:1.0.0-beta12 özellikleri kullanıma sunulur. 1.0.0-beta12 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Samsung A3 cihazlarda otomatik flaşlı AE moduyla fotoğraf çekerken yaşanan kilitlenme sorununu düzeltmek için Samsung A3 cihazlarda otomatik flaş devre dışı bırakıldı. (Ia5fe3, b/157535165)
- Android L (API seviyeleri 21 ve 22) çalıştıran Nexus 4 cihazlarda önizlemenin gerilmesine neden olan sorun düzeltildi. (I4d407, b/158749159)
OnImageCapturedCallback#onCaptureSuccesstemel sınıfı uygulaması artık resmi kapatmıyor. Bu, geliştiricilerin beklenmedik davranışlarla karşılaşmasını önlemek içindir. Geliştiriciler, resmi kapatmak için super.onCaptureSuccess işlevini kullanmamalıdır. (Ifbf9c)- Experimental açıklamasının androidx varyantı, Kotlin ile eşitlik sağlamak için kullanımdan kaldırıldı. Bu açıklamanın yerini RequiresOptIn açıklaması aldı ve Java'ya yönelik linter, hem yeni Kotlin açıklamasını hem de yeni androidx varyantını destekleyecek şekilde güncellendi. (I52495, b/151331381)
Camera-Camera2 Version 1.0.0-beta11
14 Ekim 2020
androidx.camera:camera-camera2:1.0.0-beta11 iptal edilir. 1.0.0-beta11 sürümü şu commit'leri içerir.
Yeni Özellikler
- Geçerli
CONTROL_ZOOM_RATIOiçeren Android 11 veya sonraki sürümlere sahip cihazlarda yakınlaştırma için Android 11CONTROL_ZOOM_RATIO_RANGEAPI'sini destekler. (I62cc6)
Hata Düzeltmeleri
- Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda oluşan NumberFormatException sorunu düzeltildi. (Ib2228)
- CameraX başlatma ve bindToLifecycle'ın gecikmesi iyileştirildi (I61dc5).
- Kullanım alanlarının oluşturulması için CameraX'in başlatılması gerekmez. Uygulamaya özgü tüm yapılandırmalar, herkese açık API için
ProcessCameraProvider.bindToLifecycle()olan bir Kamera örneğine eklendikten sonra UseCase üzerinde ayarlanır. (Ia5411) <UseCase>.getTargetRotation(), Builder veya UseCase'te bir targetRotation ayarlanmadığı sürece bir Camera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0döndürür. (I80fcd)
Camera-Core Version 1.0.0-beta11
14 Ekim 2020
androidx.camera:camera-core:1.0.0-beta11 iptal edilir. 1.0.0-beta11 sürümü şu commit'leri içerir.
Yeni Özellikler
- Geçerli CONTROL_ZOOM_RATIO içeren Android 11 veya sonraki sürümlerin yüklü olduğu cihazlarda yakınlaştırma için Android 11 CONTROL_ZOOM_RATIO_RANGE API'sini destekler. (I62cc6)
Hata Düzeltmeleri
- Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda oluşan NumberFormatException sorunu düzeltildi. (Ib2228)
- Kullanım alanlarının oluşturulması için CameraX'in başlatılması gerekmez. Uygulamaya özgü tüm yapılandırmalar, herkese açık API için
ProcessCameraProvider.bindToLifecycle()olan bir Kamera örneğine eklendikten sonra UseCase üzerinde ayarlanır. (Ia5411) <UseCase>.getTargetRotation(), Builder veya UseCase'te bir targetRotation ayarlanmadığı sürece bir Camera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0döndürür. (I80fcd)
Camera-Core Version 1.0.0-beta10
23 Eylül 2020
androidx.camera:camera-core:1.0.0-beta10 iptal edilir. 1.0.0-beta10 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Resim yakalama için dosya kaydetme hedefinin doğrulanmasıyla ilgili hata düzeltildi (I8c565, b/167697553).
Camera-Camera2 Version 1.0.0-beta10
23 Eylül 2020
androidx.camera:camera-camera2:1.0.0-beta10 iptal edilir. 1.0.0-beta10 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u destekleyen sürüm
Camera-Camera2 Version 1.0.0-beta09
16 Eylül 2020
androidx.camera:camera-camera2:1.0.0-beta09 iptal edilir. 1.0.0-beta09 sürümü şu commit'leri içerir.
API Değişiklikleri
- Camera2CameraInfo, statik yöntemler sağlamak yerine, Camera2 ile ilgili bilgileri almak için oluşturulduğunda bir CameraInfo örneği alır. (I5b844)
Hata Düzeltmeleri
- Tablet cihazlarda hedef en-boy oranı sorunu düzeltildi. Hedef en boy oranı
AspectRatio.RATIO_16_9olarak ayarlandığında 16:9 boyutu seçilmelidir. (Ib7fcf, b/151969438) - Uygulamanın, CameraCharacteristics oluşturulurken oluşan AssertionError'ı düzgün şekilde işleyebilmesi için
InitializationExceptionoluşturun. (I89c8c, b/160524721) - Pozlama telafisi (If96c7) için deneysel arayüzler eklendi.
Camera-Core Version 1.0.0-beta09
16 Eylül 2020
androidx.camera:camera-core:1.0.0-beta09 iptal edilir. 1.0.0-beta09 sürümü şu commit'leri içerir.
API Değişiklikleri
- Görüntü alanının UseCaseGroup'ta boş olmayan olarak işaretlenmesine neden olan hata düzeltildi. Geliştiriciler, görünüm alanı ayarlamadan görünüm alanı oluşturabilmelidir. (Ie3d2e)
ExposureCompensationiçin deneysel arayüzler eklendi (If96c7)- Önizleme için rastgele hedef döndürmeye izin verin. Dönüşüm bilgileri, yeni bir
TranformationInfoListenergeri çağırma işlevi aracılığıyla anında hesaplanıp kullanıcıya döndürülür. (I21470)
Hata Düzeltmeleri
- Bazı cihazlarda flaşın kapanmamasına neden olan sorun düzeltildi. Bu sorun, fotoğraf çekmek için flaş modu
FLASH_MODE_ONolarak ayarlandığında ve flaş patlatıldığındaFLASH_MODE_OFFolarak değiştirildiğinde meydana geliyordu. Belirti, el feneri modu etkinleştirilmiş gibi görünüyor. (Ib4451, b/162568128) - Uzantı efekti etkinse ve tedarikçi kitaplığı uygulamasının çıkış yüzeyinde özel bir işlem yapması gerekiyorsa TextureView kullanmak için Forced PreviewView. (I0c3cc)
- Bir etkinlik/parça bağlamı
ProcessCameraProvider.getInstance(Context)'ya iletildiğinde etkinlik/parça sızıntısı düzeltildi.
Bilinen Sorunlar
- ViewPort ayarlandığında, HAL'de görüntü arabelleğini döndüren cihazlarda ImageCapture'ın kırpma dikdörtgeni yanlış olabilir. Bu sorun, sonraki sürümde düzeltilecektir.
Camera-Camera2 Version 1.0.0-beta08
19 Ağustos 2020
androidx.camera:camera-camera2:1.0.0-beta08 iptal edilir. 1.0.0-beta08 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- bindToLifecycle, ana iş parçacığında hızlı çalışacak şekilde optimize edildi. (I1d57e)
- DisplayOrientedMeteringPointFactory, CameraSelector yerine bir CameraInfo örneği alır. Böylece, fabrika hangi kamera için nokta oluşturacağını doğrudan eşleyebilir. DisplayOrientedMeteringPointFactory'yi kullanan tüm sınıflar, CameraSelector yerine CameraInfo örneği de alır. (I400c1)
- Hedef çözünürlük ayarı 2016x1080 olduğunda ve desteklenen başka bir 1920x1080 16:9 boyutu olduğunda 16:9 mod16 boyutu (864x480) seçilmesine neden olan otomatik çözünürlük en boy oranı boyutu gruplandırma sorunu düzeltildi. (I53167, b/159363774)
- Yarış durumu nedeniyle çalışamayan CameraControl sorununu düzeltin (I2279f, b/152333890, b/160714166).
Camera-Core Version 1.0.0-beta08
19 Ağustos 2020
androidx.camera:camera-core:1.0.0-beta08 iptal edilir. 1.0.0-beta08 sürümü şu commit'leri içerir.
API Değişiklikleri
DisplayOrientedMeteringPointFactory,CameraSelectoryerineCameraInfoörneğini alır. Bu nedenle, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir.DisplayOrientedMeteringPointFactorykullanan tüm sınıflar,CameraSelectoryerineCameraInfoörneği de alır. (I400c1)
Hata Düzeltmeleri
- Görüntü yakalama için, meta verilerdeki yatay çevirme işaretini kamera yönüne göre üzerine yazın. (I28499)
Context.getApplicationContext()'dan bir Application nesnesi döndürmeyen bir Context kullanıldığında başlatma artık kilitlenmemelidir. (I3d3c9, b/160817073)
Camera-Camera2 Version 1.0.0-beta07
22 Temmuz 2020
androidx.camera:camera-camera2:1.0.0-beta07 iptal edilir. 1.0.0-beta07 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Android 5.0 eski cihazlarda önizlemenin gergin görünmesine neden olan sorun düzeltildi. (I0c03a)
- Bazı cihazlarda WYSIWYG sorununa neden olacak JPEG destekli bazı boyutlar hariç tutuldu. (Ib5128)
Camera-Core Version 1.0.0-beta07
22 Temmuz 2020
androidx.camera:camera-core:1.0.0-beta07 iptal edilir. 1.0.0-beta07 sürümü şu commit'leri içerir.
API Değişiklikleri
FIT_CENTER,FIT_STARTveFIT_ENDuyum stiliniFITile birleştirin.FIT, döndürülen kırpma dikdörtgeninin mümkün olan en büyük sensör dikdörtgeni olacağı anlamına gelir. (Ia73c3)- Önizlemenin kırpma dikdörtgeni, görüntü alanına göre yapılandırılır. Son kullanıcılar yalnızca kırpma dikdörtgeniyle kaplı alanı görebilmelidir. (I142a4)
Hata Düzeltmeleri
- Android 5.0 eski cihazlarda önizlemenin gergin görünmesine neden olan sorun düzeltildi. (I0c03a)
- Kullanım alanlarının bağlantısı kaldırılırken oluşan
ConcurrentModificationExceptionistisnası sorunu düzeltildi. (I371c0)
Camera-Camera2 Version 1.0.0-beta06
24 Haziran 2020
androidx.camera:camera-camera2:1.0.0-beta06 iptal edilir. 1.0.0-beta06 sürümü şu commit'leri içerir.
API Değişiklikleri
- Kameraları kamera kimliğine ve CameraCharacteristics'e göre filtrelemek için deneysel arayüzler eklendi. (I28f61)
Hata Düzeltmeleri
- startFocusAndMetering işlevinin Samsung Galaxy S7'de başarılı bir şekilde odaklanamamasına neden olan sorun düzeltildi. (If3be7, b/159039233)
- Uygulamadan çıktıktan sonra kameranın kapatılamaması sorunu düzeltildi. (I7a7b3)
- PreviewView'ın SurfaceView uygulamasını kullanırken tekrarlanan kamera geçişi, önizlemeyi bozuyor (I920ce)
- Belirtilen MeteringPoint'lerden hiçbiri geçerli ölçüm dikdörtgenleri oluşturamıyorsa
CameraControl#startFocusAndMeteringbaşarısız olur. (Id53ce)
Camera-Core Version 1.0.0-beta06
24 Haziran 2020
androidx.camera:camera-core:1.0.0-beta06 iptal edilir. 1.0.0-beta06 sürümü şu commit'leri içerir.
API Değişiklikleri
- Kameraları kamera kimliğine ve CameraCharacteristics'e göre filtrelemek için deneysel arayüzler eklendi. (I28f61)
Hata Düzeltmeleri
- CameraX artık
ProcessCameraProvider#configureInstance()çağrılmadan önceProcessCameraProvider#getInstance()ile yapılandırılabilir. Bu sayede, uygulamanın Application sınıfındaCameraXConfig.Provideruygulanmasını gerektirmedenCameraXConfigözelleştirilebilir. (Ia1a8d) - Belirtilen MeteringPoint'lerden hiçbiri geçerli ölçüm dikdörtgenleri oluşturamıyorsa
CameraControl#startFocusAndMeteringbaşarısız olur. (Id53ce)
Camera-Camera2 Version 1.0.0-beta05
10 Haziran 2020
androidx.camera:camera-camera2:1.0.0-beta05 iptal edilir. 1.0.0-beta05 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında kilitlenme sorunu düzeltildi. Bir
InitializationException, uygulamayı kilitlenmek yerine başlatma sonucununListenableFuturedeğerine ayarlanacak birCameraUnavailableExceptioniçeriyor. (I9909a, b/149413835) CONTROL_AF_STATEdeğerinin boş olduğu cihazlardastartFocusAndMeteringaranırken yaşanan kilitlenme sorunu düzeltildi. (Ife55e, b/157084254)
Camera-Core Version 1.0.0-beta05
10 Haziran 2020
androidx.camera:camera-core:1.0.0-beta05 iptal edilir. 1.0.0-beta05 sürümü şu commit'leri içerir.
API Değişiklikleri
- Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında kilitlenme sorunu düzeltildi.
InitializationExceptioniçeren birCameraUnavailableException, uygulamayı kilitlenmek yerine başlatma sonucununListenableFuturedeğerine ayarlanır. (I9909a, b/149413835)
Hata Düzeltmeleri
setTargetResolutionvesetTargetRotationiçin güncellenmiş Javadoc'lar. (Iae16f)
Camera-Camera2 Version 1.0.0-beta04
27 Mayıs 2020
androidx.camera:camera-camera2:1.0.0-beta04 iptal edilir. 1.0.0-beta04 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Uygulamaların,
Camera2Interoparacılığıyla herhangi bir camera2 yakalama isteği parametresini ayarlamasına ve kilitlenmeye neden olmamasına izin verildi. Parametrelerin geçersiz kılınması nedeniyle ortaya çıkan sorunlar olabileceğini lütfen unutmayın. Camera2Interop kullanılarak parametreler geçersiz kılındığında kararlılık ve davranış garanti edilmez. (Ibe5a1, b/149103700) - Bir sözde yerel ayar kullanan cihazda uygulama kullanırken otomatik başlatma sorunu düzeltildi. (I3bef3, b/154767663)
- Ayrılmış kullanım alanıyla ilgili dönüştürülmüş hata günlüğü, Camera2CameraImpl'deki bir hata ayıklama günlüğüne dönüştürüldü. (I1a565, b/154422490)
- Flaş kullanılmasına rağmen çekilen resmin bazen çok karanlık olması sorunu düzeltildi. (I5d9fa, b/149729613)
ImageCapturekaynağındanImageProxyiçinde arabelleğin geri sarılmaması hatası düzeltildi (I0c455, b/153249512).- Yalnızca ImageCapture bağlamanın şu sorunlara neden olması düzeltildi: (1) MAX_QUALITY ile fotoğraf çekilememesi; (2) Otomatik pozlama çalışmadığı için kötü görüntü kalitesi oluşturulması. (I17782, b/145326998)
- CameraX, kamerayı çalan başka bir işlem veya kod yolu tarafından bağlantısı kesildiğinde kameranın yeniden açılma güvenilirliği iyileştirildi (I1fbc3, b/153714651).
Camera-Core Version 1.0.0-beta04
27 Mayıs 2020
androidx.camera:camera-core:1.0.0-beta04 iptal edilir. 1.0.0-beta04 sürümü şu commit'leri içerir.
API Değişiklikleri
- CameraX kamera yığını tarafından dahili olarak kullanılan işleyiciyi ayarlamak için deneysel bir API (
CameraXConfig.Builder#setSchedulerHandler()) ekler. Bu yeni API,CameraXConfig.Builder#setCameraExecutor()ile birlikte CameraX kamera yığını tarafından kullanılan iş parçacıkları üzerinde tam kontrol sağlar. (I7bf32, b/121160431)
Hata Düzeltmeleri
ImageAnalysisbölümünde,ImageReaderProxykapatıldıktan sonraImageProxybölümüne erişildiğinde yaşanan kilitlenme sorunu düzeltildi. Bu,Analyzertarafından alınan tümImageProxyöğelerininImageReaderProxykapatılmadan önce kapatılması gerektiği anlamına da gelir. (I4b299, b/145956416, b/154155377, b/156357269)CameraInfoparametresiPreviewView#createSurfaceProvider()öğesinden kaldırıldı.PreviewViewartık bu parametreyi dahili olarakSurfaceRequestöğesinden alıyor. (If18f0, b/154652477)- Bir sözde yerel ayar kullanan cihazda uygulama kullanırken otomatik başlatma sorunu düzeltildi. (I3bef3, b/154767663)
- Flaş kullanılmasına rağmen çekilen resmin bazen çok karanlık olması sorunu düzeltildi. (I5d9fa, b/149729613)
ImageAnalysisile ilgili, setAnalyzer/clearAnalyzer'a yapılan birden fazla çağrının, analizörün analiz edilecek resimleri almamasına neden olduğu sorun düzeltildi. (I6169f, b/151605317, b/153514544)ImageCapturekaynağındanImageProxyiçinde arabelleğin geri sarılmaması hatası düzeltildi (I0c455, b/153249512).CameraManagertarafından desteklenen listedeki ilk kameranın her zaman kullanılmak üzere seçilmemesi sorunu düzeltildi. (I4c624, b/153418028)Preview.SurfaceProviderayarının, daha önce istenen yüzeyi serbest bırakmaması nedeniyle aralıklı olarak kilitlenmeye neden olan sorun düzeltildi.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”(I8e4e7, b/155936225)
Camera-Camera2 Version 1.0.0-beta03
15 Nisan 2020
androidx.camera:camera-camera2:1.0.0-beta03 iptal edilir. Version 1.0.0-beta03 contains these commits.
Hata Düzeltmeleri
camera-coresürümünün yayınlanmasını destekleyen düzeltmeler
Camera-Core Version 1.0.0-beta03
15 Nisan 2020
androidx.camera:camera-core:1.0.0-beta03 iptal edilir. Version 1.0.0-beta03 contains these commits.
Hata Düzeltmeleri
- Beta03'teki, sıfır
UseCaseilebindToLifecycle()'yı çağırmanın istisna oluşturmasına neden olan gerileme düzeltildi. Bu durum,UseCasebağlanmadanCameraalınmasını engelliyordu.
Camera-Camera2 Version 1.0.0-beta02
1 Nisan 2020
androidx.camera:camera-camera2:1.0.0-beta02 iptal edilir. 1.0.0-beta02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
ImageCapturetarafından oluşturulanImageProxyöğesindekiImageInfo.getRotationDegrees(), EXIF yönü döndürme değeriyle eşleşecek şekilde düzeltildi. (Id4281, b/150802561)- Varsayılan CameraX/Camera2 uygulamasını kullanmak için artık
build.gradleiçinde CameraX bağımlılıklarının açıkça sıralanması gerekmiyor. Katı bağımlılıkların bildirilmesi gereken durumlarda, tüm CameraX bağımlılıkları artık derleme dosyasına dahil edilebilir. (I46e88) - Ekran boyutunun 640x480'den küçük olduğu cihazlarda yaşanan
IllegalArgumentExceptionsorunu düzeltildi. (Ife3f2, b/150506192) bindToLifecycle, yalnızca başarılı bir şekilde bağlandığında UseCase'i değiştirecek şekilde düzeltildi. Daha önce, çözümleme hesaplamaları yapmak içinbindToLifecycleçağrıldığında UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'i güncellemesi gerekmiyor (I78d9e).
Camera-Core Version 1.0.0-beta02
1 Nisan 2020
androidx.camera:camera-core:1.0.0-beta02 iptal edilir. 1.0.0-beta02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
ImageCapturetarafından oluşturulanImageProxyöğesindekiImageInfo.getRotationDegrees(), EXIF yönü döndürme değeriyle eşleşecek şekilde düzeltildi. (Id4281, b/150802561)bindToLifecycle, yalnızca başarılı bir şekilde bağlandığında UseCase'i değiştirecek şekilde düzeltildi. Daha önce, çözümleme hesaplamaları yapmak içinbindToLifecycleçağrıldığında UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'i güncellemesi gerekmiyor (I78d9e).Previewişlevinin birden fazla kez çağrılmasının ardından önizleme yüzeyi değiştiğindePreviewkullanım alanının yakalama oturumunun güncellenmemesine neden olan sorun düzeltildi.Preview.setSurfaceProvider()
Camera-Camera2 Version 1.0.0-beta01
26 Şubat 2020
androidx.camera:camera-camera2:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
SurfaceRequest.setSurface(Surface),SurfaceRequest.provideSurface(Surface)olarak,SurfaceRequest.setWillNotComplete()iseSurfaceRequest.willNotProvideSurface()olarak yeniden adlandırıldı. (I224fe)ImageCapture.setTargetRotation()kullanılarak hedef döndürme değeri değiştirildikten sonra kaydedilen bir resmin en-boy oranının doğru olmaması sorunu düzeltildi. (I474ea, b/148763432)- Varsayılan
CameraXConfigsağlayıcısını ayarlayan işaret korunarak ProGuard'ın etkin olduğu uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)
Camera-Core Version 1.0.0-beta01
26 Şubat 2020
androidx.camera:camera-core:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.
API Değişiklikleri
SurfaceRequest.provideSurface()üzerindekiListenableFuture,ExecutorveCallbackile değiştirildi. Bu değişiklik,provideSurface()üzerinde istisnaların işlenmesini gerektirmeyerek API'yi basitleştirir veprovideSurface()geri çağırmasının iptal edilememesini sağlar. Bu, yüzeylerin erken yayınlanması nedeniyle eski cihazlarda kilitlenmelerin önlenmesi içindir.SurfaceRequest.Resultnesnesi artıkSurfaceRequest'nin sağlananSurface'ı nasıl kullandığını izlemek için kullanılıyor. (I7854b)SurfaceRequest.setSurface(Surface),SurfaceRequest.provideSurface(Surface)olarak,SurfaceRequest.setWillNotComplete()iseSurfaceRequest.willNotProvideSurface()olarak yeniden adlandırıldı. (I224fe)
Hata Düzeltmeleri
ImageCapture.setTargetRotation()kullanılarak hedef döndürme değeri değiştirildikten sonra kaydedilen bir resmin en-boy oranının doğru olmaması sorunu düzeltildi. (I474ea, b/148763432)- Varsayılan
CameraXConfigsağlayıcısını ayarlayan işaret korunarak ProGuard'ın etkin olduğu uygulama varyantlarının başlatılması düzeltildi. (I2d6c1) - Flaş modu API'leriyle ilgili dokümanlar, olası değerleri içerecek şekilde güncellendi. (I4a3ec)
Camera-Camera2 Version 1.0.0-alpha10
10 Şubat 2020
androidx.camera:camera-camera2:1.0.0-alpha10 iptal edilir. 1.0.0-alpha10 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACYcihazlarda kararlılık iyileştirildi. Bu iyileştirme,Surface'ların yalnızca Camera2 tarafından kullanım süresi boyunca saklanmasını sağlar. (I9dac2)CONTROL_AE_TARGET_FPS_RANGEayarı uygun şekilde yapılarak LEGACY cihazlarda yetersiz pozlanmış önizleme sorunu düzeltildi. (1224638)
Camera-Core Version 1.0.0-alpha10
10 Şubat 2020
androidx.camera:camera-core:1.0.0-alpha10 iptal edilir. 1.0.0-alpha10 sürümü şu commit'leri içerir.
API Değişiklikleri
- Resimlerin
UriveOutputStream'ye kaydedilmesine izin vermek içinImageCapturegüncellendi. Aşırı yüklenmiştakePictureyöntemleri tek bir yöntemde birleştirildi.Uriöğesini kanonik örnek olarak kullanmak için test uygulaması güncellendi. (Ia3bec) Preview.PreviewSurfaceProvider,Preview.SurfaceProviderolarak yeniden adlandırıldı.SurfaceProviderartık geliştiricilerin kendiListenableFutureöğelerini oluşturmalarını gerektirmiyor veSurfacesağlama işlemi artık yeni birSurfaceRequestnesnesi aracılığıyla yapılıyor.Preview.getPreviewSurfaceProvider()yöntemi,PreviewilePreviewViewgibi diğer sınıflar eşleştirildiğinde kötüye kullanılma ihtimali nedeniyle kaldırıldı. (I20105)PreviewlistesinegetTargetRotation()vegetTargetName()eklendi. (Iceee7)ImageAnalysishizmetinegetTargetRotation(),getBackpressureStrategy()vegetImageQueueDepth()eklendi. (I9d6d9)ImageCapture()'dagetTargetRotation()vegetCaptureMode()eklendi (I5bc17)- Daha önce
ImageCapture.OnImageSavedCallback.onError()veImageCapture.OnImageCapturedCallback.onError()içinde iletilen bağımsız değişkenler, artık tek bir bağımsız değişken olanImageCaptureExceptionile değiştirildi. Bu bağımsız değişken, daha önce iletilen tüm bilgileri içerir. - Daha önce
ImageCapture.OnImageSavedCallback.onImageSaved()içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2) PreviewveImageCapturesınıfları artık nihai olarak işaretleniyor. (I2500b)- API güncellendi.
getZoomRatio(),getMaxZoomRatio(),getMinZoomRatio()vegetLinearZoom()yöntemleriCameraInfobirleştirilerekZoomStateörneği döndürengetZoomState()oluşturuldu. (Ib19fe) - Yalnızca şirket içi kitaplık kullanımı için tasarlandıklarından
OPTION_TARGET_CLASSveOPTION_TARGET_NAMEAPI alanlarıCameraXConfig'dan kaldırıldı.CameraXConfig.Builderiçin oluşturucu kaldırıldı. (I96912) - CameraX'i başlatmak için uygulamanın
Application'ı genişletmesi gerektiği şartı kaldırıldı. CameraX artıkcamera-camera2yapısı uygulamanınbuild.gradle'sına dahil edildiği sürece varsayılan bir Camera2 yapılandırmasıyla başlatılacak. (I58ff5) (b/146923574)
Camera-Camera2 Version 1.0.0-alpha09
22 Ocak 2020
androidx.camera:camera-camera2:1.0.0-alpha09 iptal edilir. 1.0.0-alpha09 sürümü şu commit'leri içerir.
API değişiklikleri
Camera2 kamera kimliği ayıklamak için camera2 birlikte çalışabilirlik yolu eklendi.
Camera2CameraInfo.extractCameraId()kullanarakCameraInfocihazından kamera kimliğini çıkarabilirsiniz. Aşağıdaki kod örneğinde bunun nasıl kullanılacağı gösterilmektedir:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());Camera2CameraInfosınıfı içinExperimentalCamera2InteropmarkerClass gereklidir.
Camera-Core Version 1.0.0-alpha09
22 Ocak 2020
androidx.camera:camera-core:1.0.0-alpha09 iptal edilir. 1.0.0-alpha09 sürümü şu commit'leri içerir.
API değişiklikleri
SurfaceOrientedMeteringPointFactoryparametresiuseCaseForSurface,useCaseForAspectRatioolarak yeniden adlandırıldı ve referans dokümanları genişletildi.FocusMeteringAction.Builder.from()yöntemlerinin yerini oluşturucularFocusMeteringAction.Builder()almıştır.- Kaldırıldı
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float). Uygulamalar,Displayparametresini alan oluşturucuyu kullanmalı ve geçerli ekranı iletmelidir. - Odaklanma ve ölçüm API'leri için
MeteringModeve 3A işaretleri ileDisplayparametresinin kullanımıyla ilgili Javadoc iyileştirmeleri. setZoomRatiovesetLinearZoomile ilgili referans belgeleri genişletildi.
Hata düzeltmeleri
- Kameralar kapatılıp açıldığında "Ön koşul" kontrolünün başarısız olmasına neden olan sorunlar düzeltildi.
- El feneri ve yakınlaştırma API'leri kullanılırken oluşabilecek
ConcurrentModificationExceptiondüzeltildi. - Artık mod16 boyutunda bir boyut mevcut olduğunda istenen çözünürlüğe daha yakın çözünürlüklerin seçilmesiyle ilgili sorun düzeltildi.
startFocusMeteringvecancelFocusMeteringAPI'leri artık doğru zamanlamayla ve gerektiğinde hataları döndürerek belgelendiği şekilde çalışıyor.- Bu boyutları desteklemeyen bir cihazda kırpma en-boy oranıyla belirli bir hedef çözünürlük istendiğinde ortaya çıkan sorun düzeltildi. Artık, orijinal isteği sınırlayacak yeterli çözünürlüğe sahip, kırpılmamış bir boyut varsa bu boyut seçilir.
Camera-Camera2 Version 1.0.0-alpha08
18 Aralık 2019
androidx.camera:camera-camera2:1.0.0-alpha08 iptal edilir. 1.0.0-alpha08 sürümü şu commit'leri içerir.
Bilinen Sorunlar
- Camera2 birlikte çalışabilirliği kullanılırken tüm Camera2 yakalama isteği seçenekleri çalışmaz. İstenen seçenek desteklenmiyorsa oturum başlatılamaz ve şu gibi bir hata oluşabilir:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
Hata Düzeltmeleri
- API düzeyleri 21 ve 22'de kamerayı döndürdükten veya değiştirdikten sonra önizleme siyah ekranının oluşmasına neden olan sorun düzeltildi.
API Değişiklikleri
- Deneysel: Kamera kimliğini ayıklamak için camera2 birlikte çalışabilirlik yolu eklendi.
Camera-Core Version 1.0.0-alpha08
18 Aralık 2019
androidx.camera:camera-core:1.0.0-alpha08 iptal edilir. 1.0.0-alpha08 sürümü şu commit'leri içerir.
Bilinen Sorunlar
PreviewViewveyaCameraViewkullanan uygulamalarda yanlış en-boy oranı önizlemesi olabilir. Bu durum, Pixel 2 gibi bazı FULL cihazlarda duraklatma veya devam ettirme işleminden sonra meydana gelir.
Hata Düzeltmeleri
FocusMeteringActionveCameraControlile ilgili dokümanlar güncellendi.enableTorch()vegetTorchState()içinTorchControluygulandı.
API Değişiklikleri
- IntDef'ler gizlendi ve IntDef sabitleri, IntDef tanımının dışına taşındı.
rotationDegrees,OnImageCaptureCallbacksınıfındanImageInfosınıfına taşındı.rotationDegrees,AnalyzersınıfındanImageInfosınıfına taşındı.
Camera-Camera2 Version 1.0.0-alpha07
4 Aralık 2019
androidx.camera:camera-camera2:1.0.0-alpha07 iptal edilir. camera-camera2'nin 1.0.0-alpha07 sürümünde şu commit'ler bulunur
Camera2Configartık CameraX için Camera2 tabanlı bir uygulamayı başlatma ve yapılandırma işlemlerinde kullanılabilir. Başlatma sırasında bu işlevin nasıl kullanılacağıyla ilgili daha fazla bilgiyi sürüm notlarının camera-core bölümünde bulabilirsiniz.- camera2 birlikte çalışabilirlik işlevi artık deneysel olarak işaretlendi ve ayrı bir pakete taşındı.
androidx.camera.camera2.interop.
Camera-Core Version 1.0.0-alpha07
4 Aralık 2019
androidx.camera:camera-core:1.0.0-alpha07 iptal edilir. camera-core'un 1.0.0-alpha07 sürümünde şu commit'ler yer alıyor
Beta sürümüne hazırlanırken bu alfa sürümünde bazı önemli değişiklikler yapıldığını unutmayın. Değişiklikleri incelemenizi ve CameraX Google Grubu'nda geri bildirimlerinizi paylaşmanızı öneririz. Play Store'daki uygulamalarda CameraX'i kullanan geliştiricilerin, uygulamalarındaki kitaplığı yükseltmeden önce resmi beta sürümünün yayınlanmasını beklemesini öneririz.
API değişiklikleri
Önemli: CameraX başlatma işlemi değişti. Uygulamalar
CameraXConfig.Providerözelliğini uygulamalı veandroidx.camera.camera2tarafından sağlanan varsayılanCamera2Configözelliğini kullanmalıdır. Tipik kullanım şekli:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }CameraX sınıfı kaldırıldı. CameraX sınıfı çağrısı tarafından daha önce sağlanan
bindToLifecycle(),unbind(),unbindAll(),isBound()vehasCamera()artıkProcessCameraProviderüzerinden kullanılabilir.ProcessCameraProvideröğesinin işlem başına bir örneği, tamamlandığındaProcessCameraProvideröğesini sağlayan dinlenebilir bir gelecek döndürenProcessCameraProvider.getInstance()statik yöntemi kullanılarak eşzamansız olarak elde edilir. Tipik bir kullanım içinonCreate()olarak gösterilmiştir. Başlatma gecikmesini daha sonraki bir zamana (ör. kullanıcı işlemiyle kamera kullanıcı arayüzü açıldığında) ertelemek içingetInstance()çağrılarını etkinliğin yaşam döngüsünde daha sonra yapabilirsiniz.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); }getInstance()tarafından döndürülenListenableFutureöğesine dinleyici eklenebilir. Bu, kamera sağlayıcınınFuture.get()üzerinde engellenmedenFuture'dan alınabilmesini sağlar.cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))Kamera seçimi artık kullanım alanına göre değil, kamera seçiciyle yapılıyor.
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()CameraProvider.bindToLifecycle, yaşam döngüsü sahibi, kamera seçici ve kullanım alanları verilir. Bunlar daha sonra verilen yaşam döngüsü sahibine bağlanır ve seçilen kamera için çalıştırılır.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)"Config" kullanım alanına ait sınıflar kaldırıldı. Bunun yerine, her kullanım alanı oluşturucusunda seçenekleri ayarlayarak doğrudan kullanım alanları oluşturun. Örneğin:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()Önizleme kullanım alanı, Android'deki en iyi uygulamaları sağlamak için uygulama tarafından oluşturulan ve yönetilen bir yüzeyi kabul edecek şekilde güncellendi. Kamera görünümü paketinde sağlanan
PreviewViewgörünüm sınıfını kullanmanız önemle tavsiye edilir.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)Uygulama tarafından yönetilen bir yüzey ekleme ile ilgili belgelere bakın. Bu durumlarda uygulama, yüzeyin yaşam döngüsünü yönetir.
Önemli:
ImageAnalysisAnalyzer yöntemi uygulaması, alınan resimler kullanıldıktan sonraimage.close()işlevini çağırmalıdır. Aksi takdirde, arka basınç ayarına bağlı olarak yeni görüntüler alınmayabilir veya kamera durabilir. Ayrıntılar için referans belgelerine bakın.ImageAnalysis ImageReaderModeartık geri basınç stratejisi olarak değiştirildiintdef.ImageProxy.getImage(), deneysel olarak işaretlenir. Uygulamalar, örneğin@androidx.camera.core.ExperimentalGetImagearacılığıyla kullanımı açıklama olarak eklemelidir.AnalyzeriçinUIThreadek açıklaması şartı kaldırıldı.Bir analizciyi kaldırmak için
ImageAnalysis.clearAnalyzer()işlevi eklenir.Birden fazla yöntemi olan dinleyiciler, Geri Arama olarak yeniden adlandırıldı:
ImageCapture.OnImageCapturedListeneradlı bankanın yeni adıImageCapture.OnImageCapturedCallbackImageCapture.OnImageSavedListeneradlı bankanın yeni adıImageCapture.OnImageSavedCallbackVideoCapture.OnVideoSavedListeneradlı bankanın yeni adıVideoCapture.OnVideoSavedCallback
Numaralandırmalar IntDef olarak değiştirildi
Yakınlaştırma kontrolleri eklendi:
CameraControl.setLinearZoom()CameraControl.setZoomRatio()CameraInfo.getLinearZoom()CameraInfo.getMaxZoomRatio()CameraInfo.getZoomRatio()
Flaş/el feneri donanımının mevcut olup olmadığını belirlemek için
CameraInfo.hasFlashUnit()eklenir.CameraInfo.isFlashAvailable()kaldırıldı. El feneri, flaş işlevini geçersiz kılar. Daha fazla ayrıntı için referans belgelerine bakın.ImageCapture.Metadataalanlarının yerini get/set/is erişimcileri almıştır.startFocusMeteringvecancelFocusMeteringartık çağrının eşzamansız işlemini temsil edenListenableFuturesdeğerini döndürüyor.MeteringPointsartık ölçüm işlemlerini kontrol etmek için kullanılıyor ve fabrikalar tarafından üretiliyor. Uygulamalar, özel fabrikalar yerine mevcut fabrikaları kullanmalıdır.
Çözülen sorunlar
- Önceki bir duraklatma işleminden sonra devam ettirilirken fotoğraf çekme işleminin tamamlanmayı beklemesiyle ilgili sorun düzeltildi.
- Bilinen Sorun:
CameraControl.enableTorch()işlevseldir ancak flaş birimi olmasa bile döndürülenListenableFuture<Void>her zaman anlık bircomplete(success)gelecektir. Gelecek sürümlerde bu sorun düzeltilerek nihai davranış uygulanacak: Flaş birimi olmadığındaenableTorch(true)hemen başarısız olur (CaptureSession'ye istek göndermez) veTorchStateKapalı kalır. - Bilinen Sorun:
startFocusAndMeteringvecancelFocusAndMetering, odak ölçümünü başlatıp iptal ediyor ancak belgelenen davranışı temsil etmeyen, hemencompleted (success)gelecekteki bir değeri döndürüyor.ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()kaynağından gelenFocusMeteringResult,isFocusSuccessful()olan ve her zaman "yanlış" değerini döndüren sahte bir sonuçtur. Bu sonuç, amaçlanan ve belgelenen davranıştan farklıdır. - Bilinen Sorun:
PreviewViewdokunma etkinlikleriyle kullanılacak bir ölçüm noktası fabrikası geliştiriliyor. Şimdilik, özel olarak yönetilen yüzeylere bağlanan uygulamalar mevcut ölçüm noktası fabrikalarını kullanabilir. Bunun dışında,PreviewViewiçin dokunma odaklama işlevi kullanılamaz.
Camera-Camera2 ve Camera-Core Sürüm 1.0.0-alpha06
9 Ekim 2019
androidx.camera:camera-camera2:1.0.0-alpha06 ve androidx.camera:camera-core:1.0.0-alpha06 yayınlandı. camera-camera2:1.0.0-alpha06'e dahil edilen commit'ler ve camera-core:1.0.0-alpha06'e dahil edilen commit'ler.
Yeni özellikler
En boy oranlarını ayarlama ile ilgili değişiklikler:
setTargetAspectRatioMode()eklendi ve bir enum bağımsız değişkeni kabul ediyor. Bu, en boy oranı modunu rastgele bir en boy oranı yerineRATIO_4_3veyaRATIO_16_9seçenekleriyle ayarlar. Bu, rastgele bir oran yerine yalnızca belirli en boy oranlarının kameradan sağlandığı gerçeğini daha iyi yansıtır.- Şu anda yalnızca 16:9 ve 4:3 oranları kullanılabilir. 1:1 oranında, bu özellik yalnızca belirli cihazlarda kameradan kullanılabilir ve yalnızca sınırlı çözünürlüklerde kullanılabilir. 1:1 arayüzü tasarlayan veya 1:1 işleme yapan uygulamalar, daha esnek olan 16:9 veya 4:3 seçeneklerini kullanmalı ve ekranı kırpmalı ya da bir alt bölgeyi işlemelidir.
- Bu en boy oranları, maksimum sensör alanını kullanacak şekilde yönlendirilmiştir.
getTargetAspectRatio(), kullanım alanı yapılandırma API'lerine eklenerek kullanım alanı çıkışının hedeflendiği en-boy oranını döndürür.- ImageCapture için
setTargetAspectRatio(Rational aspectRatio)yöntemisetTargetAspectRatioCustom(Rational aspectRatio)olarak değiştirildi. Bu ayar belirlendiğinde ImageCapture çıkışı buna göre kırpılır.
Yürütücü API'leri
- Aşağıdaki işlevler, yürütücü parametresini kabul eder. Bu parametre, uygulamanın işlevin hangi yürütücüde çalışacağını kontrol etmesine olanak tanır.
Preview.setOnPreviewOutputUpdateListener()API Yürütücü bu işlev için mevcut değilse ana iş parçacığında yürütülür.Preview.setOnPreviewOutputUpdateListenerFocusMeteringAction.Builder.setAutoFocusCallbackImageAnalysis.setAnalyzerImageCapture.takePictureCameraView.takePictureCameraView.startRecordingVideoCapture.startRecording
Flash Available ve Sensor Rotation API'leri kontrolüyle CameraInfo eklendi
Uygulamaların, CameraInfo'ya bakan bir lensin ve bu kamerada flaşın olup olmadığını kontrol etmesine olanak tanıyan
CameraInfovegetCameraInfoyöntemi eklendi. Örneğin: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()eklendi. Cihazın doğal yönüne göre kamera sensörünün yönünü veya kolaylık sağlamak için yüzey döndürmesiyle tanımlanan bir yöne göre (doğal yöne göre yönü tanımlar) yönünü sağlar.
API değişiklikleri ve hata düzeltmeleri
- En-boy oranları: Uygulamalar, her kullanım alanı için yalnızca
setTargetResolution()veyasetTargetAspectRatio()yöntemini çağırmalıdır. Her ikisini de aynı oluşturucuda çağırmak hataya neden olur.- Genel olarak, uygulamanın kullanıcı arayüzü tasarımına göre
setTargetAspectRatio()kullanılması önerilir. Belirli çözümler, kullanım alanına göre belirlenir. Örneğin, önizleme ekran çözünürlüklerine yakındır ve görüntü yakalama özelliği yüksek çözünürlüklü fotoğraflar sağlar. Daha fazla bilgi için otomatik çözümler tablosuna bakın. - Daha spesifik durumlar için (ör. hesaplamadan tasarruf etmek için minimum veya ayrıntıları işlemek için maksimum çözünürlük gerektiğinde)
setTargetResolution()kullanın.
- Genel olarak, uygulamanın kullanıcı arayüzü tasarımına göre
- Executor API:
setCallbackHandler()çağrısı, kullanım alanı yapılandırma API'lerinden kaldırıldı. Bunun yerine, uygulamalar geri çağırma ayarlayan çeşitli diğer API'lerde yürütücüyü parametre olarak ayarlayabilir. - Çeşitli işlevler için boş değer açıklamaları güncellendi.
- Kamera açılırken
java.lang.IllegalStateException at Camera$StateCallback.onErrorhatasının verilmesine neden olan sorun düzeltildi. - Uygulama daha büyük veya varsayılan çözünürlükler istediğinde çok küçük (640x480'den az) çözünürlüklerin seçilmesine ve bu nedenle bloklu veya bulanık bir önizleme resmi oluşmasına neden olan sorun düzeltildi. Özellikle daha küçük çözünürlüklere ihtiyaç duyan uygulamalar bunları açıkça isteyebilir.
- Başka bir kamera uygulamasını başlatan bir amaçtan döndükten sonra kameranın siyah ekran göstermesine (kameranın başlatılamamasına) neden olan sorun düzeltildi.
- Uygulamalar tekrar tekrar başlatıldığında veya durdurulduğunda aşağıdaki hatanın oluşmasına neden olan hata düzeltildi:
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface! - ImageAnalysis devre dışı bırakıldığında oluşan şu hata düzeltildi:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more. - Kamera bağlantısının kesilmesi akışıyla ilgili ek testler yapıldı.
- Arka arkaya kamera testleri çalıştırılırken test sisteminin sağlamlığı iyileştirildi.
Camera-Camera2 ve Camera-Core Version 1.0.0-alpha05
5 Eylül 2019
androidx.camera:camera-camera2:1.0.0-alpha05 ve androidx.camera:camera-core:1.0.0-alpha05 yayınlandı. camera-camera2:1.0.0-alpha05'e dahil edilen commit'ler ve camera-core:1.0.0-alpha05'e dahil edilen commit'ler aşağıda verilmiştir.
API Değişikliği: Kullanım alanı hata değişkenlerinin adı değiştirildi:
ImageCapture.UseCaseError,ImageCapture.ImageCaptureErrorolarak yeniden adlandırıldıVideoCapture.UseCaseError,VideoCapture.VideoCaptureErrorolarak yeniden adlandırıldı
CameraControlAPI'si ve Dokunarak Odaklama API'leri eklendiLens yönüne göre seçilen bir kamera için CameraX'ten
CameraControlalma API'si eklendi:CameraX.getCameraControl(LensFacing lensFacing)Odaklanmak için dokunma özelliğini çalıştırmak üzere
MeteringPointFactory,MeteringPoint,MeteringModeveFocusMeteringActioneklendi: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();Odak ölçümünü başlatmak ve iptal etmek için
CameraControlAPI'si eklendi:getCameraControl(lensFacing).startFocusAndMetering(action);getCameraControl(lensFacing).cancelFocusAndMetering();Görüntüleme sınıflarına göre dokunma koordinatlarını sensör koordinatlarına dönüştürmeye yardımcı olan Ölçüm Noktası Fabrikaları için API'ler eklendi:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
Aşağıdaki yöntemlerin Main (UI) iş parçacığında çağrılmasını zorunlu kılın. Bu yöntemler Main iş parçacığında çağrılmadığında
IllegalStateExceptionoluşturulur. Gelecekteki sürümlerde diğer iş parçacıklarında kullanıma izin verilecek ve serileştirme sağlanacaktır.CameraX.bindToLifecycle()CameraX.unbind()CameraX.unbindAll()ImageAnalysis.setAnalyzer()ImageAnalysis.getAnalyzer()ImageAnalysis.removeAnalyzer()Preview.removePreviewOutputListener()Preview.getOnPreviewOutputUpdateListener()Preview.setOnPreviewOutputUpdateListener()
Çeşitli yapılandırma ayarları artık boş parametreleri kabul ediyor ve ilgili alıcılar boş değer döndürebiliyor.
AF/AE/AWB ayarlarını desteklemeyen emülatörlerde test yaparken karşılaşılan sorun düzeltildi.
Resim analiz edilirken döndürme sırasında kilitlenme hatası düzeltildi.
Başlangıçta (kamera verisi yokken), döndürme işleminden sonra veya ön ve arka kameralar arasında geçiş yapıldığında önizlemenin siyah görünmesine neden olan hata düzeltildi.
Birden fazla eşzamanlı görüntü analizi kullanım alanında test etme özelliği kaldırıldı. Uyumluluğu sağlamak için uygulamalar yalnızca tek bir görüntü analizi kullanım alanı eklemelidir.
Kamera test paketine (WIP) sahte kamera için ilk roboelektrik testleri eklendi.
Kapsamı net olmadığı/yanıltıcı olduğu için Camera2Inititalizer testi kaldırıldı.
Camera-Camera2 ve Camera-Core Version 1.0.0-alpha04
7 Ağustos 2019
androidx.camera:camera-camera2:1.0.0-alpha04 ve androidx.camera:camera-core:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü şu commit'leri içerir.
Yeni Özellikler
En boy oranı ve çözünürlük seçiminde yapılan değişiklikler
CameraX'in amacı, kamera oturumunu başarıyla başlatmaktır. Bu nedenle CameraX, ilk hedefi olarak yakalama oturumu başlatmak için cihazın özelliklerine göre çözünürlük/en boy oranları konusunda taviz verir. Bu nedenle, tam istekler karşılanmayabilir. Bunun nedeni aşağıdakilerden biri olabilir:
- İstenen çözünürlüğü desteklemeyen cihazlar
- LEGACY cihazlarda olduğu gibi, doğru çalışmak için belirli çözünürlüklerin kullanılması gereken uyumluluk sorunları
- Bazı cihazlarda belirli biçimler yalnızca belirli en-boy oranlarında kullanılabilir.
- JPEG veya video kodlama için "en yakın mod16" tercih edilir.
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAPsayfasına göz atın.
CameraX oturumu oluşturup yönetse de kodunuzdaki kullanım alanı çıkışında döndürülen resim boyutlarını her zaman kontrol etmeli ve buna göre ayarlama yapmalısınız.
API'yi daha anlaşılır hale getirmek amacıyla çözünürlük ve en-boy oranı ayarlama konusunda bazı değişiklikler yapıldı:
- Önizleme kullanım alanında artık en boy oranı ayarlanmadığında varsayılan olarak 4:3 en boy oranı kullanılıyor.
- CameraX, cihazın özelliklerine göre istenen çözünürlüklerde ve en boy oranlarında değişiklikleri dahili olarak değerlendirirken önce aynı en boy oranını (
setTargetAspectRatioveyasetTargetResolutionçağrılarıyla belirlendiği gibi) korumaya çalışır. - Çözünürlüğün "en yakın mod16" sürümü aynı en boy oranı olarak kabul edilir.
ImageAnalysis Non-Blocking Mode
ImageReaderMode.ACQUIRE_LATEST_IMAGE'nın davranışı artık engelleyici değil. Kuyruktaki en son görüntüyü alır ancak kamera işlem hattının engellenmesini önlemek için kullanılmayan görüntüleri sürekli olarak siler.- Analiz aracı, işlem hattını durdurmadan tek bir görüntüyü süresiz olarak tutabilir.
- Uygulama, daha sonra engellenen bir yürütücü sağlarsa ImageAnalysis kullanım alanı engellenir.
- Dahili olarak ayarlanan varsayılan yürütücü, engellemeyen bir yürütücü gibi davranır.
Hata Düzeltmeleri
- Otomatik odaklama, otomatik pozlama ve otomatik beyaz dengesi olmayan cihazlarda görüntü yakalarken 3A yakınsamasının beklenmesiyle ilgili zaman aşımı sorunları düzeltildi.
- ImageCapture ile hızlıca fotoğraf çekmeyle ilgili sorun düzeltildi. Düzeltilen hata:
java.lang.IllegalStateException: maxImages (2) has already been acquired - Bir kullanım alanında
setLensFacingişlevi çağrılmadığındajava.lang.IllegalArgumentException: Unable to get camera ID for use casesonucunu veren sorun düzeltildi. - LEGACY cihazın maksimum JPEG çözünürlüğü olarak belirli bir en-boy oranını gerektirmesi sorunu düzeltildi.
- Kamera açılırken uygulamayı arka plana alma sorunu düzeltildi.
- API < 25'teki sorun düzeltildi ve
checkAndUpdateEglState: invalid current EGLDisplayhatası kaldırıldı. - Uzantılar etkinleştirilip başlatıldıktan sonra önizlemenin bağlantısının kaldırılmasıyla ilgili sorun düzeltildi.
- Kamera görünümü ve kamera uzantıları için derleme yapıları artık alfa sürümü olarak yayınlanıyor
Camera-Camera2 ve Camera-Core Sürüm 1.0.0-alpha03
2 Temmuz 2019
androidx.camera:camera-core:1.0.0-alpha03 ve androidx.camera:camera-camera2:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
- setTarget yapılandırma çağrılarında "target" için javadoc açıklaması eklendi.
Camera-Core
- Hızlı açma/kapama veya bağlama/bağlantıyı kaldırma sırasında yapılandırılmamış giriş/çıkış yüzeyinin kilitlenmesi sorunu düzeltildi.
- Yeni vadeli işlemler uygulamalarına geçiş
- Daha kapsamlı testler için düzeltmeleri test etme
- Temel entegrasyon testi artık fotoğrafların çekilme zamanını gösteriyor
- Yürütücüler için dahili uyumluluk sınıfı geliştirildi.
- Zamanlama testi uygulaması, görüntü yakalama işleminin tamamlanmasını bekler ve kararlılığı artırır.
Uzantılar
- Sürüm oluşturma kontrolleri eklendi
- Ek test kapsamı - uzantı etkinliği geri çağırmaları
- Dahili olarak eşleşen görüntü ve meta verilerle ilgili iyileştirmeler
- Test uygulamasında mod değiştirme ile ilgili düzeltmeler
Camera-Camera2 ve Camera-Core 1.0.0-alpha02 sürümü
5 Haziran 2019
androidx.camera:camera-core:1.0.0-alpha02 ve androidx.camera:camera-camera2:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü şu commit'leri içerir.
Hata düzeltmeleri
- Emülatör kullanılırken sıfıra bölme sorunu düzeltildi.
- Kullanım alanları hızlı bir şekilde çözülüp yeniden bağlanırken bazı cihazlarda hızlıca fotoğraf çekildiğinde oluşan NullPointerException/Surface Abandoned hatası düzeltildi.
- Yakalanan istek güncellemelerinin tüm yüzeyleri tutarlı bir şekilde etkilemesini sağlamak için dahili sorun düzeltildi.
- Yeni uygulama örneklerinde kullanım alanları yeniden başlatılırken kararlılık iyileştirmeleri
- API'de yürütücülerin desteklenmesine hazırlanmak için dahili mimari değişiklikler
- CameraX sınıfı ve yaşam döngüsü yönetimiyle ilgili ek Javadoc açıklamaları
- Antelope performans testi uygulaması için araçlı test eklendi
- Uygulama ProGuard yapılandırmasında "-keepattributes Signature" gerekmesini kaldırma
Camera-Camera2 ve Camera-Core 1.0.0-alpha01
7 Mayıs 2019
androidx.camera:camera-core:1.0.0-alpha01 ve
androidx.camera:camera-camera2:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü şu commit'leri içerir.
Camera-Lifecycle Version 1.0.0-beta11
14 Ekim 2020
androidx.camera:camera-lifecycle:1.0.0-beta11 iptal edilir. 1.0.0-beta11 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
<UseCase>.getTargetRotation(), Builder veya UseCase'te bir targetRotation ayarlanmadığı sürece bir Camera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0döndürür. (I80fcd)
Camera-Lifecycle Version 1.0.0-beta10
23 Eylül 2020
androidx.camera:camera-lifecycle:1.0.0-beta10 iptal edilir. 1.0.0-beta10 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u destekleyen sürüm
Camera-Lifecycle Version 1.0.0-beta09
16 Eylül 2020
androidx.camera:camera-lifecycle:1.0.0-beta09 iptal edilir. 1.0.0-beta09 sürümü şu commit'leri içerir.
Camera-Lifecycle Version 1.0.0-beta08
19 Ağustos 2020
androidx.camera:camera-lifecycle:1.0.0-beta08 iptal edilir. 1.0.0-beta08 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
Context.getApplicationContext()'dan bir Application nesnesi döndürmeyen bir Context kullanıldığında başlatma artık kilitlenmemelidir. (I3d3c9, b/160817073)
Camera-Lifecycle Version 1.0.0-beta07
22 Temmuz 2020
androidx.camera:camera-lifecycle:1.0.0-beta07 iptal edilir. 1.0.0-beta07 sürümü şu commit'leri içerir.
Camera-Lifecycle Version 1.0.0-beta06
24 Haziran 2020
androidx.camera:camera-lifecycle:1.0.0-beta06 iptal edilir. 1.0.0-beta06 sürümü şu commit'leri içerir.
API Değişiklikleri
- CameraX artık ProcessCameraProvider#getInstance() çağrılmadan önce ProcessCameraProvider#configureInstance() ile yapılandırılabilir. Bu, CameraXConfig.Provider'ın uygulamanın Application sınıfında uygulanmasını gerektirmeden CameraXConfig'in özelleştirilmesine olanak tanır. (Ia1a8d)
Camera-Lifecycle Version 1.0.0-beta05
10 Haziran 2020
androidx.camera:camera-lifecycle:1.0.0-beta05 iptal edilir. 1.0.0-beta05 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında kilitlenme sorunu düzeltildi.
InitializationExceptioniçeren birCameraUnavailableException, uygulamayı kilitlenmek yerine başlatma sonucununListenableFuturedeğerine ayarlanır. (I9909a, b/149413835)
Camera-Lifecycle Version 1.0.0-beta04
27 Mayıs 2020
androidx.camera:camera-lifecycle:1.0.0-beta04 iptal edilir. 1.0.0-beta04 sürümü şu commit'leri içerir.
Camera-Lifecycle Version 1.0.0-beta03
15 Nisan 2020
androidx.camera:camera-lifecycle:1.0.0-beta03 iptal edilir. Version 1.0.0-beta03 contains these commits.
Hata Düzeltmeleri
- Beta03'teki, sıfır
UseCaseilebindToLifecycle()çağrıldığında istisna oluşturulmasına neden olan gerileme düzeltildi. Bu durum,UseCasebağlanmadanCameraalınmasını engelliyordu. camera-coresürümünün yayınlanmasını destekleyen düzeltmeler
Camera-Lifecycle Version 1.0.0-beta01
26 Şubat 2020
androidx.camera:camera-lifecycle:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Başlatma sırasında
ProcessCameraProviderelde edilirken varsayılan bir yapılandırmanın kullanıldığını veApplication'nin genişletilmesinin isteğe bağlı olduğunu belirten doküman düzeltildi. (I5e395)
Camera-Lifecycle Version 1.0.0-beta02
1 Nisan 2020
androidx.camera:camera-lifecycle:1.0.0-beta02 iptal edilir. 1.0.0-beta02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
camera-camera2:1.0.0-beta02vecamera-core:1.0.0-beta02yapılarındaki hata düzeltmelerini destekleyecek şekilde güncellendi.
Camera-Lifecycle Version 1.0.0-alpha10
10 Şubat 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10 iptal edilir. 1.0.0-alpha10 sürümü şu commit'leri içerir.
API Değişiklikleri
- BindToLifecycle, unbind ve unbindAll yöntemlerine
@MainThreadek açıklaması eklendi. (I990d2)
Camera-Lifecycle Version 1.0.0-alpha03
22 Ocak 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03 iptal edilir. 1.0.0-alpha03 sürümü şu commit'leri içerir.
Güncellemeler
- Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler yapıldı.
Camera-Lifecycle Version 1.0.0-alpha02
18 Aralık 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02 iptal edilir. 1.0.0-alpha02 sürümü şu commit'leri içerir.
Bağımlılık değişiklikleri
androidx.camera:camera-core:1.0.0-alpha08kullanılacak şekilde güncellendi.
Camera-Lifecycle Version 1.0.0-alpha01
4 Aralık 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01 iptal edilir. camera-lifecycle 1.0.0-alpha01 sürümü şu commit'leri içerir
API notları
LifeCycleCameraProviderarayüzü sağlayan camera-lifecycle yapısı veProcessCameraProvideradlı bir uygulama eklenir. Bu uygulama, önceki CameraX sınıfının temeldeki işlevlerinin çoğunu sağlar vegetInstance()yöntemiyle elde edilir.- Uygulamalar, CameraX'i kullanmak için kamera yaşam döngüsü kitaplığını içermelidir.
ProcessCameraProviderkullanarak CameraX'i başlatma hakkında bilgi için camera-core bölümündeki notlara bakın.
Kamera Uzantıları ve Kamera Görünümü 1.0.0 sürümü
Sürüm 1.0.0-alpha32
15 Aralık 2021
androidx.camera:camera-extensions:1.0.0-alpha32 ve androidx.camera:camera-view:1.0.0-alpha32 yayınlandı. 1.0.0-alpha32 sürümü şu commit'leri içerir.
API Değişiklikleri
- Gereksiz
@RequiresApi(21)açıklamaları, iç sınıflardan/arayüzlerden kaldırıldı. (I8e286, b/204917951) - Kamera uzantıları yapısı için API dosyalarını güncelleyin. (If683a, b/161377155)
Hata Düzeltmeleri
- Uygulamanın
VideoCapturebağlanırken uzatma modlarını etkinleştirmesine izin vermeyin. CameraX Uzantıları yalnızcaImageCapturevePreview'yi destekler.VideoCapturehenüz desteklenmiyor. UygulamaVideoCaptureile bağlanırsa ve herhangi bir uzantı modu etkinleştirirseIllegalArgumentExceptionistisnası oluşturulur. (I0d87b) CameraSelector#filter, sonuç kümesi boş olduğunda artıkIllegalArgumentExceptionoluşturmuyor. (I27804)ExtensionsManager#getInstanceAPI'si,ListenableFuturedöndürdüğü içingetInstanceAsyncolarak yeniden adlandırıldı. İşlev adının Async soneki, bunun bir asenkron işlev olduğunu açıkça gösterir. (I279d2)- Kullanıcılar
ExtensionsManager#getEstimatedCaptureLatencyRangekullanım alanında hangi boyutların desteklendiğini bilemediği ve döndürülen gecikme bilgilerinin maksimum yakalama çıkış boyutu mu yoksa giriş çözünürlüğü parametresi için mi olduğunu ayırt edemediği içinImageCaptureAPI'sinden çözünürlük parametresini kaldırın. (I74bb2) ExtensionsManagerişlevlerininCameraProviderparametresinigetInstance()API'ye taşıyın. Böylece kullanıcılarınCameraProviderparametresiniExtensionsManagerişlevlerini her çağırdıklarında girmeleri gerekmez. (Ic7e48)
Sürüm 1.0.0-alpha31
17 Kasım 2021
androidx.camera:camera-extensions:1.0.0-alpha31 ve androidx.camera:camera-view:1.0.0-alpha31 yayınlandı. Version 1.0.0-alpha31 contains these commits.
API Değişiklikleri
- CameraSelector#filter, CameraInfos listesini CameraSelector'a göre filtrelemek için herkese açık API'ye eklendi. (I105d0)
Hata Düzeltmeleri
- Belirli cihazlarda uzantı modunu hızlıca değiştirirken yaşanan kilitlenme düzeltildi. (Iebbef)
Sürüm 1.0.0-alpha30
13 Ekim 2021
androidx.camera:camera-extensions:1.0.0-alpha30 ve androidx.camera:camera-view:1.0.0-alpha30 yayınlandı. 1.0.0-alpha30 sürümü şu commit'leri içerir.
API Değişiklikleri
- Tüm CameraX sınıflarına @RequiresApi(21) ek açıklaması eklendi ve AndroidManifest.xml'den minSdkVersion kaldırıldı. Bu, minSdkVersion'ı 21'den düşük olan ancak API 21 ve sonraki sürümlere dayalı kod yollarını koşullu olarak kullanmak isteyen uygulamalara camera-core'un kolayca entegre edilmesini sağlar. minSdkVersion 21 veya sonraki sürümleri hedefleyen uygulamalar için bu değişiklik herhangi bir işlem gerektirmez. (Ie7f2e, b/200599470)
Hata Düzeltmeleri
- Proguard etkinleştirildiğinde oluşan AbstractMethodError sorunu düzeltildi. (Iae468, b/201177844)
Sürüm 1.0.0-alpha29
29 Eylül 2021
androidx.camera:camera-extensions:1.0.0-alpha29 ve androidx.camera:camera-view:1.0.0-alpha29 yayınlandı. Version 1.0.0-alpha29 contains these commits.
API Değişiklikleri
- API'ler artık deneysel olmadığı için ExperimentalUseCaseGroup ek açıklaması kaldırıldı. (I01ef5)
RotationProvider#removeAllListeners()dilini kaldırın. Lütfen bunun yerineRotationProvider#removeListener(...)seçeneğini kullanın. (Id9d4a)- RotationReceiver sınıfı güncellendi: set/clear Listener, add/remove/removeAll olarak değiştirildi, varsayılan olarak ana iş parçacığını kullanan setListener varyasyonu kaldırıldı ve yöntemlerin açıklaması eklendi. (Ib1669)
Hata Düzeltmeleri
- Eklenti modunun ne yaptığını doğru şekilde göstermek için ExtensionMode#BEAUTY, FACE_RETOUCH olarak yeniden adlandırıldı. (I61f54, b/198515274)
- Birden fazla CameraController ve PreviewView tek bir etkinlikte kullanıldığında kameranın beklenmedik şekilde kapanmasına neden olan sorun düzeltildi. (Ibfd18, b/197539358)
Sürüm 1.0.0-alpha28
18 Ağustos 2021
androidx.camera:camera-extensions:1.0.0-alpha28 ve androidx.camera:camera-view:1.0.0-alpha28 yayınlandı. 1.0.0-alpha28 sürümü şu commit'leri içerir.
API Değişiklikleri
- API'ler artık deneysel olmadığı için ExperimentalUseCaseGroupLifecycle ek açıklaması kaldırıldı. (I17b85)
- RotationListener yeniden düzenlendi ve RotationProvider olarak yeniden adlandırıldı. Bu özellik, biraz farklı bir API ile sunulmaya devam ediyor. (Idffc5)
- TAP_TO_FOCUS_UNSUCCESSFUL'ı TAP_TO_FOCUS_NOT_FOCUSED, TAP_TO_FOCUS_SUCCESSFUL'ı ise TAP_TO_FOCUS_FOCUSED olarak yeniden adlandırın. Made OutputSize final (I099fa)
Hata Düzeltmeleri
- Kullanımdan kaldırılan
<EffectName><UseCase>Extendersınıfları, ExtensionsErrorListener ve ilgili ExtensionsManager API'leri kaldırıldı. (I3b8c3)
Sürüm 1.0.0-alpha27
21 Temmuz 2021
androidx.camera:camera-extensions:1.0.0-alpha27 ve androidx.camera:camera-view:1.0.0-alpha27 yayınlandı. 1.0.0-alpha27 sürümü şu commit'leri içerir.
API Değişiklikleri
- Viewport API'nin deneysel sürümden çıkmasını sağladık. API'nin deneysel açıklamasını kaldırın. (I717ea)
CoordinateTransform#getTransform,CoordinateTransform#transformolarak yeniden adlandırıldı ve JavaDoc güncellendi (I864ae)
Hata Düzeltmeleri
PreviewView PERFORMANCEmodu, Compose UI ile birlikte kullanıldığında yaşanan uzama sorunu düzeltildi. (Ie1137, b/183864890)
Sürüm 1.0.0-alpha26
30 Haziran 2021
androidx.camera:camera-extensions:1.0.0-alpha26 ve androidx.camera:camera-view:1.0.0-alpha26 yayınlandı. 1.0.0-alpha26 sürümü şu commit'leri içerir.
API Değişiklikleri
- En son dokunarak odaklanma sonucunu gösteren yeni bir yöntem
CameraController#getTapToFocusState()ekleyin. (Iaccb0) - CameraController'a daha fazla kamera çekirdeği özelliği ekleme: hedef en-boy oranı, hedef çözünürlük, çekim modu, CameraControl ve özel yürütücüler için alıcılar/ayarlayıcılar. (Iea8f2)
- Yüzey döndürme değişikliklerini alan bir RotationReceiver sınıfı ekleyin. Bu, cihaz sabit dikey/yatay moddayken hedef döndürmeyi ayarlamak için kullanılabilir. (Ib278f)
- ExtensionsManager sınıfında yeni getEstimatedCaptureLatencyRange herkese açık API'leri kullanıma sunuldu. (I6a8ec)
- Deprecated ExtensionsErrorListener. Şu anda bu arayüz yalnızca uzantı modları etkinleştirilirken önizleme veya ImageCapture'ın eksik olup olmadığını izlemek için kullanılmaktadır. CameraX, uzantı işlevlerinin iyi çalışması için otomatik olarak ek bir önizleme veya ImageCapture ekler. Bundan sonra bu arayüz üzerinden hata bildirilmez. (I47d9e)
- Yeni ExtensionsManager getInstance, isExtensionAvailable ve getExtensionEnabledCameraSelector genel API'leri kullanıma sunuldu ve eski
<EffectName><UseCase>Extendersınıfları ile ilgili API'ler kullanımdan kaldırıldı. (I329e6)
Sürüm 1.0.0-alpha25
2 Haziran 2021
androidx.camera:camera-extensions:1.0.0-alpha25 ve androidx.camera:camera-view:1.0.0-alpha25 yayınlandı. 1.0.0-alpha25 sürümü şu commit'leri içerir.
API Değişiklikleri
- ExperimentalCameraFilter API'leri artık deneysel aşamada değil ve resmi API'ler olarak kullanılabiliyor. Bunlar, açıklama eklenmiş OptIn olmadan kullanılabilir. (I4bc94)
- Kullanım alanları arasında koordinatları dönüştüren bir yardımcı program ekleyin. Kullanım örneği: ImageAnalysis kullanım alanında algılanan koordinatları dönüştürme ve algılanan nesneyi önizlemede vurgulama. (I63ab1, b/137515129)
CameraViewkaldırıldı.CameraView,CameraControllerile değiştirildi. Taşıma işleminin nasıl yapılacağını öğrenmek için lütfen taşıma kılavuzuna bakın. (Id5005)
Hata Düzeltmeleri
ExperimentalUseCaseGroupLifecycle,ExperimentalUseCaseGroupile değiştirildi. (I3b2ef, b/159033688)
Sürüm 1.0.0-alpha24
21 Nisan 2021
androidx.camera:camera-extensions:1.0.0-alpha24 ve androidx.camera:camera-view:1.0.0-alpha24 yayınlandı. 1.0.0-alpha24 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Deneysel API'ler için
@Experimentalnotu@RequiresOptInile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılanandroidx.annotation.experimental.UseExperimentalyerineandroidx.annotation.OptInkullanın. (Iff226) - Samsung J5 Prime'da PreviewView'in gergin görünmesi sorunu düzeltildi (Ib10b6).
Kamera Uzantıları ve Görünüm Sürümü 1.0.0-alpha23
24 Mart 2021
androidx.camera:camera-extensions:1.0.0-alpha23 ve androidx.camera:camera-view:1.0.0-alpha23 yayınlandı. Version 1.0.0-alpha23 contains these commits.
API Değişiklikleri
- CameraView'in desteği sonlandırılıyor. Lütfen bunun yerine
LifecycleCameraControllerseçeneğini kullanın. Taşıma rehberine (Idac2c) bakın. - setLinearZoom() işlevine FloatRange ek açıklaması eklendi (I69971)
Hata Düzeltmeleri
- 1.0.0 yapılarının kullanılması için sabitlenmiş kamera görünümü bağımlılıkları. camera-view'a bağlı olmak, gradle'ın bağımlılık çözümlemesinin camera-core, camera-camera2 ve camera-lifecycle'ı otomatik olarak en son 1.1.0 yapıtlarına yükseltmesine neden olmayacak. Bununla birlikte, 1.1.0'ı kullanmak için açıkça ayarlanmışlarsa camera-view bu yapıtlarla uyumlu olmaya devam edecek. (Ic8fa1, b/181599852)
- PreviewView'da Samsung A3'teki gergin önizleme sorunu düzeltildi. (Iacb30, b/180121821)
- Kamera başlatılmadan önce kamera seçicinin ayarlanamaması sorunu düzeltildi. (Ic8bd0)
Kamera Uzantıları ve Görünüm Sürümü 1.0.0-alpha22
24 Şubat 2021
androidx.camera:camera-extensions:1.0.0-alpha22 ve androidx.camera:camera-view:1.0.0-alpha22 yayınlandı. 1.0.0-alpha22 sürümü şu commit'leri içerir.
API Değişiklikleri
- CameraController'a CameraInfo getter'ı ekleyin. (Ib8138, b/178251727)
Hata Düzeltmeleri
- Yalnızca Preview veya ImageCapture bağlandığında hataları bildirmek için ExtensionsErrorListener düzeltildi. (I5ae39)
Kamera Uzantıları ve Görünüm Sürümü 1.0.0-alpha21
27 Ocak 2021
androidx.camera:camera-extensions:1.0.0-alpha21 ve androidx.camera:camera-view:1.0.0-alpha21 yayınlandı. 1.0.0-alpha21 sürümü şu commit'leri içerir.
Diğer kamera kitaplığı yapıtlarını desteklemek için yayınlandı.
Kamera Uzantıları ve Görünüm Sürümü 1.0.0-alpha20
16 Aralık 2020
androidx.camera:camera-extensions:1.0.0-alpha20 ve androidx.camera:camera-view:1.0.0-alpha20 yayınlandı. Version 1.0.0-alpha20 contains these commits.
Diğer kamera kitaplığı yapıtlarını desteklemek için yayınlandı.
Camera-Extensions & Camera-View Version 1.0.0-alpha19
11 Kasım 2020
androidx.camera:camera-extensions:1.0.0-alpha19 ve androidx.camera:camera-view:1.0.0-alpha19 yayınlandı. 1.0.0-alpha19 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Kamera görünümüne
@ExperimentalVideoek açıklaması eklendi. Bu ek açıklama, özellikler tam olarak geliştirildikçe değişebilecek deneysel video işlevselliğini kullanıma sunan API'leri işaretler. Bu API'leri kullanan tüm yöntemlerde@UseExperimentalek açıklaması,markerClassolarakExperimentalVideoile birlikte kullanılmalıdır. (I6d729)
Camera-Extensions Version 1.0.0-alpha18
14 Ekim 2020
androidx.camera:camera-extensions:1.0.0-alpha18 iptal edilir. 1.0.0-alpha18 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- CameraX başlatma ve bindToLifecycle'ın gecikmesi iyileştirildi (I61dc5).
<UseCase>.getTargetRotation(), Builder veya UseCase'te bir targetRotation ayarlanmadığı sürece bir Camera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0döndürür. (I80fcd)
Camera-View Version 1.0.0-alpha18
14 Ekim 2020
androidx.camera:camera-view:1.0.0-alpha18 iptal edilir. 1.0.0-alpha18 sürümü şu commit'leri içerir.
Diğer kamera kitaplığı yapıtlarını desteklemek için yayınlandı.
Camera-Extensions Version 1.0.0-alpha17
23 Eylül 2020
androidx.camera:camera-extensions:1.0.0-alpha17 iptal edilir. 1.0.0-alpha17 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u destekleyen sürüm
Camera-View Version 1.0.0-alpha17
23 Eylül 2020
androidx.camera:camera-view:1.0.0-alpha17 iptal edilir. 1.0.0-alpha17 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u destekleyen sürüm
Camera-Extensions Version 1.0.0-alpha16
16 Eylül 2020
androidx.camera:camera-extensions:1.0.0-alpha16 iptal edilir. 1.0.0-alpha16 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
ExtensionsManageriçinde, Kamera örneklerinde uzantıları etkinleştirmek ve sorgulamak için kullanılanExtensionsnesnesini almak üzere yöntem eklendi (I4fb7e).
Camera-View Version 1.0.0-alpha16
16 Eylül 2020
androidx.camera:camera-view:1.0.0-alpha16 iptal edilir. 1.0.0-alpha16 sürümü şu commit'leri içerir.
API Değişiklikleri
PreviewView#setDeviceRotationForRemoteDisplayMode()vePreviewView#getDeviceRotationForRemoteDisplayMode()kaldırıldı. Bu iki yöntem, istenen döndürme işlemi ekran döndürme işlemi olmadığında (ör. uzaktan ekran) önizleme döndürmesini özelleştirmek için kullanılır. Görüntülenmeyen önizleme rotasyonunu hemen işlemek içinPreview#setTargetRotation()ve yeni eklenenPreviewView#getViewPort(targetRotation)ile istediğiniz rotasyonu ayarlayın. (Ib62cc)createSurfaceProvider(),getSurfaceProvider()olarak yeniden adlandırıldı. Yöntem her zaman aynı Preview.SurfaceProvider örneğini döndürür. (Iff83c)
Hata Düzeltmeleri
- Uzantı efekti etkinse ve tedarikçi kitaplığı uygulamasının çıkış yüzeyinde özel bir işlem yapması gerekiyorsa TextureView kullanmak için Forced PreviewView. (I0c3cc)
- Önizleme için rastgele hedef döndürmeye izin verin. Dönüşüm bilgileri, yeni bir
TranformationInfoListenergeri çağırma işlevi aracılığıyla anında hesaplanıp kullanıcıya döndürülür. (I21470)
Bilinen Sorunlar
- PreviewView'da, son kullanıcı PreviewView'ı tıkladığında
OnClickListener#onClick()çağrılmaz. Dokunma etkinliği, PreviewView#onTouchEvent() tarafından yanlışlıkla kullanılıyor. Bu sorun, bir sonraki sürümde düzeltilecektir. PreviewView#getMeteringPointFactory()'dan alınan MeteringPoint, ViewPort PreviewView ile kullanılıyorsa yanlış olabilir.
Camera-Extensions Version 1.0.0-alpha15
19 Ağustos 2020
androidx.camera:camera-extensions:1.0.0-alpha15 iptal edilir. 1.0.0-alpha15 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
ExtensionsManager.init()yöntemi artık 0 bağımsız değişken yerine parametre olarak bir Context alıyor. (Ife754)Context.getApplicationContext()'dan bir Application nesnesi döndürmeyen bir Context kullanıldığında başlatma artık kilitlenmemelidir. (I3d3c9, b/160817073)Camera-View Version 1.0.0-alpha15
19 Ağustos 2020
androidx.camera:camera-view:1.0.0-alpha15 iptal edilir. 1.0.0-alpha15 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
DisplayOrientedMeteringPointFactory,CameraSelectoryerineCameraInfoörneğini alır. Bu nedenle, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir.DisplayOrientedMeteringPointFactorykullanan tüm sınıflar,CameraSelectoryerineCameraInfoörneği de alır. (I400c1)TextureViewMeteringPointFactorykaldırıldı.PreviewView,TextureViewveyaSurfaceViewkullanıp kullanmadığına bakılmaksızın bir ölçüm noktası fabrikası oluşturmak için herkese açık bir API (createMeteringPointFactory()) sağlar. (Ide693)- PreviewView'un
SURFACE_VIEW/TEXTURE_VIEWuygulama modlarınıPERFORMANCE/COMPATIBLEolarak yeniden adlandırın.PERFORMANCE, eskiSURFACE_VIEWmodu,COMPATIBLEise eskiTEXTURE_VIEWmodudur. (I0edc2) - Görüntü yakalama için, meta verilerdeki yatay çevirme işaretini kamera yönüne göre üzerine yazın. (I28499)
Camera-Extensions Version 1.0.0-alpha14
22 Temmuz 2020
androidx.camera:camera-extensions:1.0.0-alpha14 iptal edilir. 1.0.0-alpha14 sürümü şu commit'leri içerir.
Camera-View Version 1.0.0-alpha14
22 Temmuz 2020
androidx.camera:camera-view:1.0.0-alpha14 iptal edilir. 1.0.0-alpha14 sürümü şu commit'leri içerir.
Camera-Extensions Version 1.0.0-alpha13
24 Haziran 2020
androidx.camera:camera-extensions:1.0.0-alpha13 iptal edilir. 1.0.0-alpha13 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Kameraları kamera kimliğine ve CameraCharacteristics'e göre filtrelemek için deneysel arayüzler eklendi. (I28f61)
Camera-View Version 1.0.0-alpha13
24 Haziran 2020
androidx.camera:camera-view:1.0.0-alpha13 iptal edilir. 1.0.0-alpha13 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- CameraView, bağlandıktan kısa süre sonra Lifecycle'ı DESTROYED durumuna geçen bir LifecycleOwner'a bağlanırken artık IllegalArgumentException ile kilitlenmiyor. DESTROYED durumundaki bağlama yaşam döngüleri kamerayı açmaya çalışmaz. (I7c2b8)
- PreviewView StreamState artık CameraView.getPreviewStreamState() (I21a2b) üzerinden kullanılabilir.
Camera-Extensions Version 1.0.0-alpha12
10 Haziran 2020
androidx.camera:camera-extensions:1.0.0-alpha12 iptal edilir. Version 1.0.0-alpha12 contains these commits.
Hata Düzeltmeleri
- Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında kilitlenme sorunu düzeltildi.
InitializationExceptioniçeren birCameraUnavailableException, uygulamayı kilitlenmek yerine başlatma sonucununListenableFuturedeğerine ayarlanır. (I9909a, b/149413835)
Camera-View Version 1.0.0-alpha12
10 Haziran 2020
androidx.camera:camera-view:1.0.0-alpha12 iptal edilir. Version 1.0.0-alpha12 contains these commits.
Hata Düzeltmeleri
- Önizleme yüzeyinde gösterilen içeriğin Bitmap gösterimini döndüren
PreviewView#getBitmap()API'sini ekleyin. (I9b500, b/157659818)
Camera-Extensions Version 1.0.0-alpha11
27 Mayıs 2020
androidx.camera:camera-extensions:1.0.0-alpha11 iptal edilir. 1.0.0-alpha11 sürümü şu commit'leri içerir.
Camera-View Version 1.0.0-alpha12
10 Haziran 2020
androidx.camera:camera-view:1.0.0-alpha12 iptal edilir. Version 1.0.0-alpha12 contains these commits.
Yeni Özellikler
API Değişiklikleri
Hata Düzeltmeleri
- Önizleme yüzeyinde gösterilen içeriğin Bitmap gösterimini döndüren
PreviewView#getBitmap()API'sini ekleyin. (I9b500, b/157659818)
Camera-View Version 1.0.0-alpha11
27 Mayıs 2020
androidx.camera:camera-view:1.0.0-alpha11 iptal edilir. 1.0.0-alpha11 sürümü şu commit'leri içerir.
API Değişiklikleri
- Uygulamaların önizlemenin yayınlanıp yayınlanmadığını gözlemlemesine olanak tanıyan
PreviewView#getPreviewStreamStateAPI'si eklendi. PreviewView, TEXTURE_VIEW modundayken STREAMING durumu da önizleme görüntüsünün görünür olmasını sağlar. (Ic0906, b/154652477) - Uygulama uzak ekran modunda çalışıyorsa dönüştürme hesaplamaları için cihaz döndürme işlevi sağlayan
PreviewView#setDeviceRotationForRemoteDisplayMode()API'si eklendi. (I59b95, b/153514525)
Hata Düzeltmeleri
- Android 7.0 ve önceki sürümlerin yüklü olduğu
FULL/LIMITED/LEVEL_3kameralarda önizleme bozulması sorunu düzeltildi. Android sürümü 7.0 veya daha eski olduğundaImplementationMode#TEXTURE_VIEWmodunun zorunlu kullanılması. (I83e30, b/155085307) CameraInfoparametresiPreviewView#createSurfaceProvider()öğesinden kaldırıldı.PreviewViewartık bu parametreyi dahili olarakSurfaceRequestöğesinden alıyor. (If18f0, b/154652477)- VideoCapture'ın CameraView'daki varsayılan en boy oranı 16:9 olarak düzeltildi. (Ie6a7b, b/153237864)
PreviewViewSiyah ekran sorunlarını düzeltme:PreviewParça kaydırılarak çıkarıldıktan sonra ViewPager2'de geri kaydırıldığında Ayrıca,removeView(previewview)ve ardındanaddView(previewView)tuşlarına basıldığında ortaya çıkan sorun da düzeltildi. (Iab555, b/149877652, b/147354615)- Resimlerin
UriveOutputStream'a kaydedilmesine izin vermek içinCameraView#takePicture()API'sini güncelleyin.Uriöğesini kanonik örnek olarak kullanmak için test uygulamasını güncelleyin. (Ia2459, b/153607583) ScaleTypeözelliğini ayarlayarak PreviewView'un ölçek türünü bir XML düzeninden ayarlayabilirsiniz. (I08565, b/153015659)CameraView.ScaleTypekaldırıldı. Bunun yerine, CameraView ile ölçek türü ayarlamak/almak içinPreviewView.ScaleTypekullanın. (Ia8974, b/153014831)- Varsayılan olarak
PreviewViewöğesine arka plan rengi verin (zaten yoksa). Bu sayede, önizleme yayını başlamadan önce arkasındaki içeriklerin görünmesi engellenir. (I09fad)
Camera-Extensions Version 1.0.0-alpha10
15 Nisan 2020
androidx.camera:camera-extensions:1.0.0-alpha10 iptal edilir. Version 1.0.0-alpha10 contains these commits.
Hata Düzeltmeleri
- Camera-Core'un yayınlanmasını desteklemek için düzeltmeler
Camera-View Version 1.0.0-alpha10
15 Nisan 2020
androidx.camera:camera-view:1.0.0-alpha010 iptal edilir. 1.0.0-alpha010 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
PreviewView'nın surfaceView uygulamasının belirli cihazlarda düzgün çalışmamasına ve önizleme devam ettirildikten sonra uygulamanın kilitlenmesine neden olan bilinen önceki sorun düzeltildi. (I5ed6b)
Camera-Extensions Version 1.0.0-alpha09
1 Nisan 2020
androidx.camera:camera-extensions:1.0.0-alpha09 iptal edilir. Version 1.0.0-alpha09 contains these commits.
Hata Düzeltmeleri
camera-camera2:1.0.0-beta02,camera-core:1.0.0-beta02vecamera-lifecycle:1.0.0-beta02yapılarındaki hata düzeltmelerini destekleyecek şekilde güncellendi.
Camera-View Version 1.0.0-alpha09
1 Nisan 2020
androidx.camera:camera-view:1.0.0-alpha09 sürümü yayınlandı. Version 1.0.0-alpha09 contains these commits.
Bilinen Sorunlar
ImplementationMode.SURFACE_VIEWilePreviewViewkullanımı bazı cihazlarda iyi çalışmayabilir. Bunun nedeni, önizleme için kullanılanSurfaceView'nin, bulunduğu pencerenin yaşam döngüsü durdurulduğunda yüzeyini geçersiz kılmasıdır. Yeniden başlatıldığında kamera yeniden açılır veSurfaceView'nin yüzeyi tekrar geçerli olmadan önce önizlemeye devam etmeye çalışabilir. ŞimdilikImplementationMode.TEXTURE_VIEWkullanmanız gerekir.
API Değişiklikleri
PreviewView.setImplementationMode(),PreviewView.setPreferredImplementationMode()olarak yeniden adlandırıldı.PreviewView.getImplementationMode(),PreviewView.getPreferredImplementationMode()olarak yeniden adlandırıldı.PreviewView.getSurfaceProvider(), mümkün olduğundaImplementationMode.SURFACE_VIEWkullanılarak önizlemeyi optimize etmek için kullanılan, boş değer atanabilir birCameraInfoörneği alanPreviewView.createSurfaceProvider(CameraInfo)ile değiştirildi. Boş bir örnek iletilirse veya tercih edilen uygulama modunuImplementationMode.TEXTURE_VIEWolarak ayarlarsanız dahili olarakImplementationMode.TEXTURE_VIEWkullanılır.Aşağıdaki kod örneğinde, önizleme kullanım alanının daha önce PreviewView ile nasıl kullanıldığı gösterilmektedir.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)Şu anda aşağıdaki istemleri yazabilirsiniz:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))@UiThreadek açıklamasıPreviewView.getSurfaceProvider()'ye eklendi. Bu nedenle, ana ileti dizisinden çağrılması gerekir. (I192f3)Önizlemenin ölçek türünü ayarlamaya olanak tanıyan
PreviewView.setScaleType()simgesi eklendi.PreviewView.ScaleTypeiçindeki değerlerden birini kabul eder ve varsayılan olarakPreviewView.ScaleType.FILL_CENTERdeğerini alır.PreviewView.getScaleType()eklendi.implementationModeözelliğini kullanarak bir XML düzenindePreviewViewiçin uygulama modunu ayarlama desteği kaldırıldı.createMeteringPointFactory()API'sini PreviewView'a ekleyerekPreviewViewiçindeki (x, y) değerlerininMeteringPoint'ye dönüştürülmesini destekleyin. (Ib36d7)
Hata Düzeltmeleri
PreviewViewboyutunun değişmesinden sonra yanlış önizlemenin gösterildiği durumlar düzeltildi. (I71101)
Camera-Extensions Version 1.0.0-alpha08
26 Şubat 2020
androidx.camera:camera-extensions:1.0.0-alpha08 iptal edilir. Version 1.0.0-alpha08 şu commit'leri içerir.
Camera-View Version 1.0.0-alpha08
26 Şubat 2020
androidx.camera:camera-view:1.0.0-alpha08 iptal edilir. Version 1.0.0-alpha08 şu commit'leri içerir.
Hata Düzeltmeleri
SurfaceRequest.provideSurface()üzerindekiListenableFuture,ExecutorveCallbackile değiştirildi. Bu değişiklik,provideSurface()üzerinde istisnaların işlenmesini gerektirmeyerek API'yi basitleştirir veprovideSurface()geri çağırmasının iptal edilememesini sağlar. Bu, yüzeylerin erken yayınlanması nedeniyle eski cihazlarda kilitlenmelerin önlenmesi içindir.SurfaceRequest.Resultnesnesi artıkSurfaceRequest'nin sağlananSurface'ı nasıl kullandığını izlemek için kullanılıyor. (I7854b)SurfaceRequest.setSurface(Surface),SurfaceRequest.provideSurface(Surface)olarak,SurfaceRequest.setWillNotComplete()iseSurfaceRequest.willNotProvideSurface()olarak yeniden adlandırıldı. (I224fe)- Varsayılan
CameraXConfigsağlayıcısını ayarlayan işaret korunarak ProGuard'ın etkin olduğu uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)
Camera-Extensions Version 1.0.0-alpha07
10 Şubat 2020
androidx.camera:camera-extensions:1.0.0-alpha07 iptal edilir. 1.0.0-alpha07 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Daha önce
ImageCapture.OnImageSavedCallback.onError()veImageCapture.OnImageCapturedCallback.onError()içinde iletilen bağımsız değişkenler, artık tek bir bağımsız değişken olanImageCaptureExceptionile değiştirildi. Bu bağımsız değişken, daha önce iletilen tüm bilgileri içerir. - Daha önce
ImageCapture.OnImageSavedCallback.onImageSaved()içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2)
Camera-View Version 1.0.0-alpha07
10 Şubat 2020
androidx.camera:camera-view:1.0.0-alpha07 iptal edilir. 1.0.0-alpha07 sürümü şu commit'leri içerir.
API Değişiklikleri
PreviewView'nınTextureViewuygulaması artıkTextureView'ın boyutunu, üst öğesiPreviewView'yı dolduracak şekilde ölçeklendirmeden önce kamera sensörü çıkış boyutu olarak ayarlıyor. Kamera önizlemesinin kullanıcı arayüzünün tamamını (ör. ekranın tamamı) doldurmasını istiyorsanızPreviewViewboyutunu sabit bir değere ayarlamamanız veya içeriğini sarmalamasını sağlamamanız gerekir (ör. "wrap_content" özelliğini kullanarak). Aksi takdirde, kamera sensörü çıkış boyutu daha küçükse kamera önizlemesi yalnızcaPreviewView'nın bir kısmını doldurabilir. Bunun yerine,PreviewViewöğesini üst öğesi kadar büyük olacak şekilde ayarlamanız gerekir (örneğin, "match_parent" özelliğini kullanarak). (1204869)
Hata Düzeltmeleri
- Resimlerin
UriveOutputStream'ye kaydedilmesine izin vermek içinImageCapturegüncellendi. Aşırı yüklenmiştakePictureyöntemleri tek bir yöntemde birleştirildi.Uriöğesini kanonik örnek olarak kullanmak için test uygulaması güncellendi. (Ia3bec) Preview.PreviewSurfaceProvider,Preview.SurfaceProviderolarak yeniden adlandırıldı.SurfaceProviderartık geliştiricilerin kendiListenableFutureöğelerini oluşturmalarını gerektirmiyor veSurfacesağlama işlemi artık yeni birSurfaceRequestnesnesi aracılığıyla yapılıyor.Preview.getPreviewSurfaceProvider()yöntemi,PreviewilePreviewViewgibi diğer sınıflar eşleştirildiğinde kötüye kullanılma ihtimali nedeniyle kaldırıldı. (I20105)- Daha önce
ImageCapture.OnImageSavedCallback.onError()veImageCapture.OnImageCapturedCallback.onError()içinde iletilen bağımsız değişkenler, artık tek bir bağımsız değişken olanImageCaptureExceptionile değiştirildi. Bu bağımsız değişken, daha önce iletilen tüm bilgileri içerir. - Daha önce
ImageCapture.OnImageSavedCallback.onImageSaved()içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2) - API güncellendi.
CameraInfobirleştirme yöntemleri olangetZoomRatio(),getMaxZoomRatio(),getMinZoomRatio()vegetLinearZoom(),ZoomStateörneği döndürengetZoomState()içinde birleştirildi. (Ib19fe)
Camera-Extensions Version 1.0.0-alpha06
22 Ocak 2020
androidx.camera:camera-extensions:1.0.0-alpha06 iptal edilir. 1.0.0-alpha06 sürümü şu commit'leri içerir.
Güncellemeler
- Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler yapıldı.
Camera-View Version 1.0.0-alpha06
22 Ocak 2020
androidx.camera:camera-view:1.0.0-alpha06 iptal edilir. 1.0.0-alpha06 sürümü şu commit'leri içerir.
Güncellemeler
- Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler yapıldı.
Camera-Extensions Version 1.0.0-alpha05
18 Aralık 2019
androidx.camera:camera-extensions:1.0.0-alpha05 iptal edilir. 1.0.0-alpha05 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Dahili Camera Core API'leriyle eşleşecek şekilde güncellendi.
Camera-View Version 1.0.0-alpha05
18 Aralık 2019
androidx.camera:camera-view:1.0.0-alpha05 iptal edilir. 1.0.0-alpha05 sürümü şu commit'leri içerir.
Bilinen Sorunlar
- PreviewView kullanılırken en-boy oranı yanlış olabilir (b/146215202).
Yeni Özellikler
- SurfaceTexture'ın yaşam döngüsünü kameranın TextureView yüzeyini kullanmasıyla senkronize eden
PreviewView.TextureViewImplementationadlı yeni bir sınıf uygulandı.
Camera-Extensions Version 1.0.0-alpha04
4 Aralık 2019
androidx.camera:camera-extensions:1.0.0-alpha04 iptal edilir. camera-extensions 1.0.0-alpha04 sürümü şu commit'leri içerir
API değişiklikleri
Bir uzantının kullanılabilirliğini kontrol etme ve etkinleştirme işlemi artık giriş parametresi olarak
CameraSelectoralır. Bu, kullanım alanını bağlamak için kullanılanCameraSelectorile aynı olmalıdır.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)Uzantı kitaplığını kullanmadan önce uzantıları başlatmanız gerekir.
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 Aralık 2019
androidx.camera:camera-view:1.0.0-alpha04 iptal edilir. camera-view 1.0.0-alpha04 sürümü şu commit'leri içerir
API değişiklikleri
- Önizleme kullanım alanındaki çıktıyı bir uygulamada kolayca görüntülemek için
PreviewViewsınıfı sağlanır. Düzenlemeye
PreviewViewdahil edilebilir:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />PreviewView, önizleme kullanım alanını kolayca bağlamak içinPreviewSurfaceProvidersağlarpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)API adlandırmasında "
ZoomLevel" artık "ZoomRatio" olarak adlandırılıyor.Bazı yöntem parametrelerinin null değer alabilme durumu değişti
Camera-Extensions ve Camera-View 1.0.0-alpha03 sürümü
9 Ekim 2019
androidx.camera:camera-extensions:1.0.0-alpha03 ve androidx.camera:camera-view:1.0.0-alpha03 yayınlandı. camera-extensions:1.0.0-alpha03'e dahil edilen commit'ler ve camera-view:1.0.0-alpha03'e dahil edilen commit'ler.
Yeni Özellikler
- Uzantılar için bağlam başlatıcı eklendi. Uzantıların sürümü 1.1.0'a yükseltildi.
Camera-Extensions ve Camera-View 1.0.0-alpha02 sürümü
5 Eylül 2019
androidx.camera:camera-extensions:1.0.0-alpha02 ve
androidx.camera:camera-view:1.0.0-alpha02 yayınlandı. Bunlar, camera-extensions:1.0.0-alpha02'ye dahil edilen commit'lerdir ve bunlar da camera-view:1.0.0-alpha02'ye dahil edilen commit'lerdir.
PreviewImageProcessorImplöğesinin zaman damgalarını doğru şekilde uyguladığını doğrulamak için testler eklendi.- Nexus 5'te (API düzeyi 21)
ExtensionTesttest hatasını düzeltin ve önizlemenin kullanılabilir olmasını sağlayın.
Camera-Extensions ve Camera-View 1.0.0-alpha01 sürümü
7 Ağustos 2019
androidx.camera:camera-extensions:1.0.0-alpha01 ve
androidx.camera:camera-view:1.0.0-alpha01 yayınlandı.
Bunlar, camera-extensions:1.0.0-alpha01'de yer alan commit'lerdir ve bunlar da camera-view:1.0.0-alpha01'de yer alan commit'lerdir.
- Desteklenen cihazlarda efektlere erişmek için gelecekteki Kamera Uzantıları'nın kullanacağı yeni kitaplık. Bu kitaplık henüz geliştirme aşamasındadır.
- Yeni Kamera Görünümü sınıfı. Bu kitaplık henüz geliştirme aşamasındadır.