CameraX

CameraX, Jetpack'e eklenen ve uygulamanıza kamera özellikleri eklemeyi kolaylaştıran bir kitaplıktır. Kitaplık, geliştirici deneyiminin birçok cihazda tutarlı olmasına yardımcı olmak için çeşitli uyumluluk düzeltmeleri ve geçici çözümler sunar.

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 -
Bu kitaplık en son şu tarihte güncellenmiştir: 16 Temmuz 2025

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.

Yeni sorun oluşturma

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ın ImplementationMode Enums'larını, temel uygulamaları daha iyi yansıtacak şekilde yeniden adlandırın ve TransformationInfo.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, bir SessionConfig 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>) ve CameraInfo.getSupportedFrameRateRanges(SessionConfig)) eklendi. (Ieacf7)
  • Kullanım alanlarını, oturum parametrelerini, CameraEffect, ViewPort vb. yapılandırmak için daha iyi bir soyutlama içeren yeni SessionConfig 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 belirlenen CameraEffect ile ViewPort'yi uygular. Yeni bir SessionConfig öğesini aynı LifecycleOwner ile güncellerken önce bağlamayı kaldırma veya unbindAll işlemini çağırmanıza gerek kalmadan yeni bir Sessionconfig 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 temel Viewfinder'deki yüzey değiştirme işlemini düzgün şekilde gerçekleştiriyor. Bu, API düzeyi 28 veya daha düşük bir EXTERNAL vizörünün ekranın dışına çıkması ya da CameraXViewfinder (herhangi bir ImplementationMode ile) moveableContentOf()'ün parçası olması gibi senaryoları kapsar. Temel alınan ViewfinderSurfaceSession'nın etkin tutulamadığı durumlarda CameraXViewfinder, mevcut CameraX SurfaceRequest'yi geçersiz kılar ve CameraX'in yeni Surface'ü 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'un Pager ile doğru şekilde çalışıyor. Bu değişiklik, hem EMBEDDED hem de EXTERNAL uygulamalarını destekleyen AndroidView öğesinin onReset 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ık androidx.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 ile TEMPLATE_RECORD kullanan başka bir akış birlikte kullanılırken önizlemenin donması sorunu düzeltildi. (Ic0e62, b/409478042)
  • Samsung SM-M556B cihazda ImageAnalysis ile TEMPLATE_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 ve CameraControl.setTorchStrengthLevel eklendi (I00878)
  • Kullanıcıların PreviewView dokunarak odaklanma etkinliklerinde otomatik iptal davranışını kontrol edebilmesi için yeni bir API CameraController#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ğer FlashState 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çin CameraControl#enableLowLightBoostAsync simgesini kullanın. 3. Zayıf ışıkta iyileştirme durumunu izlemek için CameraInfo#getLowLightBoostState öğesini kullanın. (I937ed)
  • camera-feature-combination-query içinde daha hızlı non-camera2 sorgulamasına izin vermek için uyumluluk sınıfları ekleyin. (Ie97ee)
  • CameraControllerDokunarak odaklanma etkinlikleri için yeni bir API getTapToFocusInfoState(), artık LiveData sınıfından TapToFocusInfo döndürerek ilgili dokunma konumunu da gösteriyor. Önceki LiveData<Integer> döndüren getTapToFocusState() 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ğinin TAP_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çin VideoCapture.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ülen ImageProxy içindeki ImageInfo artık yeni ImageInfo.getFlashState() API aracılığıyla flaşın kullanılıp kullanılmadığını öğrenmek için kullanılabilir. (Id2c61, b/380527406)
  • ImageAnalysis için OUTPUT_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ın compileSdk 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 ve ImageCaptureCapabilities#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çin VideoCapture.getResolutionInfo() ekleyin. (Icb478)
  • PreviewView.getScreenFlash ve PreviewView.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. Yeni ImageCapture#takePicture API, eşzamanlı görüntü yakalama için kullanılır. İki OutputFileOptions 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şlevi PreviewView.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 veya Camera2Interop API'si aracılığıyla ayarlanan hedef kare hızı, her zaman AeFpsRangeLegacyQuirk tarafından sağlanan değerle üzerine yazılıyordu. Bu düzeltmeyle birlikte CameraX kitaplığı, setTargetFrameRate veya Camera2Interop 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ık CameraEffect 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ına ExcludedSupportedSizesQuirk uygulandı. (I63dfe, b/365877975)
  • Preview/VideoCapture hedef kare hızı sorunu düzeltildi. Bu sorun, dahili olarak akış paylaşma mekanizması etkinleştirildiğinde ve Preview ile VideoCapture'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 CameraX SurfaceRequest 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 composable Viewfinder'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ş bir LifecycleOwner 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 ile TEMPLATE_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ığında ImageCapture#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 ve awaitInstance 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 yeni ImageCapture ö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şlevi PreviewView.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ık CameraEffect 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ş bir LifecycleOwner ile çağrıldığında kilitlenme sorunu düzeltildi. (I6e6d8)
  • ScreenFlashView için ScreenFlash#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çin PreviewView.getScreenFlash ve PreviewView.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 sonraki takePicture 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çin setMirrorMode ekleyin. API 33 ve sonraki sürümlerde OutputConfiguration.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 ve VideoCapture(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çin ImageCaptureCapabilities'ye getSupportedOutputFormats yöntemini ekleyin. Varsayılan çıkış biçimi değeri OUTPUT_FORMAT_JPEG'dir. Bu değer, SDR görüntüleri JPEG biçiminde yakalar. Cihaz Ultra HDR'yi desteklediğinde ve çıkış biçimi OUTPUT_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çine PhysicalCameraInfo ekleyin ve CameraSelector içine fiziksel kamera kimliği ayarlayıcı/getteri ekleyin (Ic5b90)
  • CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED yerine ImageAnalysis#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ığında MlKitAnalyzer, kamera sensörü koordinat sistemindeki koordinatları döndürür. (I3ec61)
  • Uzantı meta verileri API'si kullanıma sunuldu. Yeni CameraExtensionsInfo ve CameraExtensionsControl arayüzleri, uygulamaların uzatma gücü ayarlarını izlemesine ve ayarlamasına olanak tanır. Uygulamalar, yeni eklenen ExtensionsManager#getCameraExtensionsInfo() veya ExtensionsManager#getCameraExtensionsControl() yöntemleriyle CameraExtensionsInfo veya CameraExtensionsControl örneğini alabilir. (I28e1a)
  • ProcessCameraProvider.getInstance'nin askıya alma sürümü olan ProcessCameraProvider.awaitInstance eklendi (Ib22b9)
  • PreviewView#getSensorToViewTransform() API'si ekleyin. Matris, kamera sensörü koordinatlarından PreviewView koordinatlarına dönüşümü temsil eder. Bu, koordinatları bir UseCase'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öylece camera-viewfinder ve camera-viewfinder-compose tarafından kullanılabilir. (I1e295)
  • ViewfinderSurfaceRequest'e getSurface işlevini ekleyin. (I781a0)
  • camera-viewfinder içinde camera-viewfinder-core özelliğini kullanın, ViewfinderSurfaceRequest ve CameraViewfinder ö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 bir ResolutionSelector ve ImageAnalysis UseCase ile eşleşen bir AspectRatioStrategy 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ı'nda ImageAnalysis 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/veya ImageCapture 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şleyen CameraEffect 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çin CameraInfo bölümünde yeni API'ler de mevcuttur.

