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.4.2 | - | 1.5.0-beta02 | - |
kamera çekirdekli | 1.4.2 | - | 1.5.0-beta02 | - |
camera-compose | - | - | 1.5.0-beta02 | - |
camera-effects | 1.4.2 | - | 1.5.0-beta02 | - |
camera-extensions | 1.4.2 | - | 1.5.0-beta02 | - |
camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
camera-lifecycle | 1.4.2 | - | 1.5.0-beta02 | - |
camera-mlkit-vision | 1.4.2 | - | 1.5.0-beta02 | - |
kamera görünümü | 1.4.2 | - | 1.5.0-beta02 | - |
kamera-vizör | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
camera-video | 1.4.2 | - | 1.5.0-beta02 | - |
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 deposu başlıklı makaleyi 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.5.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.5.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz olursa 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ınImplementationMode
Enums'larını, temel uygulamaları daha iyi yansıtacak şekilde yeniden adlandırın veTransformationInfo.sourceRotation
için sabit sabitler ekleyin. (Ic6149)- Yakınlaştırma hareketinin durumlarını kapsayan
ZoomGestureDetector.ZoomEvent
eklendi. (I84cdf)
Kamera sürümü 1.5
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.
SessionConfig
artık bir özellik grubunu zorunlu veya tercih edilen olarak belirtmek için yeni API'ler içeriyor.CameraInfo.isFeatureGroupSupported
API, birSessionConfig
bağ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
SessionConfig
ile 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
,ViewPort
vb. yapılandırmak için daha iyi bir soyutlama içeren yeniSessionConfig
API'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 belirlenenCameraEffect
ileViewPort
'yi uygular. Yeni birSessionConfig
öğesini aynıLifecycleOwner
ile güncellerken önce bağlamayı kaldırma veyaunbindAll
işlemini çağırmanıza gerek kalmadan yeni birSessionconfig
bağlayabilirsiniz. (Iedfc3) - Yüksek hızlı/ağır çekim video kaydetmek için yeni API'ler eklendi. Daha fazla bilgi için
HighSpeedVideoSessionConfig
API'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)PreviewView
kullanıldığında,CameraEffect
etkinleş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
PreviewView
bö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)
CameraXViewfinder
artık temelViewfinder
'deki yüzey değiştirme işlemini düzgün şekilde gerçekleştiriyor. Bu, API düzeyi 28 veya daha düşük birEXTERNAL
vizörünün ekranın dışına çıkması ya daCameraXViewfinder
(herhangi birImplementationMode
ile)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
'ü 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
EXTERNAL
CameraXViewfinder
simgesinin gergin veya yanlış görünmesine neden olan sorun düzeltildi. Sistem artık düzen aşamasında bu dönüşümleri uygulamadan önce Surface'in oluşturulmasını bekleyerek doğru çıkış sağlar. (Icc77c) - Composable
CameraXViewfinder
artık Compose'unPager
ile doğru şekilde çalışıyor. Bu değişiklik, hemEMBEDDED
hem deEXTERNAL
uygulamalarını destekleyenAndroidView
öğesininonReset
geri ç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).
ContentScale
ve 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)TransformationInfo
artık tüm bağımsız değişkenler için varsayılan değerlere sahip. Bu sayede,TransformationInfo
olmadan 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
LifecycleCameraProvider
eklendi. (Ia2992)
Hata Düzeltmeleri
- Samsung SM-E556B cihazında
ImageAnalysis
ileTEMPLATE_RECORD
kullanan başka bir akış birlikte kullanılırken önizlemenin donması sorunu düzeltildi. (Ic0e62, b/409478042) - Samsung SM-M556B cihazda
ImageAnalysis
ileTEMPLATE_RECORD
kullanan 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 modunun
AssertError
çalışmaması sorunu düzeltildi. (I27a5d, b/401460276) CameraController
kullanı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.getMaxTorchStrengthLevel
veCameraControl.setTorchStrengthLevel
eklendi (I00878) - Kullanıcıların
PreviewView
dokunarak odaklanma etkinliklerinde otomatik iptal davranışını kontrol edebilmesi için yeni bir APICameraController#setTapToFocusAutoCancelDuration
eklendi. 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_FIRED
olarak yeniden adlandırıldı ve diğerFlashState
sabit adları, daha iyi okunabilirlik için basitleştirildi. (I8771d)- Low Light Boost API'si kullanıma sunuldu. Android 15 veya sonraki sürümlerin yüklü olduğu cihazlarda düşük ışıkta iyileştirme özelliği desteklenebilir. 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#isLowLightBoostSupported
simgesini kullanın. 2. Cihazlar desteklediğinde modu etkinleştirmek içinCameraControl#enableLowLightBoostAsync
simgesini kullanın. 3. Zayıf ışıkta iyileştirme 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)
CameraController
Dokunarak odaklanma etkinlikleri için yeni bir APIgetTapToFocusInfoState()
, artıkLiveData
sınıfındanTapToFocusInfo
döndürerek ilgili dokunma konumunu da gösteriyor. ÖncekiLiveData<Integer>
döndürengetTapToFocusState()
API ise yeni API lehine kullanımdan kaldırıldı. (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
CameraController
odaklanma durumu etkinliğininTAP_TO_FOCUS_NOT_STARTED
olarak 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
OpenGL
olduğ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
VideoCapture.getSelectedQuality()
seçeneğine göre belirlenen kaliteyi öğrenmek içinVideoCapture.getSelectedQuality()
simgesini ekleyin.QualitySelector
(I70508, b/204288986)ImageCapture.OnImageCapturedCallback
API ile bir görüntü yakalama işlemi başlatıldığında, döndürülenImageProxy
iç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)ImageAnalysis
içinOUTPUT_IMAGE_FORMAT_NV21
çıkış biçimi desteği eklendi. (I484ab)featurecombinationquery
yapısının deneysel açıklamasını kaldırın (I4427f).- Uzantı modu etkinleştirildiğinde, uzantıya özgü özelliklere göre
CameraControl
iç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ıncompileSdk
yapı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#setOutputFormat
veImageCaptureCapabilities#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.getScreenFlash
vePreviewView.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ı sorunu 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, kamera yakındaki bir nesneye odaklanana kadar Uzantılar'daki GECE modunun hareketsiz görüntü yakalamamasına neden olan sorun düzeltildi. (I228d4)
- Uzantılar etkinleştirildiğinde ve
VideoCapture
birlikte 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ş
UltraHDR
hareketsiz görüntü yakalama desteği. (I48300) - TCL cihazlarda
CameraEffect
hedefli 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#getSupportedOutputFormats
içinde kullanıma sunulur.OUTPUT_FORMAT_RAW
, Adobe DNG biçiminde olan RAW görüntüleri yakalamak için,OUTPUT_FORMAT_RAW_JPEG
ise RAW ve JPEG görüntüleri aynı anda yakalamak için kullanılır. YeniImageCapture#takePicture
API, eşzamanlı görüntü yakalama için kullanılır. İkiOutputFileOptions
sağlaması gerekir. Birincisi RAW görüntü, ikincisi ise JPEG görüntü içindir. (Ib0f3d)
Hata Düzeltmeleri
VideoCapture
etkinleştirildiğinde TCL cihazlarda önizleme ve video alt pozlama sorunu düzeltildi. (Id7a64)startFocusMetering
işleviPreviewView.getMeteringPointFactory
ile ç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 kaydederken ve yeterli depolama alanı olmadığında
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE
etkinliğ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#isSessionConfigurationSupported
API'sinin uyumlu bir sürümüdür.
Hata Düzeltmeleri
- LEGACY seviyesindeki cihazlarda
Preview/VideoCapture
hedef kare hızı sorunu düzeltildi.setTargetFrameRate
veyaCamera2Interop
API'si aracılığıyla ayarlanan hedef kare hızı, her zamanAeFpsRangeLegacyQuirk
tarafından sağlanan değerle üzerine yazılıyordu. Bu düzeltmeyle birlikte CameraX kitaplığı,setTargetFrameRate
veyaCamera2Interop
API'si aracılığıyla ayarlanan değere uyar. (Ie2d32) CameraEffect
ile görüntü yakalama için flaş/el feneri/3A işlevleri eklendi.CameraEffect
ile çekilen görüntüler artıkCameraEffect
olmadan çekilen görüntülerle aynı çekim öncesi ve sonrası işlemlere (ör. geçerli olduğunda flaş tetikleme, 3A yakınsama vb.) sahip olacak. (I5ff30)- Samsung SM-A057G cihazında
ImageAnalysis
için sorunlu çıkış boyutları hariç tutuldu.ImageAnalysis
1920x1440 veya daha yüksek bir çözünürlük kullandığında siyah önizleme sorununa neden olur. Sorunu önlemek için SM-A057G cihazınaExcludedSupportedSizesQuirk
uygulandı. (I63dfe, b/365877975) Preview/VideoCapture
hedef kare hızı sorunu düzeltildi. Bu sorun, dahili olarak akış paylaşma mekanizması etkinleştirildiğinde vePreview
ileVideoCapture
'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 CameraX, JPEG görüntüsünü başarıyla kaydedebilir veya yanlış JPEG görüntü meta verileri sorunu yaşanırsa 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ında yakalama oturumlarının yapılandırılmasının başarısız olabilmesidir. (I03ec9, b/364152642)
- Video kaydederken ve yeterli depolama alanı olmadığında
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE
etkinliğ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-compose
,camera-core
kaynağından bir CameraXSurfaceRequest
cihazından önizleme akışı görüntüleyen CameraX Viewfinder Compose Adapter için yeni bir yapay nesne olarak 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.getCameraInfo
kullanı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ş birLifecycleOwner
ile çağrıldığında kilitlenme sorunu düzeltildi. (I6e6d8)- Motorola Edge 20 Fusion'da
VideoCapture
ile bağlanırken ö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
ImageAnalysis
ileTEMPLATE_RECORD
kullanan 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, kamera yakındaki bir nesneye odaklanana kadar Uzantılar'daki GECE modunun hareketsiz görüntü yakalamamasına neden olan sorun düzeltildi. (I228d4)
- Uzantılar etkinleştirildiğinde ve
VideoCapture
birlikte bağlandığındaImageCapture#takePicture
iş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 önizlemenin keyfini çıkarın ve cihaz özelliklerini sorgulayın.
UltraHDR
görüntüleri ve HDR videoları, giderek artan sayıda cihazda kullanılabilir.
Diğer Harika Özellikler:
- Kotlin Uzantıları:
takePicture
veawaitInstance
askı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 hassas kontrol ve daha yüksek çözünürlüklere erişim.
- CameraX Uzantıları Entegrasyonu:
VideoCapture
ile sorunsuz entegrasyon ve yeniImageCapture
özellikleri. - Deklanşör Sesi API'si: Bölgesel deklanşör sesi koşulları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ızı inceleyebilirsiniz.
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
startFocusMetering
işleviPreviewView.getMeteringPointFactory
ile ç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
CameraEffect
ile görüntü yakalama için flaş/el feneri/3A işlevleri eklendi.CameraEffect
ile çekilen görüntüler artıkCameraEffect
olmadan çekilen görüntülerle aynı çekim öncesi ve sonrası işlemlere (ör. geçerli olduğunda flaş tetikleme, 3A yakınsama vb.) sahip olacak. (I5ff30)PreviewView
'da sıkıştırarak yakınlaştırma özelliğinin sorunsuz çalışması için optimizasyon yapıldı (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ş birLifecycleOwner
ile çağrıldığında kilitlenme sorunu düzeltildi. (I6e6d8)ScreenFlashView
içinScreenFlash#apply
'de görünürlük animasyonu eklendi. Bu animasyon, parlaklık değişikliğinin bir süre sonra eşzamansız olarak tamamlanmasından kaynaklanan hataları da düzeltir. (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.getCameraInfo
eklendi. (I550d1)
API Değişiklikleri
ScreenFlashView
'nin açıkça eklenmediği durumlar içinPreviewView.getScreenFlash
vePreviewView.setScreenFlashOverlayColor
API'leri eklendi. (I43945)
Hata Düzeltmeleri
- VideoCapture kullanım alanı bağlıyken düşük ışıkta flaş etkin olarak çekilen görüntülerde pozlama ve renk tonu sorunları düzeltildi. (Ic9814)
- Uzantılar etkin durumdayken
takePicture
isteğinin kesilmesi durumunda sonuç alınamama ve sonrakitakePicture
isteğinin artık ç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. Bu sorun, AGP 8.5.1'e yükseltilip küçültme etkinleştirildikten sonra ortaya çıktı. Sorunun kaynağı, yayın modundaki
Camera2OutputConfigImpl
dönüştürme sorunuydu. (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çinsetMirrorMode
ekleyin. 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
+ImageCapture
UseCase
kombinasyonu altında 1920x1080'i seçtiğinde uygulamaların Samsung Tab A8'de başarılı bir şekilde fotoğraf çekememesi sorunu 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.ZoomEvent
eklendi. (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ı hatası düzeltildi. (I7dc0b)
- Bazı cihazlarda
CameraEffect
etkinleş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
ImageCapture
veVideoCapture(UHD)
bağlıyken önizleme ile fotoğraf çekilirken yaşanan kilitlenme sorunu düzeltildi. (I5b288) - Sanal cihazları destekleme:
ProcessCameraProvider
iç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 commit'leri 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.takePicture
askı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
'yegetSupportedOutputFormats
yöntemini ekleyin. Varsayılan çıkış biçimi değeriOUTPUT_FORMAT_JPEG
'dir. 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_HDR
olarak 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ür. Biçimi tam olarak destekleyecek şekilde güncellenen uygulama ve cihazlarda ise resimler HDR olarak görünür. (I5de50)- Fiziksel kamera bilgilerini sorgulamak için
CameraInfo
içinePhysicalCameraInfo
ekleyin veCameraSelector
içine fiziksel kamera kimliği ayarlayıcı/getteri ekleyin (Ic5b90) CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
yerineImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED
koyun. Sabitin değeri aynı kalır. Bu, tüm sabitleri tek bir yerde birleştirmek için kullanılır. (I890bb)- Yeni
RetryPolicy
API, 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
ImageCaptureLatencyEstimate
nesnesinin oluşturulmasını etkinleştirme (Iaba99) ImageAnalysis#COORDINATE_SYSTEM_SENSOR
ekleyin. Bu işlev kullanıldığındaMlKitAnalyzer
, kamera sensörü koordinat sistemindeki koordinatları döndürür. (I3ec61)- Uzantı meta verileri API'si kullanıma sunuldu. Yeni
CameraExtensionsInfo
veCameraExtensionsControl
arayüzleri, uygulamaların uzatma gücü ayarlarını izlemesine ve ayarlamasına olanak tanır. Uygulamalar, yeni eklenenExtensionsManager#getCameraExtensionsInfo()
veyaExtensionsManager#getCameraExtensionsControl()
yöntemleriyleCameraExtensionsInfo
veyaCameraExtensionsControl
örneğini alabilir. (I28e1a) ProcessCameraProvider.getInstance
'nin askıya alma sürümü olanProcessCameraProvider.awaitInstance
eklendi (Ib22b9)PreviewView#getSensorToViewTransform()
API'si ekleyin. Matris, kamera sensörü koordinatlarındanPreviewView
koordinatlarına dönüşümü temsil eder. Bu, koordinatları birUseCase
'dan diğerine dönüştürmek için kullanılabilir. Örneğin,ImageAnalysis
içinde algılanan nesnelerin koordinatlarınıPreviewView
yer paylaşımına dönüştürme. (I947ab)camera-viewfinder-core
API'yi daha genel hale getirin. Böylececamera-viewfinder
vecamera-viewfinder-compose
tarafından kullanılabilir. (I1e295)ViewfinderSurfaceRequest
'egetSurface
işlevini ekleyin. (I781a0)camera-viewfinder
içindecamera-viewfinder-core
özelliğini kullanın,ViewfinderSurfaceRequest
veCameraViewfinder
ö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
ZoomGestureDetector
eklendi. (Ifafbf)
Hata Düzeltmeleri
ImageAnalysis
'ı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 varsayılan çözünürlük ayarı 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ükte birResolutionSelector
veImageAnalysis
UseCase
ile eşleşen birAspectRatioStrategy
ayarlayarak bu sorunu geçici olarak çözebilir. (I81f72, b/330091012)- Mevcut istek başarısız olursa sıraya alınan
takePicture
isteğ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 uzantı uygulamaları
ImageAnalysis
ile iyi çalışmadığı ve tutarsız sorunlara neden olabileceği için CameraX Uzantıları'ndaImageAnalysis
desteğ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
,VideoCapture
ve/veyaImageCapture
dahil 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şleyenCameraEffect
API'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çinCameraInfo
bölümünde yeni API'ler de mevcuttur.
API Değişiklikleri
ScreenFlashUiCompleter
,ScreenFlashListener
olarak yeniden adlandırıldı veScreenFlashUiCompleter#getExpirationTimeMillis
,ScreenFlash#apply
öğesininexpirationTimeMillis
parametresine 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
VideoCapture
bağ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
olarak,ScreenFlashUiControl#applyScreenFlashUi
,ScreenFlash#apply
olarak,ScreenFlashUiControl#clearScreenFlashUi
,ScreenFlash#clear
olarak yeniden adlandırıldı veSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS
doğrudan kullanıma sunulmak yerinegetScreenFlashUiApplyTimeoutSeconds
yö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
getZoomRatio
işlevinin yanlışlıkla daha düşük bir değer döndürmesine neden olan sorun düzeltildi. (I4aa0d, b/317543616) ImageCapture#ScreenFlash#clear
etkinliği,ImageCapture
bağ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ü,
takePicture
isteğ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 uygun olarak deklanşör sesi çalınıp çalınmayacağı bilgisini sağlamak için
CameraInfo.mustPlayShutterSound
eklendi. (Ifda84) - Kameranın bir kareyi göstermeye başladığında bildirim göndermek için
OnImageCapturedCallback.onCaptureStarted
veOnImageSavedCallback.onCaptureStarted
eklendi. 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
ScreenFlashUiControl
arayüzüne eklemesi gerekir. (I8ae84) - CameraX'e, ekranı flaş özelliği için kullanıcı arayüzü tarafında uygulama desteği eklendi. Uygulamalar,
ImageCapture.ScreenFlashUiControl
veya yeni eklenenScreenFlashView
'den temel birPreviewView
uygulama 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ı boyutuImageCapture.Builder#setPostviewResolutionSelector()
kullanılarak seçilebilir.takePicture()
çağrıldığında, destekleniyorsa görüntüleme sonrası ve işlem ilerleme bildirimi almak içinonPostviewBitmapAvailable
veonCaptureProcessProgressed
,OnImageSavedCallback
veyaOnImageCapturedCallback
iç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)
PreviewCapabitlity
sorgulamak için API'yi önizlemedeUseCase
kullanıma sunun. (Ie5b6c)VideoCapture
için daha fazla kaliteyi desteklemek üzere 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_CAPABILITIES
ile 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ınCamcorderProfile
bö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,UseCases
için en uygun boyut kombinasyonlarını belirleme sürecini optimize etmektir. En iyi sonuçlar, belirliUseCase
kombinasyonları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
VideoCapture
kullanı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 boyutları yanlışlıkla boş olmayan
ImageAnalysis
olarak döndüren hatayı önlemek için Pixel'lerdeImageAnalysis
desteğ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)
CameraUseInconsistentTimebaseQuirk
listesine Snapdragon 480 eklendi. Bu, Android 12'de bu yonga setini kullanan cihazlarda, kayıtlardaki sesin cihazın askıya alınmış durumda olduğu süre kadar kayması sorununu düzeltir. (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
setCameraOpenRetryMaxTimeoutInMillisWhileResuming
olarak, bağımsız değişkeni ise 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ını yeniden deneme için 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 sayede, 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ındı. (I9eca7)- Video çekiminde dinamik aralığı, kare hızını ve ayna modunu yapılandırmak için API'ler eklendi. (Ifb8f7)
OutputSize
işlevini kullanımdan kaldırıpResolutionSelector
ile 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
ImageAnalysis
ile 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
VideoCapture
simgesinin 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
ImageAnalysis
ileImageCapture
ve önizlemenin birlikte bağlanamaması sorunu düzeltildi. Düzeltme, uygulamalarImageAnalysis
aracı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
,#setLinearZoom
ve#enableTorch
, hemen tamamlanmak yerine kamera hazır olana kadar bekler. Ayrıca,#takePicture
API 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
getZoomRatio
iş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_UNSPECIFIED
ile ç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, 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 varsayılan çözünürlük ayarı 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 birResolutionSelector
veImageAnalysis
UseCase ile eşleşen birAspectRatioStrategy
ayarlayarak 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
CameraUseInconsistentTimebaseQuirk
listesine Snapdragon 480 eklendi. Bu, Android 12'de bu yonga setini kullanan cihazlarda, kayıtlardaki sesin cihazın askıya alınmış durumda olduğu süre kadar kayması sorununu düzeltir. (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ılar modları arasında veya kameralar arasında geçiş yaparken yaşanan bazı siyah önizleme sorunlarını giderir. (Iddaac)
- Bazı cihazlarda bazı uzantı modları etkinleştirildiğinde
ImageAnalysis
ileImageCapture
ve önizlemenin birlikte bağlanamaması sorunu düzeltildi. Düzeltme, uygulamalarImageAnalysis
aracı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.asPersistentRecording
eklendi. Bu sayede, Kaydedici'nin bağlı olduğuVideoCapture
yeniden bağlandığında kayıt kesintisiz olarak devam edebilir. (I517c6)
Hata Düzeltmeleri
- Bir yayın hem
VideoCapture
hem 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)
CaptureFailedRetryQuirk
bö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
olarak,ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
sabitlerini isePREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION
/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE
olarak yeniden adlandırdı. (If84e8)- Kullanımdan kaldırılan
ImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
veVideoCapture.setTargetRotationDegrees(int)
API'leri kaldırıldı. (Id8e77) DynamicRange
sınıfı, resimlerin dinamik aralığını temsil eder. Bu,VideoCapture
ileVideoCapture.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
ImageAnalysis
kullanım alanının Preview veImageCapture
ile birlikte bağlanıp bağlanamayacağını belirleyebileceğiisImageAnalysisSupported
API'siExtensionsManager
'ye eklendi. (I1bc63) Recorder
sınıfından elde edilen yeniVideoCapabilities
sınıfı, cihazda video kaydı için desteklenen dinamik aralıkları ve kaliteleri sorgulamak üzere kullanılabilir.QualitySelector
'nıngetSupportedQualities()
veisQualitySupported()
yöntemleri kullanımdan kaldırılıyor. Bunun yerine lütfenVideoCapabilities
'nıngetSupportedQualities()
veisQualitySupported()
yöntemlerini kullanın. (I04014)CameraController#setVideoCaptureTargetQuality()
,setVideoCaptureQualitySelector
olarak yeniden adlandırıldı ve video kalitesi kurulumu için daha fazla esneklik sağlayanQualitySelector
bağımsız değişkenini alıyor.CameraController#getVideoCaptureTargetQuality()
, buna uygun olarakgetVideoCaptureQualitySelector
olarak 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.JPEG
biçim desteği eklendi. JPEG bayt dizisinin kodu çözülemezseUnsupportedOperationException
oluş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 çekilmesine 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
/ON
sabitleriALLOWED_RESOLUTIONS_NORMAL
/SLOW
olarak, oluşturucusetHighResolutionEnabledFlag
işlev adı isesetAllowedResolutionMode
olarak yeniden adlandırıldı. (Iae817)CameraInfo#getSupportedFrameRateRanges()
, aralıkların sırasız olduğunu daha iyi temsil etmek için artıkList
yerineSet
dö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) setTargetRotationDegrees
kullanı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#getTargetFrameRate
vePreview.Builder#setTargetFrameRate
API'leri eklendi (If4f22) VideoRecordEvent.Finalize
artık çöp toplama nedeniyleRecording
nesnesi durdurulduğundaERROR_RECORDING_GARBAGE_COLLECTED
hata koduyla tamamlanacak. (Iba974)
Hata Düzeltmeleri
StreamConfigurationMapCompat
içindeki önbelleğe alınmış çıkış boyutları boş olduğundaNullPointerException
düzeltildi. (Idf124, b/282025204)Preview.setSurfaceProvider(null)
simgesinin, uzantılarda önizlemeyi duraklatmaması (Ia903e) sorunu düzeltildi.VideoCapture
bağlıyken kamera açılırkenConcurrentModificationException
istisnası 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
ResolutionSelector
API'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ında 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.
VideoCapture
yansıtma API'leri eklendi.VideoCapture
ile kaydedilen videolar varsayılan olarak yansıtılmaz. Ancak kamera önizlemesi, varsayılan olarak ön kamerada ayna görüntüsü şeklinde gösterilir.VideoCapture
yansıtma API'leri, ön kamera kullanılırken kamera önizlemesiyle hizalamayı mümkün kılar. Üç taneMirrorMode
,OFF
,ON
veON_FRONT_ONLY
var. Kamera önizlemesiyle hizalamak içinON_FRONT_ONLY
kullanılması önerilir. Bu, arka kamerada yansıtmanın etkin olmadığı ancak ön kamerada etkin olduğu anlamına gelir.
API Değişiklikleri
- Yeni
ResolutionSelector
API'si kullanıma sunuldu. Uygulamalar, istenen sonuçları elde etmek için geri dönüş kuralları veya özel çözünürlük filtresiyle en-boy oranı ve çözünürlük stratejileri 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
setTargetAspectRatio
vesetTargetResolution
API'leri kullanımdan kaldırıldı. Lütfen bunun yerine yeniResolutionSelector
API'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
,SingleCameraConfig
veConcurrentCamera
(Iab1c1)
- NonNull (Ib9c60) oluşturma
ImageProcessor.Response#getOutputImage
VideoCapture.Builder.setMirrorMode(int)
veVideoCapture.getMirrorMode()
dahil olmak üzereVideoCapture
yansıtma API'leri eklendi. API'ler, video kaydının yaygın kamera önizleme davranışıyla tutarlı olmasını gerektiren uygulamalar için kullanışlı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
vegetTargetFramerate()
API'siniVideoCapture
'e ekleyin (I109d4)SurfaceOutput
Kapatılabilir'i genişletin ve SurfaceOutput.Event
'nin herkese açık oluşturucusunu gizleyin. (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_MUTED
simgesini 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
için 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
simgesinin 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
requestLegacyExternalStorage
değerinin doğru olarak ayarlanması gerektiğini lütfen unutmayın. (I11b2c) RejectedExecutionException
uygulamasındaDefaultSurfaceProcessor
ile ilgili kilitlenme sorunu düzeltildi. Kilitlenme,VideoCapture
bağ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 üzereVideoCapture
rotasyon 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_CAPTURE
vePREVIEW|VIDEO_CAPTURE
'ın efekt hedefi olarak kullanılmasına izin verin.VIDEO_CAPTURE
hedefli efektlerVideoCapture
UseCase'e uygulanır.PREVIEW|VIDEO_CAPTURE
hedefli efektler, önizlemeye veVideoCapture
akışına kopyalanmadan önce paylaşılan bir akışa uygulanır. (Iee6f3)
Hata Düzeltmeleri
- Kamera
1.2.2
: CameraX Uzantıları'nın, Pixel (I90aa2) gibi bazı cihazlarda proguard etkinleştirildiğinde 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
PreviewView
hata 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ğlanırken veya donanım düzeyinde LEGACY'de "Preview, VideoCapture, ImageCapture" bağlanırken CameraX
IllegalArgumentException
istisnası 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
ImageProxy
değeriniBitmap
değerine dönüştürmek için API ekleyin. DesteklenenImageProxy
biçimleriImageFormat.YUV_420_888
vePixelFormat.RGBA_8888
'dir. Biçim geçersizseIllegalArgumentException
hatası verilir. (Ic7110)- Kotlin'de askıya alma işlevlerini kullanarak vizörü yapılandırmayı desteklemek için
CoroutineCameraViewfinder
ekleyin. (I657bc) ViewfinderSurfaceRequest
için yeni bir genel oluşturucu ekleyin. KullanıcıCameraCharacteristics
sağ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'ın 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.getIntrinsicZoomRatio
eklendi. (Ib300c) - Lensin yönüyle ilgili bilgi sağlamak için
CameraInfo.getLensFacing
eklendi. Harici kameraları seçmek için deneysel bir özellik olarakCameraSelector#LENS_FACING_EXTERNAL
eklendi. (Icaf3e) - Kamera çıkışına efekt eklemeye olanak tanıyan
#setEffect()
işleviniCameraController
'e ekleyin. (I1d21f) invalidate()
yönteminiSurfaceRequest
kampanyasına ekleyin. Yüzey sağlayıcı, daha önce sağlanan yüzeyin artık geçerli olmadığını bildirebilir. (Idc649)ImageProcessor
API'si ekleyin. Bu arayüz,ImageCapture
ardışık düzenine ileri işleme efektleri eklemek için kullanılır. (I575c6)- Daha fazla video çözünürlüğünü desteklemek için
QualitySelector
ile birleştirilebilenRecorder.Builder.setAspectRatio()
API'si eklendi. (I8a082) Recorder.Builder#setTargetVideoEncodingBitRate
Hedef video kodlamayı ayarlamakBitRate
veRecorder#getTargetVideoEncodingBitRate
hedef video kodlama bit hızını almak için eklendi. (I5984d)
Hata Düzeltmeleri
- Flaş birimi yokken ve flaş modu açıkken
ImageCapture
iş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ü 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.getDurationLimitMillis
olarak,OutputOptions.setDurationLimit
iseOutputOptions.setDurationLimitMillis
olarak yeniden adlandırıldı. (I91f0c)- Video kaydederken sesle ilgili ayarları işlemek için
AudioConfig
sınıfını ekleyin. Sesin gerekli olmadığı durumlarda gereksiz izin isteklerinden kaçınmak için@RequiresPermission
ek açıklamasıstartRecording
işlevlerindenAudioConfig
işlevlerine taşındı. (I28755) - Yeni video yakalama API'si uygulandıktan sonra artık kullanılmayan Meta Verileri Kaldır,
OnVideoSavedCallback
,OutputFileOptions
veOutputFileResults
sınıflarını kaldırın. (I38cd8) - Yeni video çekme API'sini uygulayın.
setTargetResolution
artık desteklenmediğindengetVideoCaptureTargetSize
vesetVideoCaptureTargetSize
yöntemlerinin yerini sırasıylagetVideoCaptureTargetQuality
vesetVideoCaptureTargetQuality
yöntemleri almıştır. (I2a1d5)
Hata Düzeltmeleri
- Kullanımdan kaldırılan
core.VideoCapture
API'sini kaldırın. (I531e0) - Depolama izni olmadan fotoğraf çekildiğinde
onError
geri ç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-viewfinder
resmi 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.setDurationLimit
eklendi. Belirtilen süre sınırı aşıldığında kayıt otomatik olarak tamamlanır. (I902a0) - Video kaydı ses hatası durumunu ekleyin
AudioStats.AUDIO_STATE_SOURCE_ERROR
. 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 olanak tanıyan bir geçici çözüm eklendi. (Id4795)
PreviewView
SurfaceView
uygulamasındaViewPager2
ile ilgili siyah ekran sorununu düzeltir. Düzeltme kapsamında, istenen çözünürlük değiştirilmezsePreviewView
,SurfaceView
öğesini yeniden kullanır. (Ib3f27)ViewPort
veyaCameraController
API'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
simgesinin 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
MLKitAnalyzer
eklendi. - Yeni deneysel Zero-Shutter Lag API. İyi görüntü kalitesini korurken daha az gecikme için yakalama hattını optimize eder. Çekim modu
CAPTURE_MODE_ZERO_SHUTTER_LAG
olarak 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çıkCamera2Interop
API'si olarak eklendi.setOutputImageRotationEnabled
iç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.
VideoCapture
ve 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/VideoCapture
ekranı uzatma sorunu düzeltildi. - Sorun düzeltildiğinden beri Samsung Android T'de ö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
setStreamUseCase
içinOutputConfiguration
API'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/VideoCapture
ekranı uzatma sorunu düzeltildi. 1920x1080 çözünürlük,Preview/VideoCapture
resimlerinin gerilmesine neden oluyor. Resmin gerilmesi sorununu önlemek için önizleme veyaVideoCapture
için 1920x1080 çözünürlüğün seçilmemesiyle ilgili geçici çözüm eklendi. (I0e04e) - Bazı Huawei cihazlarda
VideoCapture
ve 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
SurfaceProvider
ayarlanmadığında kameranın açılamaması sorunu düzeltildi. Düzeltme kapsamında,SurfaceProvider
ayarlanmamış ö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
setOutputImageRotationEnabled
için API düzeyi şartı ekleyin (I26e3e, b/240993561)
Hata Düzeltmeleri
- 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ı. (I05f69)
- 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. (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 hattını optimize eder. Yakalama modu CAPTURE_MODE_ZERO_SHUTTER_LAG olarak ayarlandığında, deklanşör düğmesi 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.Analyzer
veMLKitAnalyzer
, 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.Location
nesnesi, 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
Recorder
uygulaması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.Analyzer
veMLKitAnalyzer
için deneysel ek açıklamayı kaldırdı. (I0ff22)
Hata Düzeltmeleri
FocusMeteringAction
iptal edilmezse ve AF kısmı süre içinde yakınlaştırılmazsa AF kısmınıisFocusSuccessful
false 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üzeltme (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
CAPTURE_MODE_ZERO_SHUTTER_LAG
içinde yeni yakalama moduImageCapture
ekleyin ve cihaz özelliğini sorgulamak içinCameraInfo
içineisZslSupported
ekleyin.CAPTURE_MODE_ZERO_SHUTTER_LAG
modu, anında çekim için minimum gecikmeyi sağlamayı amaçlar. Bu özellik, kullanıcı fotoğraf çekmek için düğmelere bastığında ara çekim sonuçlarını daha sonra yeniden işlemek üzere önbelleğe alan bir halka arabelleğe göre 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:
ImageCapture
takePicture yöntemi, bildirilen cihazlarda el fenerini kapatıyor. (Ib5eb5, b/228272227) AssertionError
özelliğini alırkenCONTROL_ZOOM_RATIO_RANGE
özelliğinin 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
QualitySelector
simgesinin UHD video kaydetmemesi sorunu düzeltildi. Bu sorun,VideoCapture
ileImageCapture
bağlanıp FULL veya daha yüksek donanım düzeyinde bir kamera cihazında önizleme yapıldığında ortaya çıkar.QualitySelector
yedek stratejisi,VideoCapture
öğesinin hatalı bir şekilde 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 kullanıma sundu. 1.1.0-beta01 sürümünden itibaren tüm CameraX kitaplıkları aynı sürüm numarasına sahip olacak. 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.setOutputImageRotationEnabled
vesetOutputImageFormat
) - 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
CameraState
API'si eklendi. - Kullanılabilir kameralar hakkında doğrudan bilgi almak için bir API
ProcessCameraProvider.getAvailableCameraInfos()
eklendi. - Uzantılar etkinleştirildiğinde
ImageCapture#OnImageCapturedCallback
için çıkış JPEG biçimi. - Uygulamaların, verilen
FocusMeteringAction
öğesinin mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyan bir APIisFocusMeteringSupported
eklendi.CameraInfo
- Önizleme,
ImageCapture
veImageAnalysis
için çözünürlük bilgilerini sağlayangetResolutionInfo
API'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#setJpegQuality
eklendi. CameraSelector#filter
,CameraInfos
listesiniCameraSelector
'ye göre filtrelemek için herkese açık API'ye eklendi.- Mevcut yakalama isteği seçeneklerini temizlemek için
Camera2CameraControl.clearCaptureRequestOptions
simgesi eklendi. CameraController
'ı harici görüntü işleme kitaplıklarıyla (ör. MLKit) kullanmak için deneysel bir API eklendi.- Kamerasına özgü bir
CameraSelector
döndüren deneysel APICameraInfo#getCameraSelector()
eklendi. - Çeşitli deneysel API'leri resmi herkese açık API'lere yükseltti.
- Deneysel API'ler için
@Experimental
ek açıklaması@RequiresOptIn
ile 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()
, @ExperimentalCameraFilter
API'ler- deneysel pozlama telafisi API'leri.
- Kamera çekirdeği, kamera yaşam döngüsü ve kamera videosu için deneysel
UseCaseGroup
API'si tanıtıldı. Görünüm alanını özelleştirmek içinViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
veViewPort.Builder#setScaleType
eklendi. 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ı. QualitySelector
Oluşturucu API'si liste tabanlı bir API olarak değiştirildi.
Hata Düzeltmeleri
- Uzantı modu etkinleştirildiğinde ve
ImageCapture#CAPTURE_MODE_MAX_QUALITY
modu ayarlandığında ortaya çıkanYuvToJpegProcessor
EOFException
sorunu 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 tetiklenmesiyle ilgili sorun 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
karakterinin 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.CodecException
ile 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)CameraExtensionsActivity
ile ç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. Version 1.1.0-beta03 contains these commits.
API Değişiklikleri
CaptureRequestOptions
oluşturucusu kısıtlandı. (I261b6)CameraController
ile harici görüntü işleme kitaplıklarını (ö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
PreviewView
iç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
AbstractMethodError
sorunu düzeltildi. (I7cbaf, b/222726805) - Motorola razr 5G cihazda bokeh uzantısı modunu zorunlu olarak devre dışı bırakma. Bu işlem, 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
InvalidConfigException
ile karşılaştığında oluşan kilitlenme düzeltildi. Ancak bu düzeltme yalnızca uygulamanın kilitlenmesini önler veInvalidConfigException
nedenini çözmez.Recorder
yapı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'si (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 olacak. 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.clearCaptureRequestOptions
eklendi. (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 lensi kullanan kamerada
cameraControl#startFocusAndMetering()
kullanılırken yanlış AF bölgesi sorununu düzeltildi (Ifbf59, b/210548792). - Karanlıkta hız ve çekilen görüntü kalitesini artırmak için Pixel 3a/Pixel 3a XL'de el fenerini flaş olarak kullanma (Ib12b6, b/211474332)
- 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 ve 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)
ek 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.HD
olarak değiştirilir veQualitySelector.FALLBACK_STRATEGY_LOWER
,FallbackStrategy.lowerQualityOrHigherThan(Quality)
tarafından döndürülen örnek olarak değiştirilir.QualitySelector
oluşturmak için kullanılan API, liste tabanlı bir API olarak değiştirildi. Yeni APIQualitySelector.fromOrderedList(List<Quality>)
,QualitySelector.Procedure
tarafından oluşturulan sıra yerine giriş kalitesi listesinin sırasını referans alacaktır.QualitySelector.Procedure
sı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.Finalize
etkinliğinde bildirilen eşzamansız hataların işlenmesini teşvik etmeyi amaçlar. (I1e71d)ActiveRecording
, ayrıntı düzeyini azaltmak içinRecording
olarak yeniden adlandırıldı. (I77ceb)
Hata Düzeltmeleri
- Pixel 3a ve Pixel 3a XL'de (I13f19, b/205373142)
FLASH_AUTO
modunda çekilen fotoğrafların karanlık ortamlarda az pozlanmasına neden olan sorun düzeltildi. - Önizlemeyi belirlemek için her zaman en son 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_COMPATIBLE
simgesi olmayan kamera, özel işlevleri destekleyen bir kamera olabilir ve standart renk çıkışını desteklemez.CameraX
, bu kameralar içinPreview
,ImageCapture
,ImageAnalysis
veyaVideoCapture
kullanı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ıkIllegalArgumentException
oluş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 hedef dönmesi temel alınarak hesaplanan göreceli bir dönmedir. Bu sayede görüntü ön planda tutulur.
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 hedef dönmesi temel alınarak hesaplanan göreceli bir dönmedir. Bu sayede görüntü ön planda tutulur.
ImageInfo'ya
getSensorToBufferTransformMatrix
API'sini ekleyin. Döndürülen matris, sensör koordinatlarından arabellek koordinatlarına (yaniCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
değerinden(0, 0, image.getWidth, image.getHeight)
değerine) yapılan bir eşlemedir. Matris, koordinatları bir {UseCase}'den diğerine eşlemek için kullanılabilir. Örneğin, ImageAnalysis ile algılanan yüzün koordinatlarını önizlemeyle eşleme. (I9ff1e)Fotoğraf çekerken çıkış JPEG görüntüsünün sıkıştırma kalitesinin değiştirilmesine olanak tanıyan yeni bir API 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. Version 1.1.0-alpha10 contains these commits.
Yeni Özellikler
- Video için ilk alfa sürümü olarak
androidx.camera:camera-video:1.1.0-alpha10
yayı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
yayınlandı. 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_QUALITY
modunda ç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_LATENCY
ise JPEG sıkıştırma kalitesi 95 olur. Çekim moduCAPTURE_MODE_MAXIMIZE_QUALITY
ise 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
yayınlandı. 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 olanak tanır. 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 ödünleşmeyi 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
yayınlandı. 1.1.0-alpha07 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Samsung Galaxy Note 5'te, karanlık ortamda flaş açıkken/otomatik modda fotoğraf çekildikten sonra kameranın takılması sorunu düzeltildi (If6871).
- Uzantı modu etkinleştirildiğinde ve
ImageCapture#CAPTURE_MODE_MAX_QUALITY
modu ayarlandığındaYuvToJpegProcessor
EOFException 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
yayınlandı. 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#setLayoutDirection
veViewPort.Builder#setScaleType
eklendi. (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
yayınlandı. Version 1.1.0-alpha05 contains these commits.
API Değişiklikleri
Camera2CameraFilter
sı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)ExperimentalCameraFilter
API'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
yayınlandı. 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
@Experimental
ek açıklaması@RequiresOptIn
ile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılanandroidx.annotation.experimental.UseExperimental
yerineandroidx.annotation.OptIn
kullanın. (Iff226) - Flaş açık/otomatikken ImageCapture ile çekilen fotoğrafların Samsung Galaxy S7'de soluk çıkması sorunu düzeltildi. (I30001)
- CameraInfo aracılığıyla 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
yayınlandı. 1.1.0-alpha03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Uzantılar modu etkinleştirildiğinde
ImageCapture#OnImageCapturedCallback
için JPEG biçiminde çıkış. (I0d7b1) - UMIDIGI BISON cihazlarda başlatma hatası düzeltildi (I57d9e, b/180818665)
- PreviewView'da Samsung A3'teki gerilmiş ö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
yayınlandı. 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ğlananCameraSelector
tarafından seçilen kameralardır. (Ieac08)
Hata Düzeltmeleri
- CameraX artık ilk denemede kamerayı zorla açmaya çalışıyor. Bu durum, CameraX'in uygulaması daha yüksek önceliğe sahip olduğunda 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 görüntü 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
yayınlandı. 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
IllegalArgumentException
sorunu 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
yayınlandı. 1.0.2 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
MAXIMIZE_QUALITY
modunda çekilen fotoğrafların bulanık olması sorunu düzeltildi. (I173a9, b/193823892)- Flaşla çekilen resimlerin 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
yayınlandı. 1.0.1 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
ListenableFuture
döndürülensetZoomRatio
vesetLinearZoom
'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
yayınlandı. 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
yayınlandı. 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
yayınlandı. 1.0.0-rc04 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- UMIDIGI BISON cihazlarda 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
yayınlandı. 1.0.0-rc03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
ProcessCameraProvider#getInstance
belgesindeki 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 kaydedilmeye çalışılacağı için hata yanıtı daha uzun sürede alınır.
- Bu değişiklik, ImageAnalysis'te görüntü 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 görüntü 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
yayınlandı. 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)
Kameranın yeniden açılma denemelerinin sayısını sınırlayın. CameraX, kamerayı açarken belirli sorunlardan kurtulmaya ç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
IllegalArgumentException
sorunu 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
yayınlandı. 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#DEBUG
olur. (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ınmaması sorunu düzeltildi. (If98b2, b/172036589)
Preview.setSurfaceProvider(null)
aranarak ö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 Sürüm 1.0.0-beta12
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
yayınlandı. 1.0.0-beta12 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Samsung A3 cihazlarda otomatik flaşla fotoğraf çekilirken yaşanan kilitlenme sorununu düzeltmek için 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#onCaptureSuccess
temel 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_RATIO_RANGE
içeren Android 11 veya sonraki sürümlerdeki cihazlarda yakınlaştırma için Android 11CONTROL_ZOOM_RATIO
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)
- 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()
, bir Kamera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0
döndürür. Ancak Builder veya UseCase üzerinde bir targetRotation ayarlanmışsa bu durum geçerli değildir. (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_RANGE
içeren Android 11 veya sonraki sürümlerdeki cihazlarda yakınlaştırma için Android 11 CONTROL_ZOOM_RATIO
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()
, bir Kamera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0
döndürür. Ancak Builder veya UseCase üzerinde bir targetRotation ayarlanmışsa bu durum geçerli değildir. (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_9
olarak 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
InitializationException
oluş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)
ExposureCompensation
için deneysel arayüzler eklendi (If96c7)- Önizleme için rastgele hedef döndürmeye izin verin. Dönüşüm bilgileri, yeni bir
TranformationInfoListener
geri ç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_ON
olarak ayarlandığında ve flaş patlatıldığındaFLASH_MODE_OFF
olarak değiştirildiğinde yaşanıyordu. 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, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir. 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üzeltme (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
,CameraSelector
yerineCameraInfo
örneğini alır. Bu nedenle, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir.DisplayOrientedMeteringPointFactory
kullanan tüm sınıflar,CameraSelector
yerineCameraInfo
ö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'in desteklediği 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_START
veFIT_END
uyum stiliniFIT
ile 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
ConcurrentModificationException
istisnası 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'in Samsung Galaxy S7'de başarıyla 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şinin önizlemeyi bozması sorunu düzeltildi (I920ce).
- Belirtilen MeteringPoint'lerden hiçbiri geçerli ölçüm dikdörtgenleri oluşturamıyorsa
CameraControl#startFocusAndMetering
baş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.Provider
uygulanmasını gerektirmedenCameraXConfig
özelleştirilebilir. (Ia1a8d) - Belirtilen MeteringPoint'lerden hiçbiri geçerli ölçüm dikdörtgenleri oluşturamıyorsa
CameraControl#startFocusAndMetering
baş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 sonucununListenableFuture
değerine ayarlanacak birCameraUnavailableException
içeriyor. (I9909a, b/149413835) CONTROL_AF_STATE
değerinin boş olduğu cihazlardastartFocusAndMetering
aranı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.
InitializationException
içeren birCameraUnavailableException
, uygulamayı kilitlenmek yerine başlatma sonucununListenableFuture
değerine ayarlanır. (I9909a, b/149413835)
Hata Düzeltmeleri
setTargetResolution
vesetTargetRotation
iç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,
Camera2Interop
aracılığıyla herhangi bir camera2 yakalama isteği parametresini kilitlenmeye neden olmadan ayarlaması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 hata günlüğü, Camera2CameraImpl'deki 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)
ImageCapture
kaynağındanImageProxy
iç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 kamerayı yeniden açma 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
ImageAnalysis
bölümünde,ImageReaderProxy
kapatıldıktan sonraImageProxy
bölümüne erişildiğinde yaşanan kilitlenme sorunu düzeltildi. Bu,Analyzer
tarafından alınan tümImageProxy
öğelerininImageReaderProxy
kapatılmadan önce kapatılması gerektiği anlamına da gelir. (I4b299, b/145956416, b/154155377, b/156357269)CameraInfo
parametresiPreviewView#createSurfaceProvider()
öğesinden kaldırıldı.PreviewView
artı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)
ImageAnalysis
ile 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)ImageCapture
kaynağındanImageProxy
içinde arabelleğin geri sarılmaması hatası düzeltildi (I0c455, b/153249512).CameraManager
tarafından desteklenen listedeki ilk kameranın her zaman kullanılmak üzere seçilmemesi sorunu düzeltildi. (I4c624, b/153418028)Preview.SurfaceProvider
ayarı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. 1.0.0-beta03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
camera-core
sü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. 1.0.0-beta03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Beta03'teki, sıfır
UseCase
ilebindToLifecycle()
'yı çağırmanın istisna oluşturmasına neden olan gerileme düzeltildi. Bu durum,UseCase
bağlanmadanCamera
alı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
ImageCapture
tarafı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.gradle
iç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
IllegalArgumentException
sorunu 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ünürlük 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
ImageCapture
tarafı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ünürlük hesaplamaları yapmak içinbindToLifecycle
çağrıldığında UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'i güncellemesi gerekmiyor (I78d9e).Preview
işlevinin birden fazla kez çağrılmasının ardından önizleme yüzeyi değiştiğindePreview
kullanı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
CameraXConfig
sağ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
,Executor
veCallback
ile 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.Result
nesnesi 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
CameraXConfig
sağ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. Sürüm 1.0.0-alpha10 şu commit'leri içerir.
Hata Düzeltmeleri
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
cihazlarda kararlılık iyileştirildi.Surface
'ların yalnızca Camera2 tarafından kullanım süresi boyunca saklanması sağlandı. (I9dac2)CONTROL_AE_TARGET_FPS_RANGE
ayarı 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. Sürüm 1.0.0-alpha10 şu commit'leri içerir.
API Değişiklikleri
- Resimlerin
Uri
veOutputStream
'ye kaydedilmesine izin vermek içinImageCapture
güncellendi. Aşırı yüklenmiştakePicture
yöntemleri tek bir yöntemde birleştirildi.Uri
öğesini kanonik örnek olarak kullanmak için test uygulaması güncellendi. (Ia3bec) Preview.PreviewSurfaceProvider
,Preview.SurfaceProvider
olarak yeniden adlandırıldı.SurfaceProvider
artık geliştiricilerin kendiListenableFuture
öğelerini oluşturmalarını gerektirmiyor veSurface
sağlama işlemi artık yeni birSurfaceRequest
nesnesi aracılığıyla yapılıyor.Preview.getPreviewSurfaceProvider()
yöntemi,Preview
ilePreviewView
gibi diğer sınıflar eşleştirildiğinde kötüye kullanılma ihtimali nedeniyle kaldırıldı. (I20105)Preview
listesinegetTargetRotation()
vegetTargetName()
eklendi. (Iceee7)getTargetRotation()
,getBackpressureStrategy()
vegetImageQueueDepth()
,ImageAnalysis
tarihinde eklendi. (I9d6d9)ImageCapture()
'degetTargetRotation()
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 olanImageCaptureException
ile 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) Preview
veImageCapture
sınıfları artık nihai olarak işaretleniyor. (I2500b)- API güncellendi.
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
vegetLinearZoom()
yöntemleriCameraInfo
birleş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_CLASS
veOPTION_TARGET_NAME
API alanlarıCameraXConfig
'dan kaldırıldı.CameraXConfig.Builder
iç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-camera2
yapı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()
kullanarakCameraInfo
içinden 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());
Camera2CameraInfo
sınıfı içinExperimentalCamera2Interop
markerClass 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
SurfaceOrientedMeteringPointFactory
parametresiuseCaseForSurface
,useCaseForAspectRatio
olarak yeniden adlandırıldı ve referans belgeleri 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,Display
parametresini alan oluşturucuyu kullanmalı ve geçerli ekranı iletmelidir. - Odaklanma ve ölçüm API'leri için
MeteringMode
ve 3A işaretleri ileDisplay
parametresinin kullanımıyla ilgili Javadoc iyileştirmeleri. setZoomRatio
vesetLinearZoom
ile 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
ConcurrentModificationException
dü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.
startFocusMetering
vecancelFocusMetering
API'leri artık belgelendiği şekilde çalışıyor. Doğru zamanlamayla çalışıyor ve oluştuğunda hataları döndürü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 seviyeleri 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 bir 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
PreviewView
veyaCameraView
kullanan uygulamalarda yanlış en-boy oranına sahip önizleme olabilir. Bu durum, Pixel 2 gibi bazı FULL cihazlarda duraklatma veya devam ettirme işleminden sonra meydana gelir.
Hata Düzeltmeleri
FocusMeteringAction
veCameraControl
ile ilgili dokümanlar güncellendi.enableTorch()
vegetTorchState()
içinTorchControl
uygulandı.
API Değişiklikleri
- IntDef'ler gizlendi ve IntDef sabitleri IntDef tanımının dışına taşındı.
rotationDegrees
,OnImageCaptureCallback
sınıfındanImageInfo
sınıfına taşındı.rotationDegrees
,Analyzer
sınıfındanImageInfo
sı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
Camera2Config
artık CameraX için Camera2 tabanlı bir uygulamayı başlatma ve yapılandırma amacıyla 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ı lütfen unutmayın. Değişiklikleri incelemenizi ve CameraX Google Grubu'nda geri bildirimlerinizi paylaşmanızı öneririz. Play Store'da bulunan 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.camera2
tarafı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 sayede, kamera sağlayıcıFuture.get()
üzerinde engelleme olmadanFuture
üzerinden alınabilir.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
PreviewView
gö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:
ImageAnalysis
Analyzer yöntemi uygulaması, alınan resimler kullanılmayı bitirdiğindeimage.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 ImageReaderMode
artık geri basınç stratejisi olarak değiştirildiintdef
.ImageProxy.getImage()
, deneysel olarak işaretlenir. Uygulamalar, örneğin@androidx.camera.core.ExperimentalGetImage
aracılığıyla kullanımı açıklama olarak eklemelidir.Analyzer
içinUIThread
ek açıklaması şartı kaldırıldı.ImageAnalysis.clearAnalyzer()
işlevi, analizör kaldırmak için eklenir.Birden fazla yöntemi olan dinleyiciler, Geri Arama olarak yeniden adlandırıldı:
ImageCapture.OnImageCapturedListener
adlı bankanın yeni adıImageCapture.OnImageCapturedCallback
ImageCapture.OnImageSavedListener
adlı bankanın yeni adıImageCapture.OnImageSavedCallback
VideoCapture.OnVideoSavedListener
adlı 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 ayrıntılı bilgileri referans belgelerinde bulabilirsiniz.ImageCapture.Metadata
alanlarının yerini get/set/is erişimcileri almıştır.startFocusMetering
vecancelFocusMetering
artık çağrının eşzamansız işlemini temsil edenListenableFutures
değerini döndürüyor.MeteringPoints
artı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şlevi çalışıyor ancak flaş birimi olmasa bile döndürülenListenableFuture<Void>
her zaman anlıkcomplete(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) veTorchState
Kapalı kalır. - Bilinen Sorun:
startFocusAndMetering
vecancelFocusAndMetering
, odak ölçümünü başlatıp iptal ediyor ancak belgelenen davranışı temsil etmeyen, hemencompleted (success)
geleceği 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:
PreviewView
dokunma etkinlikleriyle kullanılacak bir ölçüm noktası fabrikası geliştiriliyor. Şu an için özel olarak yönetilen yüzeylere bağlanan uygulamalar mevcut ölçüm noktası fabrikalarını kullanabilir. Aksi takdirde,PreviewView
için dokunma odaklama işlevi kullanılamaz.
Camera-Camera2 ve Camera-Core Version 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_3
veyaRATIO_16_9
seç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.setOnPreviewOutputUpdateListener
FocusMeteringAction.Builder.setAutoFocusCallback
ImageAnalysis.setAnalyzer
ImageCapture.takePicture
CameraView.takePicture
CameraView.startRecording
VideoCapture.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
CameraInfo
vegetCameraInfo
yö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ürme ile 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. Aynı oluşturucuda her ikisini de ç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. hesaplamayı kaydetmek 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.onError
hatası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.ImageCaptureError
olarak yeniden adlandırıldıVideoCapture.UseCaseError
,VideoCapture.VideoCaptureError
olarak yeniden adlandırıldı
CameraControl
API'si ve Dokunarak Odaklama API'leri eklendiLens yönüne göre seçilen bir kamera için CameraX'ten
CameraControl
alma API'si eklendi:CameraX.getCameraControl(LensFacing lensFacing)
Odaklamak için dokunma özelliğini çalıştırmak üzere
MeteringPointFactory
,MeteringPoint
,MeteringMode
veFocusMeteringAction
eklendi: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
CameraControl
API'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 çevirmeye 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
IllegalStateException
oluş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.
Görüntü analiz edilirken döndürme işleminde kilitlenmeye neden olan hata 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 paketinde (devam ediyor) 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 kodlaması için "en yakın mod16" tercihi.
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
sayfasına göz atın.
CameraX oturumu oluşturup yönetse de kodunuzdaki kullanım alanı çıktısında döndürülen resim boyutlarını her zaman kontrol etmeli ve buna göre ayarlamalar 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, en boy oranı ayarlanmadığında varsayılan olarak 4:3 en boy oranı kullanılır.
- 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ı korumaya çalışır (
setTargetAspectRatio
veyasetTargetResolution
çağrılarıyla belirlendiği gibi). - Çö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
artık engelleme yapmıyor. 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ınsama beklenirken yaşanan 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
setLensFacing
işlevi çağrılmadığındajava.lang.IllegalArgumentException: Unable to get camera ID for use case
sonucunu 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 uygulamanın arka plana alınmasıyla ilgili sorun düzeltildi.
- API < 25'te
checkAndUpdateEglState: invalid current EGLDisplay
hatasının kaldırılmasıyla ilgili sorun düzeltildi. - 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 1.0.0-alpha03 sürümü
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 çekim 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 aramaları
- Dahili olarak karşılık gelen görüntü ve meta verilerde 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()
, bir Kamera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0
döndürür. Ancak Builder veya UseCase üzerinde bir targetRotation ayarlanmışsa bu durum geçerli değildir. (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.
InitializationException
içeren birCameraUnavailableException
, uygulamayı kilitlenmek yerine başlatma sonucununListenableFuture
değ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. 1.0.0-beta03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Beta03'teki, sıfır
UseCase
ilebindToLifecycle()
'yı çağırmanın istisna oluşturmasına neden olan gerileme düzeltildi. Bu durum,UseCase
bağlanmadanCamera
alınmasını engelliyordu. camera-core
sü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
ProcessCameraProvider
elde 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-beta02
vecamera-core:1.0.0-beta02
yapıları ile ilgili 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. Sürüm 1.0.0-alpha10 şu commit'leri içerir.
API Değişiklikleri
- BindToLifecycle, unbind ve unbindAll yöntemlerine
@MainThread
ek 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-alpha08
kullanı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ı
LifeCycleCameraProvider
arayüzü sağlayan camera-lifecycle yapısı veProcessCameraProvider
adlı 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.
ProcessCameraProvider
kullanarak 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ı. Sürüm 1.0.0-alpha32 şu commit'leri içerir.
API Değişiklikleri
- Gereksiz
@RequiresApi(21)
ek 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
VideoCapture
bağlanırken uzantı modlarını etkinleştirmesine izin vermeyin. CameraX Uzantıları yalnızcaImageCapture
vePreview
'yi destekler.VideoCapture
henüz desteklenmiyor. UygulamaVideoCapture
ile bağlanırsa ve herhangi bir uzantı modu etkinleştirirseIllegalArgumentException
istisnası oluşturulur. (I0d87b) CameraSelector#filter
, sonuç kümesi boş olduğunda artıkIllegalArgumentException
oluşturmuyor. (I27804)ExtensionsManager#getInstance
API'si,ListenableFuture
döndürdüğü içingetInstanceAsync
olarak 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#getEstimatedCaptureLatencyRange
kullanım alanında hangi boyutların desteklendiğini bilemediği ve döndürülen gecikme bilgilerinin maksimum yakalama çıkış boyutu için mi yoksa giriş çözünürlüğü parametresi için mi olduğunu ayırt edemediği içinImageCapture
API'sinden çözünürlük parametresini kaldırın. (I74bb2) ExtensionsManager
işlevlerininCameraProvider
parametresinigetInstance()
API'ye taşıyın. Böylece kullanıcılarınCameraProvider
parametresiniExtensionsManager
iş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)
- Tek bir etkinlikte birden fazla CameraController ve PreviewView 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ı. Sürüm 1.0.0-alpha28 ş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>Extender
sı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#transform
olarak yeniden adlandırıldı ve JavaDoc güncellendi (I864ae)
Hata Düzeltmeleri
PreviewView PERFORMANCE
modu, 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
CameraController#getTapToFocusState()
yeni bir yöntem 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>Extender
sı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)
CameraView
kaldırıldı.CameraView
,CameraController
ile 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
,ExperimentalUseCaseGroup
ile 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
@Experimental
ek açıklaması@RequiresOptIn
ile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılanandroidx.annotation.experimental.UseExperimental
yerineandroidx.annotation.OptIn
kullanın. (Iff226) - Samsung J5 Prime'da PreviewView'in gergin görünmesi sorunu düzeltildi (Ib10b6).
Kamera Uzantıları ve Görüntüleme 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ı. 1.0.0-alpha23 sürümü şu commit'leri içerir.
API Değişiklikleri
- CameraView'in desteği sonlandırılıyor. Lütfen bunun yerine
LifecycleCameraController
seç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 üzere açıkça ayarlanmışlarsa camera-view bu yapıtlarla uyumlu olmaya devam edecek. (Ic8fa1, b/181599852)
- PreviewView'da Samsung A3'teki gerilmiş ö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üntüleme 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
@ExperimentalVideo
ek 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@UseExperimental
ek açıklaması,markerClass
olarakExperimentalVideo
ile 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()
, bir Kamera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0
döndürür. Ancak Builder veya UseCase üzerinde bir targetRotation ayarlanmışsa bu durum geçerli değildir. (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
ExtensionsManager
içinde, Kamera örneklerinde uzantıları etkinleştirmek ve sorgulamak için kullanılanExtensions
nesnesini 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
TranformationInfoListener
geri ç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 birlikte 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. Version 1.0.0-alpha15 contains these commits.
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. Version 1.0.0-alpha15 contains these commits.
Hata Düzeltmeleri
DisplayOrientedMeteringPointFactory
,CameraSelector
yerineCameraInfo
örneğini alır. Bu nedenle, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir.DisplayOrientedMeteringPointFactory
kullanan tüm sınıflar,CameraSelector
yerineCameraInfo
örneği de alır. (I400c1)TextureViewMeteringPointFactory
kaldırıldı.PreviewView
,TextureView
veyaSurfaceView
kullanı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_VIEW
uygulama modlarınıPERFORMANCE
/COMPATIBLE
olarak yeniden adlandırın.PERFORMANCE
, eskiSURFACE_VIEW
modu,COMPATIBLE
ise eskiTEXTURE_VIEW
modudur. (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. 1.0.0-alpha12 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.
InitializationException
içeren birCameraUnavailableException
, uygulamayı kilitlenmek yerine başlatma sonucununListenableFuture
değ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. 1.0.0-alpha12 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Önizleme yüzeyinde gösterilen içeriğin Bitmap temsilini 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. 1.0.0-alpha12 sürümü şu commit'leri içerir.
Yeni Özellikler
API Değişiklikleri
Hata Düzeltmeleri
- Önizleme yüzeyinde gösterilen içeriğin Bitmap temsilini 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#getPreviewStreamState
API'sini ekleyin. 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_3
kameralarda önizleme bozulması sorunu düzeltildi. Android sürümü 7.0 veya daha eski olduğundaImplementationMode#TEXTURE_VIEW
modunun zorunlu kullanılması. (I83e30, b/155085307) CameraInfo
parametresiPreviewView#createSurfaceProvider()
öğesinden kaldırıldı.PreviewView
artı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)
- ViewPager2'de
PreviewView
siyah ekran sorunlarını düzeltmePreview
parçası kaydırılıp ardından geri kaydırıldığında Ayrıca,removeView(previewview)
ve ardındanaddView(previewView)
seçildiğinde yaşanan sorun da düzeltildi. (Iab555, b/149877652, b/147354615) - Resimlerin
Uri
veOutputStream
'ye 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.ScaleType
kaldırıldı. Bunun yerine, CameraView ile ölçek türü ayarlamak/almak içinPreviewView.ScaleType
kullanın. (Ia8974, b/153014831)- Varsayılan olarak
PreviewView
simgesine arka plan rengi verin (varsayılan arka plan rengi 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 yapıldı.
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 bir 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-beta02
vecamera-lifecycle:1.0.0-beta02
yapı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_VIEW
ilePreviewView
kullanı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_VIEW
kullanmanı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()
,PreviewView.createSurfaceProvider(CameraInfo)
ile değiştirildi. Bu işlev, mümkün olduğundaImplementationMode.SURFACE_VIEW
kullanılarak önizlemeyi optimize etmek için kullanılan, boş değer atanabilir birCameraInfo
örneği alır. Boş bir örnek iletilirse veya tercih edilen uygulama moduImplementationMode.TEXTURE_VIEW
olarak ayarlanırsa dahili olarakImplementationMode.TEXTURE_VIEW
kullanı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))
@UiThread
ek 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.ScaleType
içindeki değerlerden birini kabul eder ve varsayılan olarakPreviewView.ScaleType.FILL_CENTER
değerini kullanır.PreviewView.getScaleType()
eklendi.implementationMode
özelliğini kullanarak bir XML düzenindePreviewView
için uygulama modunu ayarlama desteği kaldırıldı.createMeteringPointFactory()
API'sini PreviewView'a ekleyerekPreviewView
içindeki (x, y) değerlerininMeteringPoint
'ye dönüştürülmesini destekleyin. (Ib36d7)
Hata Düzeltmeleri
PreviewView
boyutunun 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 contains these commits.
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 contains these commits.
Hata Düzeltmeleri
SurfaceRequest.provideSurface()
üzerindekiListenableFuture
,Executor
veCallback
ile 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.Result
nesnesi 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
CameraXConfig
sağ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 olanImageCaptureException
ile 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ınTextureView
uygulaması 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ızPreviewView
boyutunu sabit bir değere ayarlamayın veya içeriğini sarmalamasına izin vermeyin (ör. "wrap_content
" özelliğini kullanarak). Bu durumda, 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
Uri
veOutputStream
'ye kaydedilmesine izin vermek içinImageCapture
güncellendi. Aşırı yüklenmiştakePicture
yöntemleri tek bir yöntemde birleştirildi.Uri
öğesini kanonik örnek olarak kullanmak için test uygulaması güncellendi. (Ia3bec) Preview.PreviewSurfaceProvider
,Preview.SurfaceProvider
olarak yeniden adlandırıldı.SurfaceProvider
artık geliştiricilerin kendiListenableFuture
öğelerini oluşturmalarını gerektirmiyor veSurface
sağlama işlemi artık yeni birSurfaceRequest
nesnesi aracılığıyla yapılıyor.Preview.getPreviewSurfaceProvider()
yöntemi,Preview
ilePreviewView
gibi 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 olanImageCaptureException
ile 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.
CameraInfo
yöntemlerindengetZoomRatio()
,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.TextureViewImplementation
adlı 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
CameraSelector
alır. Bu, kullanım alanını bağlamak için kullanılanCameraSelector
ile 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
PreviewView
sınıfı sağlanır. Düzenlemeye
PreviewView
dahil edilebilir:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />
PreviewView
, önizleme kullanım alanını kolayca bağlamak içinPreviewSurfaceProvider
sunarpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
API adlandırmasında "
ZoomLevel
" artık "ZoomRatio
" olarak adlandırılıyor.Bazı yöntem parametrelerinin nullability'si 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 taahhütler, bunlar ise camera-view:1.0.0-alpha02'ye dahil edilen taahhütlerdir.
PreviewImageProcessorImpl
öğesinin zaman damgalarını doğru şekilde uyguladığını doğrulamak için testler eklendi.- Nexus 5'te (API düzeyi 21)
ExtensionTest
test 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 taahhütler ve camera-view:1.0.0-alpha01'de yer alan taahhütlerdir.
- Desteklenen cihazlarda efektlere erişmek için gelecekteki Kamera Uzantıları'nın kullanabileceği 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.