API Değişiklikleri

  • ScreenFlashUiCompleter, ScreenFlashListener olarak yeniden adlandırıldı ve ScreenFlashUiCompleter#getExpirationTimeMillis, ScreenFlash#apply öğesinin expirationTimeMillis 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ı ve SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS doğrudan kullanıma sunulmak yerine getScreenFlashUiApplyTimeoutSeconds 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 ve OnImageSavedCallback.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 eklenen ScreenFlashView'den temel bir PreviewView 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ı boyutu ImageCapture.Builder#setPostviewResolutionSelector() kullanılarak seçilebilir. takePicture() çağrıldığında, destekleniyorsa görüntüleme sonrası ve işlem ilerleme bildirimi almak için onPostviewBitmapAvailable ve onCaptureProcessProgressed, OnImageSavedCallback veya OnImageCapturedCallback 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 önizlemede UseCase 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 bir Recorder örneği oluşturmak için VIDEO_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ın CamcorderProfile 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, belirli UseCase 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'lerde ImageAnalysis 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ıp ResolutionSelector 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 ile ImageCapture ve önizlemenin birlikte bağlanamaması sorunu düzeltildi. Düzeltme, uygulamalar ImageAnalysis aracılığıyla ExtensionsManager#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 bir ResolutionSelector ve ImageAnalysis UseCase ile eşleşen bir AspectRatioStrategy 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

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 ile ImageCapture ve önizlemenin birlikte bağlanamaması sorunu düzeltildi. Düzeltme, uygulamalar ImageAnalysis aracılığıyla ExtensionsManager#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ğu VideoCapture 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 ise PREFER_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) ve VideoCapture.setTargetRotationDegrees(int) API'leri kaldırıldı. (Id8e77)
  • DynamicRange sınıfı, resimlerin dinamik aralığını temsil eder. Bu, VideoCapture ile VideoCapture.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 ve ImageCapture ile birlikte bağlanıp bağlanamayacağını belirleyebileceği isImageAnalysisSupported API'si ExtensionsManager'ye eklendi. (I1bc63)
  • Recorder sınıfından elde edilen yeni VideoCapabilities sınıfı, cihazda video kaydı için desteklenen dinamik aralıkları ve kaliteleri sorgulamak üzere kullanılabilir. QualitySelector'nın getSupportedQualities() ve isQualitySupported() yöntemleri kullanımdan kaldırılıyor. Bunun yerine lütfen VideoCapabilities'nın getSupportedQualities() ve isQualitySupported() yöntemlerini kullanın. (I04014)
  • CameraController#setVideoCaptureTargetQuality(), setVideoCaptureQualitySelector olarak yeniden adlandırıldı ve video kalitesi kurulumu için daha fazla esneklik sağlayan QualitySelector bağımsız değişkenini alıyor. CameraController#getVideoCaptureTargetQuality(), buna uygun olarak getVideoCaptureQualitySelector 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çin ImageFormat.JPEG biçim desteği eklendi. JPEG bayt dizisinin kodu çözülemezse UnsupportedOperationException 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ı yeni CameraInfo#getSupportedFrameRates() API'si aracılığıyla sorgulanabilir.

API Değişiklikleri

  • ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON sabitleri ALLOWED_RESOLUTIONS_NORMAL/SLOW olarak, oluşturucu setHighResolutionEnabledFlag işlev adı ise setAllowedResolutionMode olarak yeniden adlandırıldı. (Iae817)
  • CameraInfo#getSupportedFrameRateRanges(), aralıkların sırasız olduğunu daha iyi temsil etmek için artık List yerine Set 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 ve ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) ve VideoCapture.setTargetRotationDegrees(int) API'lerinin desteğini sonlandıracak bir UseCase.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 ve Preview.Builder#setTargetFrameRate API'leri eklendi (If4f22)
  • VideoRecordEvent.Finalize artık çöp toplama nedeniyle Recording nesnesi durdurulduğunda ERROR_RECORDING_GARBAGE_COLLECTED hata koduyla tamamlanacak. (Iba974)

Hata Düzeltmeleri

  • StreamConfigurationMapCompat içindeki önbelleğe alınmış çıkış boyutları boş olduğunda NullPointerException düzeltildi. (Idf124, b/282025204)
  • Preview.setSurfaceProvider(null) simgesinin, uzantılarda önizlemeyi duraklatmaması (Ia903e) sorunu düzeltildi.
  • VideoCapture bağlıyken kamera açılırken ConcurrentModificationException 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. Üç tane MirrorMode, OFF, ON ve ON_FRONT_ONLY var. Kamera önizlemesiyle hizalamak için ON_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 ve setTargetResolution API'leri kullanımdan kaldırıldı. Lütfen bunun yerine yeni ResolutionSelector API'yi kullanın. (I542c3)
  • Aşağıdakiler de dahil olmak üzere eşzamanlı çift kamera için herkese açık API'ler eklendi:
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() ve ConcurrentCameraConfig, SingleCameraConfig ve ConcurrentCamera (Iab1c1)
  • NonNull (Ib9c60) oluşturmaImageProcessor.Response#getOutputImage
  • VideoCapture.Builder.setMirrorMode(int) ve VideoCapture.getMirrorMode() dahil olmak üzere VideoCapture 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'sini VideoCapture.Builder ve getTargetFramerate() API'sini VideoCapture'e ekleyin (I109d4)
  • SurfaceOutputKapatı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ığında RecordingStats, 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ında DefaultSurfaceProcessor 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) ve VideoCapture.getTargetRotation() dahil olmak üzere VideoCapture rotasyon API'leri eklendi. API'ler, cihaz yönünü kilitleyen uygulamalar için yararlıdır. ImageCapture.setTargetRotationDegrees(int) ve ImageAnalysis.setTargetRotationDegrees(int) da eklenir. (Id3ffe, b/205242781)
  • VIDEO_CAPTURE ve PREVIEW|VIDEO_CAPTURE'ın efekt hedefi olarak kullanılmasına izin verin. VIDEO_CAPTURE hedefli efektler VideoCapture UseCase'e uygulanır. PREVIEW|VIDEO_CAPTURE hedefli efektler, önizlemeye ve VideoCapture 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ğerini Bitmap değerine dönüştürmek için API ekleyin. Desteklenen ImageProxy biçimleri ImageFormat.YUV_420_888 ve PixelFormat.RGBA_8888'dir. Biçim geçersizse IllegalArgumentException 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 olarak CameraSelector#LENS_FACING_EXTERNAL eklendi. (Icaf3e)
  • Kamera çıkışına efekt eklemeye olanak tanıyan #setEffect() işlevini CameraController'e ekleyin. (I1d21f)
  • invalidate() yöntemini SurfaceRequest 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ştirilebilen Recorder.Builder.setAspectRatio() API'si eklendi. (I8a082)
  • Recorder.Builder#setTargetVideoEncodingBitRate Hedef video kodlamayı ayarlamak BitRate ve Recorder#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 ise OutputOptions.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şlevlerinden AudioConfig işlevlerine taşındı. (I28755)
  • Yeni video yakalama API'si uygulandıktan sonra artık kullanılmayan Meta Verileri Kaldır, OnVideoSavedCallback, OutputFileOptions ve OutputFileResults sınıflarını kaldırın. (I38cd8)
  • Yeni video çekme API'sini uygulayın. setTargetResolution artık desteklenmediğinden getVideoCaptureTargetSize ve setVideoCaptureTargetSize yöntemlerinin yerini sırasıyla getVideoCaptureTargetQuality ve setVideoCaptureTargetQuality 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ında ViewPager2 ile ilgili siyah ekran sorununu düzeltir. Düzeltme kapsamında, istenen çözünürlük değiştirilmezse PreviewView, SurfaceView öğesini yeniden kullanır. (Ib3f27)
  • ViewPort veya CameraController 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 cihazlarda CAPTURE_MODE_MINIMIZE_LATENCY'a geri dönülür.
  • android.camera.core.VideoCapture öğesini kullanımdan kaldırın.
  • setStreamUseCase(), herkese açık Camera2Interop 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çin OutputConfiguration 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 veya VideoCapture 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 ve MLKitAnalyzer, resmi API'ler olarak kullanıma sunuldu.
  • Konum meta verilerini kaydedilen videoya ayarlamak için API kullanıma sunuldu.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride() öğesini ImageAnalysis.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() öğesini ImageAnalysis.Analyzer#getDefaultTargetResolution() olarak yeniden adlandırın. Bu yöntemin döndürdüğü değerin ImageAnalysis#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 API androidx.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 ve MLKitAnalyzer 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 modu ImageCapture ekleyin ve cihaz özelliğini sorgulamak için CameraInfo içine isZslSupported 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ırken CONTROL_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 ile ImageCapture 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 ve setOutputImageFormat)
  • 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 API isFocusMeteringSupported eklendi. CameraInfo
  • Önizleme, ImageCapture ve ImageAnalysis için çözünürlük bilgilerini sağlayan getResolutionInfo 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 listesini CameraSelector'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 API CameraInfo#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çin ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection ve ViewPort.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 çıkan YuvToJpegProcessor 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ırken AssertionError 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 nedenle VideoCapture<Recorder>'nın MediaCodec.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 resimlerin ImageCaptureTest'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 ve InvalidConfigException 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 ve QualitySelector.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 API QualitySelector.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ık PendingRecording.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çin Recording 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çin Preview, ImageCapture, ImageAnalysis veya VideoCapture 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ık IllegalArgumentException 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 (yani CameraCharacteristics.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 modu CAPTURE_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ığında YuvToJpegProcessor 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 ve ViewPort.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ılan androidx.annotation.experimental.UseExperimental yerine androidx.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ı veya CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector) içinde sağlanan CameraSelector 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ülen setZoomRatio ve setLinearZoom'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

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

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 olarak Log#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 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)
  • 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ırsa Surface.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ırsa Surface.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-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ığında FLASH_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 yerine CameraInfo ö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 yerine CameraInfo ö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 ve FIT_END uyum stilini FIT 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 önce ProcessCameraProvider#getInstance() ile yapılandırılabilir. Bu sayede, uygulamanın Application sınıfında CameraXConfig.Provider uygulanmasını gerektirmeden CameraXConfig ö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 sonucunun ListenableFuture değerine ayarlanacak bir CameraUnavailableException içeriyor. (I9909a, b/149413835)
  • CONTROL_AF_STATE değerinin boş olduğu cihazlarda startFocusAndMetering 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 bir CameraUnavailableException, uygulamayı kilitlenmek yerine başlatma sonucunun ListenableFuture değerine ayarlanır. (I9909a, b/149413835)

Hata Düzeltmeleri

  • setTargetResolution ve setTargetRotation 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ğından ImageProxy 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 sonra ImageProxy bölümüne erişildiğinde yaşanan kilitlenme sorunu düzeltildi. Bu, Analyzer tarafından alınan tüm ImageProxy öğelerinin ImageReaderProxy kapatılmadan önce kapatılması gerektiği anlamına da gelir. (I4b299, b/145956416, b/154155377, b/156357269)
  • CameraInfo parametresi PreviewView#createSurfaceProvider() öğesinden kaldırıldı. PreviewView artık bu parametreyi dahili olarak SurfaceRequest öğ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ğından ImageProxy 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 ile bindToLifecycle()'yı çağırmanın istisna oluşturmasına neden olan gerileme düzeltildi. Bu durum, UseCase bağlanmadan Camera 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şturulan ImageProxy öğesindeki ImageInfo.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çin bindToLifecycle ç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şturulan ImageProxy öğesindeki ImageInfo.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çin bindToLifecycle ç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ğinde Preview 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() ise SurfaceRequest.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() üzerindeki ListenableFuture, Executor ve Callback ile değiştirildi. Bu değişiklik, provideSurface() üzerinde istisnaların işlenmesini gerektirmeyerek API'yi basitleştirir ve provideSurface() 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ık SurfaceRequest'nin sağlanan Surface'ı nasıl kullandığını izlemek için kullanılıyor. (I7854b)
  • SurfaceRequest.setSurface(Surface), SurfaceRequest.provideSurface(Surface) olarak, SurfaceRequest.setWillNotComplete() ise SurfaceRequest.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 ve OutputStream'ye kaydedilmesine izin vermek için ImageCapture 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 kendi ListenableFuture öğelerini oluşturmalarını gerektirmiyor ve Surface sağlama işlemi artık yeni bir SurfaceRequest nesnesi aracılığıyla yapılıyor. Preview.getPreviewSurfaceProvider() yöntemi, Preview ile PreviewView gibi diğer sınıflar eşleştirildiğinde kötüye kullanılma ihtimali nedeniyle kaldırıldı. (I20105)
  • Preview listesine getTargetRotation() ve getTargetName() eklendi. (Iceee7)
  • getTargetRotation(), getBackpressureStrategy() ve getImageQueueDepth(), ImageAnalysis tarihinde eklendi. (I9d6d9)
  • ImageCapture()'de getTargetRotation() ve getCaptureMode() eklendi (I5bc17)
  • Daha önce ImageCapture.OnImageSavedCallback.onError() ve ImageCapture.OnImageCapturedCallback.onError() içinde iletilen bağımsız değişkenler, artık tek bir bağımsız değişken olan ImageCaptureException 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 ve ImageCapture sınıfları artık nihai olarak işaretleniyor. (I2500b)
  • API güncellendi. getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() ve getLinearZoom() yöntemleri CameraInfo birleştirilerek ZoomState örneği döndüren getZoomState() oluşturuldu. (Ib19fe)
  • Yalnızca şirket içi kitaplık kullanımı için tasarlandıklarından OPTION_TARGET_CLASS ve OPTION_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ık camera-camera2 yapısı uygulamanın build.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() kullanarak CameraInfo 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çin ExperimentalCamera2Interop 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 parametresi useCaseForSurface, useCaseForAspectRatio olarak yeniden adlandırıldı ve referans belgeleri genişletildi.
  • FocusMeteringAction.Builder.from() yöntemlerinin yerini oluşturucular FocusMeteringAction.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 ile Display parametresinin kullanımıyla ilgili Javadoc iyileştirmeleri.
  • setZoomRatio ve setLinearZoom 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 ve cancelFocusMetering 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 veya CameraView 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 ve CameraControl ile ilgili dokümanlar güncellendi.
  • enableTorch() ve getTorchState() için TorchControl 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ından ImageInfo sınıfına taşındı.
  • rotationDegrees, Analyzer sınıfından ImageInfo 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ı ve androidx.camera.camera2 tarafından sağlanan varsayılan Camera2Config ö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() ve hasCamera() artık ProcessCameraProvider üzerinden kullanılabilir.

  • ProcessCameraProvider öğesinin işlem başına bir örneği, tamamlandığında ProcessCameraProvider öğesini sağlayan dinlenebilir bir gelecek döndüren ProcessCameraProvider.getInstance() statik yöntemi kullanılarak eşzamansız olarak elde edilir. Tipik bir kullanım için onCreate() 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çin getInstance() ç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ülen ListenableFuture öğesine dinleyici eklenebilir. Bu sayede, kamera sağlayıcı Future.get() üzerinde engelleme olmadan Future ü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ğinde image.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ştirildi intdef.

  • ImageProxy.getImage(), deneysel olarak işaretlenir. Uygulamalar, örneğin @androidx.camera.core.ExperimentalGetImage aracılığıyla kullanımı açıklama olarak eklemelidir.

  • Analyzer için UIThread 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 ve cancelFocusMetering artık çağrının eşzamansız işlemini temsil eden ListenableFutures 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ülen ListenableFuture<Void> her zaman anlık complete(success) gelecektir. Gelecek sürümlerde bu sorun düzeltilerek nihai davranış uygulanacak: Flaş birimi olmadığında enableTorch(true) hemen başarısız olur (CaptureSession'ye istek göndermez) ve TorchState Kapalı kalır.
  • Bilinen Sorun: startFocusAndMetering ve cancelFocusAndMetering, odak ölçümünü başlatıp iptal ediyor ancak belgelenen davranışı temsil etmeyen, hemen completed (success) geleceği döndürüyor. ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() kaynağından gelen FocusMeteringResult, 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ı yerine RATIO_4_3 veya RATIO_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öntemi setTargetAspectRatioCustom(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 ve getCameraInfo 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() veya setTargetAspectRatio() 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.
  • 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 eklendi

    • Lens 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 ve FocusMeteringAction 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 veya setTargetResolution ç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ığında java.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ırsa Surface.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-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 bir CameraUnavailableException, uygulamayı kilitlenmek yerine başlatma sonucunun ListenableFuture 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 ile bindToLifecycle()'yı çağırmanın istisna oluşturmasına neden olan gerileme düzeltildi. Bu durum, UseCase bağlanmadan Camera 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ı ve Application'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 ve camera-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ı ve ProcessCameraProvider adlı bir uygulama eklenir. Bu uygulama, önceki CameraX sınıfının temeldeki işlevlerinin çoğunu sağlar ve getInstance() 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ızca ImageCapture ve Preview'yi destekler. VideoCapture henüz desteklenmiyor. Uygulama VideoCapture ile bağlanırsa ve herhangi bir uzantı modu etkinleştirirse IllegalArgumentException istisnası oluşturulur. (I0d87b)
  • CameraSelector#filter, sonuç kümesi boş olduğunda artık IllegalArgumentException oluşturmuyor. (I27804)
  • ExtensionsManager#getInstance API'si, ListenableFuture döndürdüğü için getInstanceAsync 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çin ImageCapture API'sinden çözünürlük parametresini kaldırın. (I74bb2)
  • ExtensionsManager işlevlerinin CameraProvider parametresini getInstance() API'ye taşıyın. Böylece kullanıcıların CameraProvider parametresini ExtensionsManager 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 yerine RotationProvider#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ılan androidx.annotation.experimental.UseExperimental yerine androidx.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

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 olarak ExperimentalVideo 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ırsa Surface.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-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-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ılan Extensions 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() ve PreviewView#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çin Preview#setTargetRotation() ve yeni eklenen PreviewView#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 yerine CameraInfo ö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 yerine CameraInfo örneği de alır. (I400c1)
  • TextureViewMeteringPointFactory kaldırıldı. PreviewView, TextureView veya SurfaceView 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, eski SURFACE_VIEW modu, COMPATIBLE ise eski TEXTURE_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 bir CameraUnavailableException, uygulamayı kilitlenmek yerine başlatma sonucunun ListenableFuture 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ğunda ImplementationMode#TEXTURE_VIEW modunun zorunlu kullanılması. (I83e30, b/155085307)
  • CameraInfo parametresi PreviewView#createSurfaceProvider() öğesinden kaldırıldı. PreviewView artık bu parametreyi dahili olarak SurfaceRequest öğ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üzeltme Preview parçası kaydırılıp ardından geri kaydırıldığında Ayrıca, removeView(previewview) ve ardından addView(previewView) seçildiğinde yaşanan sorun da düzeltildi. (Iab555, b/149877652, b/147354615)
  • Resimlerin Uri ve OutputStream'ye kaydedilmesine izin vermek için CameraView#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çin PreviewView.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 ve camera-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 ile PreviewView kullanımı bazı cihazlarda iyi çalışmayabilir. Bunun nedeni, önizleme için kullanılan SurfaceView'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 ve SurfaceView'nin yüzeyi tekrar geçerli olmadan önce önizlemeye devam etmeye çalışabilir. Şimdilik ImplementationMode.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ğunda ImplementationMode.SURFACE_VIEW kullanılarak önizlemeyi optimize etmek için kullanılan, boş değer atanabilir bir CameraInfo örneği alır. Boş bir örnek iletilirse veya tercih edilen uygulama modu ImplementationMode.TEXTURE_VIEW olarak ayarlanırsa dahili olarak ImplementationMode.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 olarak PreviewView.ScaleType.FILL_CENTER değerini kullanır.

  • PreviewView.getScaleType() eklendi.

  • implementationMode özelliğini kullanarak bir XML düzeninde PreviewView için uygulama modunu ayarlama desteği kaldırıldı.

  • createMeteringPointFactory() API'sini PreviewView'a ekleyerek PreviewView içindeki (x, y) değerlerinin MeteringPoint'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() üzerindeki ListenableFuture, Executor ve Callback ile değiştirildi. Bu değişiklik, provideSurface() üzerinde istisnaların işlenmesini gerektirmeyerek API'yi basitleştirir ve provideSurface() 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ık SurfaceRequest'nin sağlanan Surface'ı nasıl kullandığını izlemek için kullanılıyor. (I7854b)
  • SurfaceRequest.setSurface(Surface), SurfaceRequest.provideSurface(Surface) olarak, SurfaceRequest.setWillNotComplete() ise SurfaceRequest.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() ve ImageCapture.OnImageCapturedCallback.onError() içinde iletilen bağımsız değişkenler, artık tek bir bağımsız değişken olan ImageCaptureException 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ın TextureView uygulaması artık TextureView'ın boyutunu, üst öğesi PreviewView'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ız PreviewView 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ızca PreviewView'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 ve OutputStream'ye kaydedilmesine izin vermek için ImageCapture 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 kendi ListenableFuture öğelerini oluşturmalarını gerektirmiyor ve Surface sağlama işlemi artık yeni bir SurfaceRequest nesnesi aracılığıyla yapılıyor. Preview.getPreviewSurfaceProvider() yöntemi, Preview ile PreviewView 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() ve ImageCapture.OnImageCapturedCallback.onError() içinde iletilen bağımsız değişkenler, artık tek bir bağımsız değişken olan ImageCaptureException 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öntemlerinden getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() ve getLinearZoom(), ZoomState örneği döndüren getZoomState() 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ılan CameraSelector 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çin PreviewSurfaceProvider sunar

    preview.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.