CameraX

CameraX, Jetpack'e eklenen ve uygulamanıza kamera özellikleri eklemeyi kolaylaştıran bir eklentidir. Kitaplık, geliştirici deneyimini birçok cihazda tutarlı hale getirmek için çeşitli uyumluluk düzeltmeleri ve geçici çözümler sunar.

Bu tabloda androidx.camera grubundaki tüm yapılar listelenmektedir.

Yapı Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
kamera-kamera2 1.4.0 - - 1.5.0-alfa03
kamera çekirdek 1.4.0 - - 1.5.0-alpha03
camera-compose - - - 1.5.0-alpha03
camera-effects 1.4.0 - - 1.5.0-alpha03
kamera-uzantıları 1.4.0 - - 1.5.0-alpha03
camera-feature-combination-query - - - 1.5.0-alpha03
kamera-özelliği-kombinasyon-sorgu-oynatma-hizmetleri - - - 1.5.0-alpha03
camera-lifecycle 1.4.0 - - 1.5.0-alpha03
kamera-mlkit-vizyon 1.4.0 - - 1.5.0-alfa03
kamera-görünümü 1.4.0 - - 1.5.0-alfa03
kamera vizörü - - 1.3.0-beta02 1.4.0-alfa07
camera-video 1.4.0 - - 1.5.0-alpha03
Bu kitaplık en son 30 Ekim 2024'te güncellenmiştir.

Cihaz testi

CameraX, laboratuvarımızda birçok cihazda test edilir. Şu anda laboratuvarda bulunan cihazların listesini görmek için KameraX laboratuvarda test edilmiş cihazlar bölümüne bakın.

Bağımlılıkları beyan etme

CameraX'e bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünün build.gradle dosyasına ihtiyaç duyduğunuz yapılar için bağımlılıkları ekleyin:

Groovy

dependencies {
  // CameraX core library using the camera2 implementation
  def camerax_version = "1.5.0-alpha03"
  // 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-alpha03"
    // 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ştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.

Yeni sayı oluştur

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Kamera Vizörü Oluşturma 1.0 sürümü

Sürüm 1.0.0-alpha02

12 Haziran 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu taahhütleri içerir.

Sürüm 1.0.0-alpha01

14 Mayıs 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 yayınlanır. 1.0.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Yeni kitaplık. Bu kitaplık, CameraX ve Camera2 ile kullanılabilen bir Compose yerel vizör bileşeni sunar. Derlenebilir Vizör, farklı en boy oranlarını ve dokunma etkinliklerinin işlenmesini destekler.

Kamera Vizörü 1.4 sürümü

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 taahhütleri 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ı. Sürüm 1.4.0-alpha06 bu kaydetmeleri içerir.

API Değişiklikleri

  • Viewfinder'nin ImplementationMode enum'lerini 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ı kapsamak için ZoomGestureDetector.ZoomEvent eklendi. (I84cdf)

Kamera sürümü 1.5

Sürüm 1.5.0-alpha03

30 Ekim 2024

androidx.camera:camera-*:1.5.0-alpha03 yayınlanır. Sürüm 1.5.0-alpha03 bu kaydetmeleri 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'te gösterilir. OUTPUT_FORMAT_RAW, Adobe DNG biçiminde RAW resim çekmek için, OUTPUT_FORMAT_RAW_JPEG ise RAW ve JPEG resimleri aynı anda çekmek için kullanılır. Yeni ImageCapture#takePicture API, eşzamanlı resim çekme için kullanılır. İlki RAW resim, ikincisi JPEG resim olmak üzere iki OutputFileOptions sağlaması gerekir. (Ib0f3d)

Hata Düzeltmeleri

  • VideoCapture etkinleştirildiğinde TCL cihazlarda önizleme ve videonun düşük ışıkta çekilmesi sorunu düzeltildi. (Id7a64)
  • Bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlandığında (akış paylaşımı) PreviewView.getMeteringPointFactory ile startFocusMetering çağrısının doğru sensör koordinatlarını almaması sorunu düzeltildi. (I916c5, b/345993685)
  • Video kaydederken depolama alanı yetersiz olduğunda 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 yayınlanır. 1.5.0-alpha02 sürümü bu taahhütleri 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ştirilemeyeceğini kontrol edebilirsiniz. 2 yapı içerir: fotoğraf makinesi-özellik-kombinasyon-sorgusu ve kamera-özellik-kombination-sorgu-play-hizmetleri. Bu, Camera2 CameraManager#getCameraDeviceSetup#isSessionConfigurationSupported API'sinin Google Play Hizmeti tarafından sağlanan ek verileri içeren uyumlu bir sürümüdür.

Hata Düzeltmeleri

  • ESKİ seviyesindeki cihazlarda Preview/VideoCapture hedef kare hızı sorunu düzeltildi. setTargetFrameRate veya Camera2Interop API aracılığıyla ayarlanan hedef kare hızı, her zaman AeFpsRangeLegacyQuirk tarafından sağlanan değerle üzerine yazılıyordu. Bu düzeltmeyle CameraX kitaplığı, setTargetFrameRate veya Camera2Interop API aracılığıyla ayarlanan değere uyar. (Ie2d32)
  • CameraEffect ile resim çekerken flaş/el feneri/3A işlevleri eklendi. CameraEffect ile çekilen görüntülerin, artık CameraEffect içermeyen görüntü yakalamayla aynı çekim öncesi ve sonrası işlemleri (ör. flaş tetikleyicisi, 3A yakınsaklığı vb.) gerçekleştirilmesi gerekir. (I5ff30)
  • Samsung SM-A057G cihazda ImageAnalysis için sorunlu çıkış boyutları hariç tutuldu. ImageAnalysis 1920x1440 veya daha yüksek bir çözünürlük kullandığında siyah önizleme sorunu oluşur. Sorunu önlemek için SM-A057G cihaza ExcludedSupportedSizesQuirk uygulandı. (I63dfe, b/365877975)
  • Preview ve VideoCapture ile yayın paylaşmak için akış paylaşım mekanizması dahili olarak etkinleştirildiğinde Preview/VideoCapture hedef kare hızı sorunu düzeltildi. (I4fdac)
  • Samsung S10e ve S10+ cihazlarda hatalı JPEG resim meta verisi sorununu düzeltmeye yönelik geçici çözüm etkinleştirildi. Düzeltmeyle birlikte CameraX, JPEG resmini başarıyla kaydedebilir veya yanlış JPEG resim meta verisi sorunu yaşanırsa bu cihazlarda ImageProxy.toBitmap() işlevi çağrılırken doğru Bitmap nesneleri döndürülebilir. (Iae493, b/356428987)
  • HDR resimler çekilirken yerel kilitlenmeler yaşanabileceği ve BOKEH veya FACE_RETOUCH modlarında çekim oturumları yapılandırılırken başarısızlıklar yaşanabileceği için Samsung A52s'in kimliği 0 olan arka kamerası için uzantılar devre dışı bırakıldı. (I03ec9, b/364152642)
  • Yeterli depolama alanı olmadığında ve video kaydedilirken VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE etkinliğinin tetiklenmemesi sorunu düzeltildi. (Ia5b4f, b/356399842)
  • Oppo A5 (CPH1931) cihazda ikinci video kaydı denemesinin başarısız olması sorunu düzeltildi. (I181d6)

Sürüm 1.5.0-alpha01

4 Eylül 2024

androidx.camera:camera-*:1.5.0-alpha01 yayınlandı. 1.5.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Eş zamanlı ikili kamera video kaydı için kompozisyon ayarlarını belirlemek üzere API sağlayın. Ayarlar arasında, karıştırma için alfa değeri, x, y koordinatlarında ofset, kamera çerçevesi görüntüleme penceresinin genişlik ve yükseklik ölçeği yer alır. Ofset, genişlik ve yükseklik normalleştirilmiş cihaz koordinatlarında belirtilir. (Ia2b8a)
  • CameraProvider.getCameraInfo, resmi bir API olarak kullanıma sunuldu. (I901cd)
  • İlk sessize alma durumunu kontrol etmek için PendingRecording.withAudioEnabled(boolean initialMuted) API'si eklendi. (I635c3, b/354829267)

Hata Düzeltmeleri

  • bindToLifecycle, kaldırılan bir LifecycleOwner ile çağrıldığında ortaya çıkan kilitlenme düzeltildi. (I6e6d8)
  • Sabit Önizleme, ön kamerada siyah ekran olurken Motorola Edge 20 Fusion'da VideoCapture ile bağlanırken. (I1fe88)
  • PreviewView'te yakınlaştırma hareketlerini algılama yapılandırması, daha akıcı bir deneyim sunmak için optimize edildi. (I04ffc)

Kamera sürümü 1.4

Sürüm 1.4.0

30 Ekim 2024

androidx.camera:camera-*:1.4.0 yayınlanır. 1.4.0 sürümü bu taahhütleri içerir.

1.3.0 sürümünden bu yana yapılan önemli değişiklikler

CameraX 1.4.0, heyecan verici güncellemelerle dolu. Buradan bir özetini bulabilirsiniz:

Başlıktaki Özellik: 10 bit HDR:

  • Kolayca etkileyici HDR fotoğraflar ve videolar çekin.
  • HLG ve 10 bit HEVC kodlamasını destekler.
  • 10 bit HDR önizlemesi ve cihaz özelliklerinin keyfini çıkarın.
  • Giderek daha fazla cihazda UltraHDR resimler ve HDR videolarla çalışır.

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 yakalama yapılandırması için yeni kontroller.
  • Sabitleme önizlemesi: Cihazın kapasitesini sorgulayın ve sabitlemeyi etkinleştirin.
  • Video Kaydı Geliştirmeleri: Kalite üzerinde daha ayrıntılı kontrol ve daha yüksek çözünürlüklere erişim.
  • CameraX Uzantıları Entegrasyonu: VideoCapture ve yeni ImageCapture özellikleriyle sorunsuz entegrasyon.
  • Deklanşör Sesi API'si: Bölgesel deklanşör sesi şartlarını kolayca kontrol edin.
  • Ekran flaşı: Ön kameralar için düşük ışıkta daha iyi fotoğraflar.
  • Kamera Uzantıları Meta Veri API'leri: ExtensionMode#AUTO'te uzantıların gücünü ayarlamak ve mevcut uzantı modu hakkında bildirim almak için destekleyici API'ler. Hata düzeltmelerini, Beta ve RC duyurularımızda bulabilirsiniz.

Sürüm 1.4.0-rc04

16 Ekim 2024

androidx.camera:camera-*:1.4.0-rc04 yayınlanır. Sürüm 1.4.0-rc04 bu kayıtları içerir.

Hata Düzeltmeleri

  • Bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlandığında (akış paylaşımı) startFocusMetering ile PreviewView.getMeteringPointFactory çağrıldığında 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 yayınlandı. 1.4.0-rc03 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • CameraEffect ile resim çekerken flaş/el feneri/3A işlevleri eklendi. CameraEffect ile yapılan görüntü yakalama işlemleri artık CameraEffect olmadan yapılan görüntü yakalama işlemleriyle aynı yakalama öncesi ve yakalama sonrası işlemlere (ör. geçerli olduğunda flaş tetikleyici, 3A yakınsama vb.) sahip olmalıdır. (I5ff30)
  • PreviewView (I04ffc) sürümünde yakınlaştırmak için iki parmak ucunu yakınlaştırma/uzaklaştırma işleminin pürüzsüzlüğü optimize edildi
  • Ultra HDR desteği artık cihazların 10 bit çıkış özelliğine sahip olmasını gerektirmediğinden Ultra HDR ile 10 bit çıkış özelliğinin bağlantısını kaldırın. (I96ff2, I0c3b3)

Sürüm 1.4.0-rc02

18 Eylül 2024

androidx.camera:camera-*:1.4.0-rc02 yayınlandı. 1.4.0-rc02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • bindToLifecycle, yok edilmiş bir LifecycleOwner ile çağrıldığında kilitlenme sorunu düzeltildi. (I6e6d8)
  • ScreenFlash#apply için ScreenFlashView'te 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ırma işleminin akıcılığı iyileştirildi.

Sürüm 1.4.0-rc01

7 Ağustos 2024

androidx.camera:camera-*:1.4.0-rc01 yayınlandı. 1.4.0-rc01 sürümü bu taahhütleri 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 öğesinin açıkça eklenmediği durumlar için PreviewView.getScreenFlash ve PreviewView.setScreenFlashOverlayColor API'leri eklendi. (I43945)

Hata Düzeltmeleri

  • Video Yakalama kullanım alanı sınırlanmışken flaş etkinken çekilen görüntüde pozlama ve renk tonu sorunları düzeltildi. (Ic9814)
  • Uzantılar etkinken bir takePicture isteğinin kesintiye uğratılması durumunda sonuç alınamayabileceği ve sonraki takePicture isteğinin artık çalışmayabileceği sorunu düzeltildi. (Iae78f)
  • Uzantılar etkinleştirildiğinde ortaya çıkan bir bellek sızıntısı sorunu düzeltildi. (Iab276)
  • Pixel 7/8 ve Samsung Galaxy S24 serisi gibi cihazlarda CameraX uzantısıyla ilgili arıza çözüldü. Yayın modunda Camera2OutputConfigImpl dönüşüm sorunundan kaynaklanan bu sorun, AGP 8.5.1'e yükseltildikten ve küçültme etkinleştirildikten sonra ortaya çıktı. (I99598, b/354824993)

Sürüm 1.4.0-beta02

12 Haziran 2024

androidx.camera:camera-*:1.4.0-beta02 yayınlanır. 1.4.0-beta02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • VideoCapture'e 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 modunun açık ve kapalı olmasını destekleyecektir. Eski API'lerde ise çalışmayacaktır (I821f4)

Hata Düzeltmeleri

  • ImageCapture, Preview + VideoCapture + ImageCapture UseCase kombinasyonunda 1920x1080'i seçtiğinde Samsung Tab A8'de uygulamaların başarılı bir şekilde fotoğraf çekememesi sorunu düzeltildi. (I5a463, b/336925549)
  • Sabit sürekli kayıt, kamera değiştirildikten sonra kayda devam edemeyebilir. (Icb0a1)

Sürüm 1.4.0-beta01

14 Mayıs 2024

androidx.camera:camera-*:1.4.0-beta01 yayınlanır. 1.4.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yakınlaştırma hareketinin durumlarını kapsayacak şekilde ZoomGestureDetector.ZoomEvent eklendi. (I84cdf)

Hata Düzeltmeleri

  • Fotoğraf çekme ve dokunarak odaklama işlemlerinde, tekrarlanan istek FPS/stabilizasyon modu değerlerinin kullanılmaması nedeniyle fotoğraf çekme oturumunun yeniden oluşturulması ve bazı cihazlarda gecikme sorunlarına ya da önizlemenin donmasına neden olan bir hata düzeltildi. (I7dc0b)
  • Bazı cihazlarda CameraEffect etkinleştirildiğinde yüksek çözünürlüklerin seçilemediği bir hata düzeltildi. (ör. Samsung A32 5G'de 4000x3000). (Ie3ed3, b/337336152)
  • Önizleme ile fotoğraf çekerken yaşanan kilitlenme düzeltildi. ImageCapture ve VideoCapture(UHD), Pixel 4XL API29'a bağlandı. (I5b288)
  • Sanal cihazları destekleme: ProcessCameraProvider bölümüne iletilen bağlam, sanal cihaz ortamında işlevsellik sağlanması için cihaz kimliğini korur. (I5ba48)

Sürüm 1.4.0-alpha05

17 Nisan 2024

androidx.camera:camera-*:1.4.0-alpha05 yayınlanır. 1.4.0-alpha05 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • ProcessCameraProvider, Kotlin uygulamasına dönüştürüldü. (I46d4f)
  • Kotlin deyimsel şekilde çağrılmasına olanak tanımak için ImageCapture.takePicture askıya alma işlevleri eklendi. (I920be)

API Değişiklikleri

  • ImageCapture uygulamasına çıkış biçimi API'leri ekleyin ve cihaz özelliklerini sorgulamak için ImageCaptureCapabilities içine getSupportedOutputFormats yöntemini ekleyin. Varsayılan çıkış biçimi değeri OUTPUT_FORMAT_JPEG'tür. Bu değer, SDR resimlerini 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 yakalar. Bu biçim, SDR JPEG biçimiyle geriye dönük uyumludur ve içeriğin HDR olarak oluşturulmasını destekler. Bu, eski uygulamalarda veya cihazlarda resimlerin normal JPEG olarak sorunsuz bir şekilde göründüğü, biçimi tam olarak desteklemek için güncellenmiş uygulamalarda ve cihazlarda ise HDR olarak göründüğü anlamına gelir. (I5de50)
  • Fiziksel kamera bilgilerini sorgulamak için CameraInfo içine PhysicalCameraInfo ekleyin ve CameraSelector içine fiziksel kamera kimliği ayarlayıcı/alıcı ekleyin (Ic5b90)
  • CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED yerine ImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED yazın. Sabitin değeri aynı kalır. Bunun amacı, tüm sabit değerleri tek bir yerde toplamaktır. (I890bb)
  • Yeni RetryPolicy API'si, geliştiricilerin CameraX'i başlatma işlemi için yeniden deneme davranışını özelleştirmesine olanak tanır. (I36dd2)
  • Test edilebilirliğe yardımcı olmak için ImageCaptureLatencyEstimate nesnesi oluşturmayı etkinleştirin (Iaba99)
  • ImageAnalysis#COORDINATE_SYSTEM_SENSOR ekleyin. Bu seçenek kullanıldığında MlKitAnalyzer, kamera sensörü koordinat sistemindeki koordinatları döndürür. (I3ec61)
  • Açık uzantı meta veri API'si. Yeni CameraExtensionsInfo ve CameraExtensionsControl arayüzleri, uygulamaların uzantı gücü ayarlarını izlemesine ve düzenlemesine olanak tanır. Uygulamalar, yeni eklenen ExtensionsManager#getCameraExtensionsInfo() veya ExtensionsManager#getCameraExtensionsControl() yöntemleri aracılığıyla CameraExtensionsInfo ya da CameraExtensionsControl örneğini edinebilir. (I28e1a)
  • ProcessCameraProvider.getInstance'un askıya alınmış sürümü olan ProcessCameraProvider.awaitInstance eklendi (Ib22b9)
  • PreviewView#getSensorToViewTransform() API ekleyin. Matris, kamera sensörü koordinatlarından PreviewView koordinatlarına dönüşümü temsil eder. Bu, koordinatları bir UseCase'den diğerine dönüştürmek için kullanılabilir. Örneğin, ImageAnalysis'te algılanan nesnelerin koordinatlarını PreviewView yer paylaşımına dönüştürme. (I947ab)
  • camera-viewfinder-core API'yi camera-viewfinder ve camera-viewfinder-compose tarafından kullanılabilmesi için daha genel hale getirin. (I1e295)
  • ViewfinderSurfaceRequest işlevini ViewfinderSurfaceRequest'e ekleyin.getSurface (I781a0)
  • camera-viewfinder içinde camera-viewfinder-core kullanın ve ViewfinderSurfaceRequest ile CameraViewfinder için desteği sonlandırın. (I6198c)
  • İki parmak ucunu yakınlaştırmak/uzaklaştırmak için yakınlaştırma/uzaklaştırma etkinliği için özel olarak yapılandırılan ölçeklendirme hareketlerini yorumlayan ZoomGestureDetector eklendi. (Ifafbf)

Hata Düzeltmeleri

  • ImageAnalysis'nin analizcinin varsayılan hedef çözümleme ayarıyla ilgili çözüm seçimi sorunu düzeltildi: Uygulamalar farklı bir analiz edici varsayılan çözümleme ayarı yapmış olsa bile hedef çözünürlük yanlış şekilde 640x480 olarak tutuluyor. Uygulamalar bu sorunla (1.3.0 ~ 1.3.2) karşılaşırsa ve çözümü içeren daha yeni sürüm sürümlerini kullanacak şekilde yükseltemezse doğrudan tercih edilen çözünürlükte bir ResolutionSelector ve ImageAnalysis UseCase için eşleşen bir AspectRatioStrategy ayarlayarak bu sorunu giderebilirsiniz. (I81f72, b/330091012)
  • Mevcut istek başarısız olursa sıraya alınmış takePicture isteğinin çalışamamasına neden olan sorun düzeltildi. (Ie0801)
  • Geçersiz JPEG veri kontrolünün Vivo X60 ve X60 Pro cihazlara uygulanmasını sağlayın. Bu işlem, bu cihazlardaki anormal derecede büyük görüntü sorununu düzeltebilir. (I82247, b/288828159)
  • Samsung A24 cihazlarda hatalı JPEG resim meta verisi sorunu düzeltildi. Düzeltmeyle birlikte CameraX, JPEG resmini başarıyla kaydedebilir veya Samsung A24 cihazlarda ImageProxy.toBitmap() işlevi çağrılırken doğru Bitmap nesneleri döndürülebilir. (I8d6eb, b/309005680)
  • Çekilen resim 10 MB'tan büyükse geçersiz JPEG veri kontrolünü tüm Samsung cihazlara uygula. Bu işlem, Samsung cihazlardaki anormal derecede büyük görüntü sorununu düzeltebilir. (Ic2a65, b/288828159)
  • Birçok OEM'nin uzantı uygulamaları ImageAnalysis ile iyi çalışmadığından ve tutarsız sorunlara neden olabileceğinden CameraX uzantılarındaki ImageAnalysis desteği kaldırıldı. (I2d926)

Sürüm 1.4.0-alpha04

24 Ocak 2024

androidx.camera:camera-*:1.4.0-alpha04 yayınlanır. 1.4.0-alpha04 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Yeni yapı: camera-effects: Preview, VideoCapture ve/veya ImageCapture dahil olmak üzere CameraX çıkışına gerçek zamanlı efektler uygulamak için bir kitaplık. Bu yapı, kamera çıkışını verimli bir şekilde işleyen CameraEffect API'sinin OpenGL uygulamalarını içerir.
  • OverlayEffect: Android'in Canvas API'si ile yer paylaşımları çizmek için. Bu sayede uygulama, kamera çıkışlarına filigran uygulayabilir veya algılanan nesneleri vurgulayabilir.
  • 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. Her kameranın hangi dinamik aralıkları desteklediğini sorgulamak için CameraInfo'te yeni API'ler de kullanılabilir.

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 bir kameranın desteklediği dinamik aralıkları sorgulamasına olanak tanımak için yeni API'ler eklendi. Bu sayede HLG10 gibi HDR dinamik aralıklarının yalnızca önizleme kullanım alanıyla kullanılmasına olanak tanınmakta, artık aynı anda bir VideoCapture'nin bağlanması gerekmemektedir. (If25e3)
  • getMirroring(), isMirroring() olarak yeniden adlandırıldı (I47063)
  • CameraX'e gerçek zamanlı fotoğraf çekme gecikmesi tahmini desteği eklendi. Kamera uzantıları, uygulamaların, yakalamanın ne kadar süreceğine dair tahmin sağlayan bir API kullanmasına olanak tanır. Tahmin, mevcut ortam koşullarını ve kamera durumunu dikkate alır. Ayrıca, çok çerçeveli yakalama isteklerinin işlenmesi için harcanan süreyi ve gerekirse işlenmiş arabellekleri kodlamak için gereken ek süreyi içerir. (I05c3a)
  • ScreenFlashUiControl, ScreenFlash, ScreenFlashUiControl#applyScreenFlashUi, ScreenFlash#apply ve ScreenFlashUiControl#clearScreenFlashUi adları sırasıyla ScreenFlashUiControl, ScreenFlash, ScreenFlashUiControl#applyScreenFlashUi, ScreenFlash#apply ve ScreenFlash#clear olarak değiştirildi. Ayrıca 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 bir bellek sızıntısı düzeltildi (I14215)
  • getZoomRatio ürününün, artan yakınlaştırma oranı uygulanırken yanlışlıkla düşük bir değer döndürmesi sorunu düzeltildi. (I4aa0d, b/317543616)
  • ImageCapture etkinliği, ImageCapture bağlaması kaldırıldığında veya kamera kapatıldığında hemen çağrılır. Ayrıca, bu senaryolarda yakalama işlemlerinin düzgün şekilde tamamlanmaması nedeniyle hiçbir zaman çağrılmayan bazı hataları da düzeltir.ImageCapture#ScreenFlash#clear (If99f9)
  • Yaşam döngüsü, takePicture isteği tamamlanmadan önce durdurulduğunda meydana gelen kilitlenme 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 yanlış süresi düzeltildi. (If6aa7, b/316057919)

Sürüm 1.4.0-alpha03

13 Aralık 2023

androidx.camera:camera-*:1.4.0-alpha03 yayınlanır. 1.4.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Deklanşör sesinin bölgesel kısıtlamalara uygun şekilde çalınıp çalınmayacağıyla ilgili bilgi sağlamak için CameraInfo.mustPlayShutterSound eklendi. (Ifda84)
  • Kamera 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 çalmayı öneririz. (Ic49b3)
  • Ön kamerayla resim çekmek için CameraX'e Ekran Işığı özelliği desteği eklendi. CameraX, çerçeve tarafında API'yi işler ve zamanlamayı gerektiği gibi uygulamanın kullanıcı arayüzü değişiklikleriyle senkronize eder (ör. uygulama ekranı rengi/parlaklığı değişikliğinden sonra 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 yeterlidir. (I8ae84)
  • KameraX'e Ekran Flaşı özelliği kullanıcı arayüzü tarafı uygulama desteği eklendi. Uygulamalar, PreviewView'dan temel bir ImageCapture.ScreenFlashUiControl uygulaması veya yeni eklenen ScreenFlashView'i alabilir. Bu uygulama, tek renkli bir yer paylaşımı görünümü ekler ve ekran ışığıyla fotoğraf çekerken 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ı özelliklerini sorgulaması ve sürecin ilerleme durumunu geri çağırması için ImageCapture#getImageCaptureCapabilities() API'leri eklendi. Uygulamalar, ImageCapture.Builder#setPostviewEnabled() öğesini kullanarak yeniden görüntülemeyi etkinleştirebilir. Yayın görüntüleme sonrası boyutu ImageCapture.Builder#setPostviewResolutionSelector() kullanılarak seçilebilir. takePicture() çağrılırken, destekleniyorsa görüntüleme sonrası bildirimi almak ve işlem ilerleme durumunu işlemek için onPostviewBitmapAvailable ve onCaptureProcessProgressed, OnImageSavedCallback veya OnImageCapturedCallback içinde uygulanabilir. (I5cd88)
  • Yüzeyin kamera yönelimi bilgilerini içerip içermediğini belirten bir işaretle, sensörden mevcut arabelleğe koordinat dönüşümünü hesaplamak için API'ler. (I59096)
  • API'yi, UseCase önizlemesinde PreviewCapabitlity sorgusunu yürütecek şekilde açın. (Ie5b6c)
  • VideoCapture özelliğinde daha fazla kaliteyi desteklemek için API'ler eklendi. Recorder.Builder#setVideoCapabilitiesSource(int), VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE'ten daha fazla kaliteyi destekleyen bir Recorder örneği oluşturmak için VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES ile kullanılabilir. Uygulamanın mümkün olduğunda UHD video kaydetmeye çalışması ancak codec'in UHD video kaydedebilmesine rağmen cihazın CamcorderProfile'sinde UHD ayarlarının bulunmaması yaygın bir kullanım alanıdır. (Iedbe2, b/263961771)
  • ImageAnalysis çıkış biçimi alıcı/ayarlayıcısını CameraController'a ekleyin. (I9a96c, b/308240643)

Hata Düzeltmeleri

  • Kamera 1.3.1: ProcessCameraProvider#bindToLifecycle() performansı iyileştirildi. En önemli değişiklik, UseCases için en uygun boyut kombinasyonlarını belirleme sürecini optimize etmektir. Optimum 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 ver. (I91f32)
  • Samsung A71 ve M51 serisi cihazlarda çekilen büyük JPEG resmi sorunu düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Bu, çekilen resimlerin çok büyük dosya boyutlarına sahip olmasına neden olur. Bu gereksiz 0'ın dolgu verileri, yakalanan görüntülerin normal resim dosyası boyutlarına sahip olması için kaldırılır. (I01afc, b/288828159)
  • Pixel'de boş olmayan ImageAnalysis desteklenen boyutları yanlışlıkla döndüren hatayı önlemek için Pixel'de ImageAnalysis desteğini devre dışı bırakın. (I7ec31)
  • Uzantılar etkinleştirildiğinde CPU yükünün ve güç tüketiminin arttığı performans sorunu düzeltildi. (Ibdccb)
  • CameraUseInconsistentTimebaseQuirk'e Snapdragon 480 eklendi. Bu güncelleme, Android 12'de bu yonga setini kullanan cihazlarda kayıtlardaki sesin, cihazın askıya alınmış durumda olduğu süreye göre kaydırıldığı sorununu düzeltir. (I58010)

Sürüm 1.4.0-alpha02

18 Ekim 2023

androidx.camera:camera-*:1.4.0-alpha02 yayınlanır. 1.4.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • API'yi setCameraOpenRetryMaxTimeoutInMillisWhileResuming olarak yeniden adlandırın ve bağımsız değişkeni yeniden adlandırın. (I72370)
  • Cihaz özelliğini sorgulamak ve video/önizleme sabitlemeyi etkinleştirmek için API'ler ekleme. (I87544)
  • Kameranın açık şekilde yeniden denemesinin maksimum zaman aşımı süresini özelleştirmek için API sağlayın. (I0c642)
  • ProcessCameraProvider.shutdownAsync, kamera sağlayıcının testler arasında CameraX'i farklı şekillerde başlatması gerekebilecek test paketlerinde kullanılmasına olanak tanımak için herkese açık bir test API'si olarak kullanıma sunuldu. (I9eca7)
  • Video yakalama dinamik aralığı, kare hızı ve yansıtma modunu yapılandırmak için API'ler ekleyin. (Ifb8f7)
  • OutputSize kullanımdan kaldırılıp ResolutionSelector ile değiştiriliyor. ResolutionSelector, çözünürlükleri seçmenin daha kapsamlı bir yoludur ve kamera çekirdek API'siyle tutarlıdır. (I93abd, b/286801438)

Hata Düzeltmeleri

  • Arka kamerada ImageAnalysis ile Uzantılar Bokeh veya Yüz Rötuşu etkinleştirildiğinde Samsung Galaxy S23 Ultra 5G'de siyah önizleme sorunu düzeltildi. (I2e8b1)
  • Moto E5 Play'deki önizleme ve VideoCapture uzatılmış sorunlar düzeltildi. (73dce2)

Sürüm 1.4.0-alpha01

20 Eylül 2023

androidx.camera:camera-*:1.4.0-alpha01 yayınlanır. 1.4.0-alpha01 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Kayıt sırasında ses genliği bilgilerine erişmek için yeni API ekleyin. (Id4925)

Hata Düzeltmeleri

  • Başlatma ve başlatma işlemini devre dışı bırakma etkinliklerinin doğru sırayla tetiklenmesini sağlayarak Uzantıların kararlılığını iyileştirin. (Ib3b8e)
  • Dahili olarak ek yinelenen yüzey eklenmesinden dolayı desteklenen yüzey kombinasyonunu aştığı için yakalama oturumu yapılandırma hatası düzeltildi. (Id718c)
  • Vivo S16 cihazda, yakalanan büyük boyutlu JPEG resmi sorunu düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Yakalanan görüntülerin dosya boyutunun büyük olmasına neden olur. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I79505, b/299069235)
  • Bazı cihazlarda bazı uzantı modları etkinleştirildiğinde ImageAnalysis'ün ImageCapture ve Önizleme ile birlikte bağlanamaması sorunu düzeltildi. Uygulamalar ExtensionsManager#isImageAnalysisSupported() üzerinden ImageAnalysis stok durumunu sorguladığında bu düzeltme 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. #takePicture API ile maksimum görüntüleme süresi elde etme hakkında bilgi de eklendi. (I23588)

Sürüm 1.3

Sürüm 1.3.4

12 Haziran 2024

androidx.camera:camera-*:1.3.4 yayınlandı. 1.3.4 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • getZoomRatio işlevinin, artan bir yakınlaştırma oranı uygulandığında yanlışlıkla azalan bir değer döndürmesi sorunu düzeltildi. (I4aa0d, b/317543616)
  • Sabit resim yakalama/dokunarak odaklama özelliğinin, tekrarlanan istek FPS/stabilizasyon modu değerlerini kullanmaması sorunu düzeltildi. Bu sorun, yakalama oturumunu yeniden oluşturabilir ve bazı cihazlarda gecikme sorunlarına ya da önizlemenin donmasına neden olabilir. (I7dc0b)
  • FRAME_RATE_RANGE_UNSPECIFIED ile setTargetFrameRate çağrılırken 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 yayınlanır. 1.3.3 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • ImageAnalysis'nin analizcinin varsayılan hedef çözümleme ayarıyla ilgili çözüm seçimi sorunu düzeltildi: Uygulamalar farklı bir analiz edici varsayılan çözümleme ayarı yapmış olsa bile hedef çözünürlük yanlış şekilde 640x480 olarak tutuluyor. Uygulamalar bu sorunla (1.3.0 ~ 1.3.2) karşılaşırsa ve çözümü içeren daha yeni sürüm sürümlerini kullanacak şekilde yükseltemezse ImageAnalysis UseCase için doğrudan tercih edilen çözünürlüğe sahip bir ResolutionSelector ve eşleşen bir AspectRatioStrategy ayarlayarak bu sorunu giderebilirsiniz. (I81f72, b/330091012)

1.3.2 sürümü

6 Mart 2024

androidx.camera:camera-*:1.3.2 yayınlandı. 1.3.2 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Samsung A24 cihazlarda JPEG meta verileriyle ilgili sorun düzeltildi. CameraX artık resimleri doğru bir şekilde kaydediyor ve ImageProxy.toBitmap() işlevi doğru Bit eşlem nesnelerini döndürüyor. (I8d6eb, b/309005680)
  • Redmi Note 9 Pro cihazlardaki 9280x6944 çözünürlük seçeneği, sorunlar nedeniyle kaldırıldı. (Ia23da)

Sürüm 1.3.1

13 Aralık 2023

androidx.camera:camera-*:1.3.1 yayınlanır. 1.3.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

ProcessCameraProvider#bindToLifecycle() performansı iyileştirildi. Buradaki en önemli değişiklik, UseCases için en uygun boyut kombinasyonlarını tanımlama sürecini optimize etmektir. Optimum 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)

Aşağıda, çeşitli senaryolar için bazı referans sonuçları bulabilirsiniz:

  • Dört UseCases: Preview + ImageCapture + ImageAnalysis + VideoCapture

    • Google Pixel 7: Yaklaşık 430 ms ila 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-5 ms.
    • Samsung A53 5G: Yaklaşık 32 ms ila 12 ms.
  • CameraUseInconsistentTimebaseQuirk öğesine Snapdragon 480 eklendi. Bu güncelleme, Android 12'de bu yonga setini kullanan cihazlarda yaşanan ve kayıtlardaki sesin, cihazın askıya alınmış durumda kaldığı süreye göre dengelendiği bir sorunu düzeltir. (I58010)

Sürüm 1.3.0

18 Ekim 2023

androidx.camera:camera-*:1.3.0 yayınlanır. 1.3.0 sürümü bu taahhütleri içerir.

1.2.0'dan bu yana önemli değişiklikler

Sürüm 1.3.0-rc02

20 Eylül 2023

androidx.camera:camera-*:1.3.0-rc02 yayınlandı. 1.3.0-rc02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Başlatma ve sonlandırma etkinliklerinin doğru sırada tetiklendiğinden emin olarak uzantıların kararlılığını artırın. Bu sayede, uzantı modları veya kameralar arasında geçiş yaparken yaşanan bazı siyah önizleme sorunları düzeltildi. (Iddaac)
  • Bazı cihazlarda bazı uzantı modları etkinleştirildiğinde ImageAnalysis ürününün ImageCapture ve Önizleme ile birbirine bağlanamaması sorunu düzeltildi. Uygulamalar ExtensionsManager#isImageAnalysisSupported() üzerinden ImageAnalysis stok durumunu sorguladığında bu düzeltme doğru değeri döndürür. (I7d538)
  • Xiaomi Poco X3 NFC'de yansıtma modu etkinleştirildiğinde kaydedilen videonun ses 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 yayınlanır. 1.3.0-rc01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Kaydedicinin bağlı olduğu VideoCapture yeniden bağlanırken kaydın sürekli olarak kaydedilmesine izin vermek için PendingRecording.asPersistentRecording eklendi. (I517c6)

Hata Düzeltmeleri

  • Bir yayın hem VideoCapture hem de Önizleme ile paylaşıldığında kilitlenme sorunu düzeltildi. Akış paylaşımı etkinleştirildiğinde LEGACY cihazlarda siyah ekran da düzeltildi.
  • Samsung S7 (SM-G930T, SM-G930V) serisi cihazlarda büyük boyutlu JPEG resim sorunu düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Yakalanan görüntülerin dosya boyutunun büyük olmasına neden olur. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I407b0, b/288828159)
  • Samsung S22 (SM-S901B, SM-S901B/DS) ve S22+ (SM-S906B) serisi cihazlarda büyük boyutlu JPEG resim sorunu düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Bu durum, çekilen resimlerin S22 SM-S901B/DS cihazında yaklaşık 13 MB büyük dosya boyutuna sahip olmasına neden oluyor. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I73be9, b/288828159)
  • Samsung A5, A52, A70 ve A72 serisi cihazlarda büyük boyutlu JPEG resim sorunu düzeltildi. Yakalanan JPEG resimleri, JFIF sıkıştırılmış veri segmentinde fazladan 0'ın 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. Bu gereksiz 0'ın dolgu verileri, yakalanan görüntülerin normal resim dosyası boyutlarına sahip olması için kaldırılır. (I97c4d, b/288828159)
  • Uzantılar etkinken fotoğraf çekerken doğal kilitlenme sorunu düzeltildi (I698f5)

Sürüm 1.3.0-beta02

26 Temmuz 2023

androidx.camera:camera-*:1.3.0-beta02 yayınlanır. 1.3.0-beta02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Pixel 4 ve 5 varyantlarında flaş olarak flaş kullanarak düşük ışıkta çekim kalitesini artırın (I56ff5, b/280221967)
  • Samsung A5 (2017) serisi cihazlarda büyük boyutlu JPEG resimleri yakalanmasına neden olan sorun düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Bu, çekilen resimlerin dosya boyutunun yaklaşık 32 MB olmasına neden olur. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I29837, b/288828159)
  • CaptureFailedRetryQuirk bölümünde belirtilen sorunlu cihazlarda yakalama hatası durumunda yeniden deneme özelliğinin düzgün şekilde tetiklenmemesine yol açan hata düzeltildi. (I7b589)

Sürüm 1.3.0-beta01

21 Haziran 2023

androidx.camera:camera-*:1.3.0-beta01 yayınlanır. Sürüm 1.3.0-beta01 bu kaydetmeleri içerir.

API Değişiklikleri

  • ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) işlevi, setAllowedResolutionMode olarak ve ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON sabitleri PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE olarak yeniden adlandırıldı. (If84e8)
  • Desteği sonlandı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şlevlerin çıkışı olarak Yüksek Dinamik Aralık biçimlerini seçmek için kullanılabilir. (Ib0377)
  • Uzantılar etkinleştirildiğinde ImageAnalysis kullanım alanının Önizleme ve ImageCapture ile birlikte bağlanıp bağlanamayacağını uygulamaların belirleyebileceği bir isImageAnalysisSupported API'si ExtensionsManager'e 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 amacıyla kullanılabilir. QualitySelector uygulamasının getSupportedQualities() ve isQualitySupported() yöntemleri kullanımdan kaldırılıyor. Bunun yerine lütfen VideoCapabilities'nin getSupportedQualities() ve isQualitySupported() yöntemlerini kullanın. (I04014)
  • CameraController#setVideoCaptureTargetQuality(), setVideoCaptureQualitySelector olarak yeniden adlandırılır ve video kalitesi ayarlarında daha fazla esneklik sağlayan QualitySelector bağımsız değişkenini alır. CameraController#getVideoCaptureTargetQuality(), buna uygun olarak getVideoCaptureQualitySelector olarak değiştirildi. (I520ed)
  • Video özellikleri için deneysel ek açıklama kaldırıldı. Video özellikleri artık kararlı durumda. (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 ekleyin. JPEG bayt dizisinin kodu çözülemezse bir UnsupportedOperationException oluşturulur. (I81958, b/282057603)

Sürüm 1.3.0-alpha07

24 Mayıs 2023

androidx.camera:camera-*:1.3.0-alpha07 yayınlanır. 1.3.0-alpha07 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Yeni VideoCapture.Builder# setTargetFrameRate(Range) API, video kayıtlarının cihazın varsayılan kare hızının yanı sıra diğer kare hızlarında çekilmesine olanak tanır. Kayıtlar için kullanılabilen kare hızları yeni CameraInfo#getSupportedFrameRates() API aracılığıyla sorgulanabilir.

API Değişiklikleri

  • ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON sabitleri ALLOWED_RESOLUTIONS_NORMAL/SLOW olarak, oluşturucu setHighResolutionEnabledFlag işlevi adı ise setAllowedResolutionMode olarak yeniden adlandırıldı. (Iae817)
  • CameraInfo#getSupportedFrameRateRanges() artık aralıkların sırasız olduğunu daha iyi temsil etmek için List yerine Set döndürüyor. (I02f43)
  • Düzeltilemeyen hataları işlemek için CameraEffect'e hata işleyici ekleme (Ice471)
  • Daha iyi test edilebilirlik için ResolutionInfo sınıfına herkese açık bir kurucu ekleyin (If6d1c)
  • setTargetRotationDegrees kullanımını değiştirmek ve ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) ve VideoCapture.setTargetRotationDegrees(int) API'lerini kullanımdan kaldırmak için bir API UseCase.snapToSurfaceRotation(int) sağladı. (Ia9010)
  • Önizleme kullanım alanı için hedef kare hızını ayarlayabilmek ve alabilmek üzere yeni API Preview#getTargetFrameRate ve Preview.Builder#setTargetFrameRate eklendi (If4f22)
  • Recording nesnesi atık toplama nedeniyle durdurulduğunda VideoRecordEvent.Finalize artık ERROR_RECORDING_GARBAGE_COLLECTED hata koduyla tamamlanacak. (Iba974)

Hata Düzeltmeleri

  • StreamConfigurationMapCompat içindeki önbelleğe alınmış çıkış boyutları null olduğunda NullPointerException düzeltildi. (Idf124, b/282025204)
  • Preview.setSurfaceProvider(null)'ün Uzantılar'da önizlemeyi duraklatmaması sorunu düzeltildi (Ia903e)
  • VideoCapture bağlıyken kamera açılırken ConcurrentModificationException işlevinin atılmasına neden olan sorun düzeltildi. (Ic8ac4)

Sürüm 1.3.0-alpha06

19 Nisan 2023

androidx.camera:camera-*:1.3.0-alpha06 yayınlanır. 1.3.0-alpha06 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Android 11'de kullanıma sunulan eşzamanlı kamera özelliği, kamera cihazlarının eşzamanlı olarak aktarılmasını destekler. Örneğin, bir cihazda hem ön hem de arka kameraların aynı anda çalışmasına olanak tanır. CameraX şu anda yalnızca iki eşzamanlı kamerayı destekler. Bu sayede, her birine en fazla iki {@link UseCase} bağlı olacak şekilde iki kamera aynı anda çalışabilir. Maksimum çözünürlük 720p veya 1440p'tir. Daha fazla bilgi için aşağıdaki bağlantıya bakın: CameraManager#getConcurrentCameraIds()
  • 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 stratejileri belirtebilir.
    • Tüm boyutlar 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, çekim sürelerinin uzamasına neden olabileceğini lütfen unutmayın.
    • VideoCapture yansıtma API'leri eklendi. VideoCapture tarafından kaydedilen videolar varsayılan olarak yansıtılmaz. Ancak kamera önizlemesi varsayılan olarak ön kamerada aynalanır. VideoCapture yansıtma API'leri, ön kamera kullanılırken kamera önizlemesini hizalamanızı sağlar. Üç MirrorMode, OFF, ON ve ON_FRONT_ONLY vardır. Kamera önizlemesiyle hizalamak için ON_FRONT_ONLY simgesini kullanmanız önerilir. Bu, arka kamerada aynalama özelliğinin devre dışı bırakıldığı ancak ön kamerada etkinleştirildiği anlamına gelir.

API Değişiklikleri

  • Yeni ResolutionSelector API'si kullanıma sunuldu. Uygulamalar, istenen sonuçları elde etmek için yedek kurallar veya özel çözünürlük filtresi ile en boy oranını ve çözünürlük stratejilerini belirtebilir. Uygulamalar, yüksek çözünürlüklü çekimi etkinleştirmek için bir işaret belirtebilir. Bu şekilde CameraX, fotoğraf veya video çekerken daha yüksek çözünürlükler seçebilir. Ancak yüksek çözünürlük kullanmanın, çekim sürelerinin uzamasına neden olabileceğini lütfen unutmayın. (Ibed95)
  • AE algoritması tarafından desteklenen FPS aralıkları artık CameraInfo#getSupportedFrameRateRanges() aracılığıyla sorgulanabilir. (Iaa67f)
  • "FrameRate" öğesi kullanarak tüm kare hızı yöntemlerinin adlarını birleştirin. VideoCapture#getTargetFrameRate() dosyasında javadoc hatasını düzeltin (I83304)
  • Eski setTargetAspectRatio ve setTargetResolution API'si kullanımdan kaldırıldı. Lütfen bunun yerine yeni ResolutionSelector API'yi kullanın. (I542c3)
  • Aşağıdakiler 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)
  • ImageProcessor.Response#getOutputImage değerini NonNull yapın (Ib9c60)
  • VideoCapture.Builder.setMirrorMode(int) ve VideoCapture.getMirrorMode() dahil olmak üzere VideoCapture yansıtma API'si eklendi. API'ler, video kaydının genel kamera önizleme davranışıyla tutarlı olmasını gerektiren uygulamalar için yararlıdır. Örneğin, arka kamera önizlemesi yansıtılmıyor, ancak ön kamera önizlemesi yansıtılmış. (I713b6, b/194634656)
  • VideoCapture.Builder'a setTargetFrameRate() API'yi ve VideoCapture'a getTargetFramerate() API'yi ekleme (I109d4)
  • SurfaceOutput sınıfını Closable sınıfından türeterek SurfaceOutput.Event sınıfının herkese açık kurucusunu gizleyin. (I60ea8)
  • İşleme aşamasındaki bir kaydı dinamik olarak kapatmak veya açmak için Recording.mute eklendi. İşleme aşamasındaki kayıt açıkça sessize alındığında RecordingStats, AudioStats.AUDIO_STATE_MUTED değerini içerir. (Ie17fc)
  • #setEffects() parametresi geçersiz hale getirildi. Etkileri temizlemek için bir #clearEffects() API ekleyin. Uygulama, efektleri kaldırmak için #clearEffects() işlevini çağırmalıdır. (I4b4d9)
  • Kopya oluşturucu olarak bir oluşturucu almak üzere ViewfinderSurfaceRequest.Builder için ikinci bir oluşturucu ekleyin (I621a7)

Hata Düzeltmeleri

  • Extensions API'yi çağıran uygulamaların kamera kapatıldığında kilitlenmesine neden olan sorun düzeltildi (Ib27e5)
  • VideoCapture'ün bazı cihazlarda ön kamerayla çalışmamasına neden olan sorun düzeltildi. Örneğin, Samsung Galaxy S23 ve Xiaomi 2107113SG. (Ibec7e, b/270656244)
  • Android 10 veya sonraki sürümlerde, harici depolama ortak klasöründe Dosya kullanarak resim çekme sorunu giderildi. Android 10'da, harici depolamadaki herkese açık klasörde Dosya'yı kullanarak fotoğraf çekmek için uygulama etiketinde requestLegacyExternalStorage değerinin true olarak ayarlanması gerektiğini lütfen unutmayın. (I11b2c)
  • DefaultSurfaceProcessor'te RejectedExecutionException kilitlenmesi düzeltildi. Kilitlenme, VideoCapture bağlandığında ve etkinlik duraklatıldığında gerçekleşebilir. (Idb46a, b/273713906)

Sürüm 1.3.0-alpha05

22 Mart 2023

androidx.camera:camera-*:1.3.0-alpha05 yayınlanır. 1.3.0-alpha05 sürümü bu kaydetmeleri 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 kullanışlıdır. ImageCapture.setTargetRotationDegrees(int) ve ImageAnalysis.setTargetRotationDegrees(int) de eklenir. (Id3ffe, b/205242781)
  • Efekt hedefi olarak VIDEO_CAPTURE ve PREVIEW|VIDEO_CAPTURE işlemlerine izin ver. VIDEO_CAPTURE öğesini hedefleyen efektler VideoCapture Kullanım Alanı'na, PREVIEW|VIDEO_CAPTURE adresini hedefleyen efektler ise Önizleme ve VideoCapture akışına kopyalanmadan önce paylaşılan bir akışa uygulanır. (Iee6f3)

Hata Düzeltmeleri

  • Kamera 1.2.2: Pixel (I90aa2) gibi bazı cihazlarda proguard etkinleştirildiğinde CameraX uzantılarının düzgün çalışmamasıyla ilgili sorun düzeltildi
  • Uygulamanın ekran yönünü kendisi kontrol etmesi durumunda önizlemenin döndürüldüğünde bozulmasına neden olan PreviewView hatası düzeltildi. Bu durum yalnızca belirli cihazlarda görülür. Bu sorun 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 yayınlandı. 1.3.0-alpha04 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

Tek bir akışı birden fazla kullanım alanında paylaşarak daha önce desteklenmeyen Surface kombinasyonlarını destekleyen yeni bir özellik.

  • Daha önce, kamera donanım düzeyinde FULL ve altında "Önizleme, VideoKaydı, Görüntü Analizi" veya donanım düzeyinde LEGACY "Önizleme, VideoKaydı, Görüntü Kaydı" bağlanırken CameraX IllegalArgumentException hatası veriyordu.
  • Yeni davranış, bağlamaların istisnalar bırakmadan çalışmasıdır. Bunun yerine, CameraX paylaşılan bir akışı hem Önizleme hem de Video Yakalama'ya kopyalamak için OpenGL kullanır.
  • Arabellek kopyasının maliyeti nedeniyle uygulamada gecikme ve güç tüketimi artabilir.

API Değişiklikleri

  • ImageProxy öğesini Bitmap biçimine 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 oluşturulur. (Ic7110)
  • Kotlin'de askıya alma işlevlerini kullanarak vizörün yapılandırılmasını desteklemek için CoroutineCameraViewfinder ekleyin. (I657bc)
  • ViewfinderSurfaceRequest için yeni herkese açık bir kurucu işlevi ekleyin. Kullanıcının CameraCharacteristics sağlayamayacağı durumlarda esneklik sağlar. (Ie6549)

Hata Düzeltmeleri

  • Bazı Samsung cihazlarda uygulama çok hızlı duraklatıldığında/devam ettirildiğinde yaşanan Uzantılar kilitlenmesi düzeltildi (Iaca26)

Sürüm 1.3.0-alpha03

25 Ocak 2023

androidx.camera:camera-*:1.3.0-alpha03 yayınlanır. 1.3.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Varsayılan kameraya göre görüş açısı bilgilerini sağlamak için CameraInfo.getIntrinsicZoomRatio eklendi. (Ib300c)
  • Lens ile ilgili bilgilerin sağlanması için CameraInfo.getLensFacing eklendi. Harici kameraları seçme deneysel özelliği olarak CameraSelector#LENS_FACING_EXTERNAL eklendi. (Icaf3e)
  • Kamera çıkışına efekt eklemenize olanak tanıyan #setEffect() öğesini CameraController'e ekleyin. (I1d21f)
  • SurfaceRequest öğesine invalidate() yöntemi ekleyin. Yüzey sağlayıcı, daha önce sağlanan yüzeyin artık geçerli olmadığını bildirebilir. (Idc649)
  • ImageProcessor API ekleyin. Bu arayüz, ImageCapture ardışık düzenine son 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)
  • Hedef video kodlamasını ayarlamak için Recorder.Builder#setTargetVideoEncodingBitRate ve hedef video kodlama bit hızını almak için Recorder#getTargetVideoEncodingBitRate eklendi.BitRate (I5984d)

Hata Düzeltmeleri

  • Flaş birimi yoksa ve flaş modu açıkken ImageCapture hatası düzeltildi. (I9e8b4, b/263391112)
  • Bazı Samsung Android 12 cihazlarda Exif konum verileri yazılırken JPEG resmi bozulması sorunu düzeltildi. (Ib7086, b/263747161, b/263289024)
  • Kameranın başlatılması tamamlanmadan önce el feneri/yakınlaştırma ayarı yapılırken (ör. CameraController#enableTorch çağrısı) bekleyen işlem önbelleğe alınır ve başlatma 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 yayınlanır. 1.3.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Önizleme çıkışına son işleme efekti uygulamak için yeni bir API ekleyin. (Ic17d5)
  • OutputOptions.getDurationLimit, OutputOptions.getDurationLimitMillis olarak ve OutputOptions.setDurationLimit, OutputOptions.setDurationLimitMillis olarak yeniden adlandırıldı. (I91f0c)
  • Video kaydederken sesle ilgili ayarları yönetmek için AudioConfig sınıfını ekleyin. Ses gerektirmeyen durumlarda gereksiz izin isteklerinden kaçınmak için @RequiresPermission ek açıklamaları, startRecording işlevlerinden AudioConfig işlevlerine taşındı. (I28755)
  • Yeni video yakalama API'si uygulandıktan sonra artık kullanılmayan meta veri, OnVideoSavedCallback, OutputFileOptions ve OutputFileResults sınıflarını kaldırın. (I38cd8)
  • Yeni video yakalama API'sini uygulayın. setTargetResolution artık desteklenmediğinden getVideoCaptureTargetSize ve setVideoCaptureTargetSize yöntemleri, sırasıyla getVideoCaptureTargetQuality ve setVideoCaptureTargetQuality yöntemleriyle değiştirildi. (I2a1d5)

Hata Düzeltmeleri

  • Desteği sonlandırılan core.VideoCapture API'sini kaldırın. (I531e0)
  • Depolama alanı izni olmadan fotoğraf çekilirken onError geri çağırma işlevinin çağrılmaması sorunu düzeltildi.(I936db, b/244807669)
  • Kamera uzantılarının kalitesini ve güvenilirliğini artırın. Bokeh desteği, resim çekme ve önizlemenin devam etmemesi ile ilgili sorunlar nedeniyle, Kamera Uzantıları 1.1.0 ve önceki sürümleri kullanan Motorola cihazlarda kamera uzantıları devre dışı bırakılır. (Id3ce3)
  • Eski cihazlarda ViewPort aracılığıyla video kırpma etkinleştirildiğinde doğal 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 yayınlanır. 1.3.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Camera-viewfinder resmi olarak yayınlandı. Camera-viewfinder, Camera2 için kamera feed'ini görüntüleyebilen temel bir vizör widget'ı sağlar. Örnek için lütfen örnek kodu kontrol edin.

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 sonlandırılır. (I902a0)
  • Video kaydı ses hatası durumu AudioStats.AUDIO_STATE_SOURCE_ERROR ekleyin. 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 hatasıyla karşılaştığında yakalamayı bir kez daha denemesine olanak tanıyan bir özellik eklendi. (Id4795)
  • ViewPager2'de PreviewView SurfaceView uygulamayla ilgili siyah ekran sorununu düzeltin. 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) desteği. (Ifbba8, b/201085351)
  • Huawei P40 lite'ta ön kamerayla çekilen videonun 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 yayınlanır. 1.2.3 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • VideoCapture'ün bazı cihazlarda ön kamerayla çalışmamasına neden olan sorun düzeltildi. Örneğin, Samsung Galaxy S23 ve Xiaomi 2107113SG'de. (Ibec7e, b/270656244)

1.2.2 sürümü

22 Mart 2023

androidx.camera:camera-*:1.2.2 yayınlanır. 1.2.2 sürümü bu taahhütleri 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 yayınlanır. 1.2.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Bazı Samsung Android 12 cihazlarda Exif konum verileri yazılırken JPEG resmi bozulması sorunu düzeltildi. (b/263289024)

Sürüm 1.2.0

7 Aralık 2022

androidx.camera:camera-*:1.2.0 yayınlanır. 1.2.0 sürümü bu taahhütleri içerir.

1.1.0 sürümünden bu yana yapılan önemli değişiklikler

  • Yeni kitaplık Camera-mlkit-vision. CameraX'i barkod taraması, yüz algılama, metin algılama gibi birçok MLKit özelliğiyle kolayca entegre edin. Yeni API'ler olarak MLKitAnalyzer eklendi.
  • Yeni deneysel Zero-Shutter Lag API. İyi görüntü kalitesini korurken daha iyi gecikme süresi elde etmek için yakalama ardışık düzenini optimize eder. Kayıt modu CAPTURE_MODE_ZERO_SHUTTER_LAG olarak ayarlandığında, deklanşör düğmesi tıklandıktan sonra fotoğrafın çekilmesi arasındaki gecikmenin diğer kayıt modlarına kıyasla en aza indirilmesi beklenir. ZERO_SHUTTER_LAG desteklenmeyen cihazlarda CAPTURE_MODE_MINIMIZE_LATENCY kullanılır.
  • android.camera.core.VideoCapture öğesini kullanımdan kaldırın.
  • setStreamUseCase(), herkese açık Camera2Interop API olarak eklendi.
  • setOutputImageRotationEnabled için API düzeyi şartı eklendi.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride() adlı dosya ImageAnalysis.Analyzer#getDefaultTargetResolution() olarak yeniden adlandırıldı.
  • Kayıtlı videoya konum meta verilerini ayarlamak için API eklendi.
  • VideoCapture kullanılırken düşük kare hızı düzeltildi ve kullanım alanlarını 16:9 en boy oranıyla önizleyin
  • Bazı Samsung cihazlarda BOKEH uzantısı etkinleştirildiğinde ve kullanıcı kamerayı değiştirdiğinde ortaya çıkan siyah önizleme sorunu düzeltildi.
  • API seviyesi 27 cihazlarda Samsung J7 Prime (SM-G610M) ve J7 (SM-J710MN) Preview/VideoCapture uzatılmış sorunu düzeltildi.
  • Sorun düzeltildiğinden 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 yayınlanır. 1.2.0-rc01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • OutputConfiguration için setStreamUseCase API'yi ekleyin. Kullanıcı, akış oturumu için akış kullanım alanını belirtebilir. Böylece, ihtiyacına göre optimizasyon yapmak için CameraX'in dahili mantıklarını geçersiz kılarak akış kullanım alanını seçebilir. (Ib1a95)

Hata Düzeltmeleri

  • API seviyesi 27 cihazlarda Samsung J7 Prime (SM-G610M) ve J7 (SM-J710MN) Preview/VideoCapture uzatılmış sorunu düzeltildi. 1920x1080 çözünürlük, Preview/VideoCapture resimlerinin uzatılmasına neden olur. Önizleme için 1920x1080 çözünürlüğün seçilmemesine veya resmin uzatılması sorununun önüne geçmek için VideoCapture sorununa yönelik geçici çözüm eklendi. (I0e04e)
  • Bazı Huawei cihazlarda 16:9 en boy oranında VideoCapture ve Önizleme kullanım alanlarını kullanırken düşük kare hızı sorunu düzeltildi. (If8c88, b/223643510)
  • Önizleme'nin SurfaceProvider ayarı yapılmadığında kamera açma hatası düzeltildi. Düzeltme kapsamında, SurfaceProvider ayarlanmamış önizleme özelliği 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 yayınlandı. 1.2.0-beta02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • setOutputImageRotationEnabled için API düzeyi koşulu ekleme (I26e3e, b/240993561)

Hata Düzeltmeleri

  • Sorun düzeltildiği için Samsung Android T'de ö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ı değiştirdiğinde 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 yayınlanır. 1.2.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Yeni kitaplık camera-mlkit-vision. CameraX'i barkod taraması, yüz algılama, metin algılama gibi birçok MLKit özelliğiyle kolayca entegre edin. Örnek kodu burada bulabilirsiniz.
  • Deneysel yeni Zero-Shutter Lag API. Ardışık düzende, görüntü kalitesini korurken gecikmenin daha yüksek olmasını sağlayacak şekilde optimizasyon yapar. Çekim modu CAPTURE_MODE_ZERO_SHUTTER_LAG olarak ayarlandığında, deklanşör düğmesi tıklandıktan sonra fotoğrafın çekilmesi arasındaki gecikmenin diğer çekim modlarına kıyasla en aza indirilmesi beklenir. ZERO_SHUTTER_LAG parametresini desteklemeyen cihazlarda CAPTURE_MODE_MINIMIZE_LATENCY parametresi kullanılır.
  • ImageAnalysis.Analyzer ve MLKitAnalyzer'yi resmi API'ler olarak kullanıma sunduk.
  • Kayıtlı videoya konum meta verilerini ayarlamak için API'yi kullanıma sundu.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride() listesinin adını ImageAnalysis.Analyzer#getDefaultTargetResolution() olarak değiştir.

Hata Düzeltmeleri

  • Alps k61v1_basic_ref resim yakalama sorunu düzeltildi. HAL'den çekilen JPEG resimlerde yanlış Exif meta verileri var. Exif meta verilerinde, ExifInterface'ün özellikleri doğru şekilde ayrıştırmasını sağlayacak 0xffd9 veya 0xffda etiketi yok. Bu sorunun üstesinden gelmek için görüntüleri YUV biçiminde yakalayıp daha sonra JPEG çıkış resimlerine sıkıştırın. (I45abb)

Sürüm 1.2.0-alpha04

27 Temmuz 2022

androidx.camera:camera-*:1.2.0-alpha04 yayınlanır. 1.2.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • ImageAnalysis.Analyzer#getTargetResolutionOverride()ImageAnalysis.Analyzer#getDefaultTargetResolution() olarak yeniden adlandırın. Ayrıca, bu yöntem tarafından döndürülen değerin ImageAnalysis#setTargetResolution() değeriyle geçersiz kılınabilmesi için davranış da değiştirilir. (If1d36)
  • Kayıtlı videoya konum meta verilerini ayarlamak için API'yi kullanıma sundu. android.location.Location nesnesi, yeni API androidx.camera.video.OutputOptions.Builder.setLocation(Location) üzerinden ayarlanabilir. (I313a0, b/204197544)

Hata Düzeltmeleri

  • Bağlantıyı kaldır önizlemesiyle fotoğraf çekme sorunu düzeltildi (Ie70b6, b/235119898)
  • Ses kaynağı kullanılamadığında kayıt yapmaya çalışırken Recorder'te yaşanan kilitlenme düzeltildi. (I9f652)

Sürüm 1.2.0-alpha03

29 Haziran 2022

androidx.camera:camera-*:1.2.0-alpha03 yayınlanır. 1.2.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • ImageAnalysis.Analyzer ve MLKitAnalyzer için deneysel ek açıklama kaldırıldı. (I0ff22)

Hata Düzeltmeleri

  • FocusMeteringAction iptal edilmezse ve süre içinde AF bölümü tümleşmezse AF bölümünü isFocusSuccessful false ile tamamlayacak otomatik odaklama varsayılan zaman aşımı 5000 ms eklendi. (Ibc2e3)
  • Bağlantıyı kaldırma önizlemesiyle fotoğraf çekme sorununu düzeltme (I1d3a2, b/235119898)
  • Gelişmiş uzatıcı uygulamasını etkinleştirdi ve CameraX destek uzantıları arayüzü sürümünü 1.2'ye güncelledi (I92256)

Sürüm 1.2.0-alpha02

1 Haziran 2022

androidx.camera:camera-*:1.2.0-alpha02 yayınlanır. 1.2.0-alpha02 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • CameraX Zero-Shutter Lag API'yi deneysel olarak kullanıma sunma.

API Değişiklikleri

  • ImageCapture için yeni yakalama modu CAPTURE_MODE_ZERO_SHUTTER_LAG ekleyin ve cihaz özelliğini sorgulamak için CameraInfo konumuna isZslSupported kodunu ekleyin. CAPTURE_MODE_ZERO_SHUTTER_LAG modu, anlık yakalama için minimum gecikmeyi sağlamayı amaçlar. Bu modül, kullanıcı fotoğraf çekmek için düğmelere bastığında ara yakalama sonuçlarını daha sonra yeniden işlemek üzere önbelleğe alan bir halka arabelleğine dayalı olarak uygulanır. {@link VideoCapture} bağlıysa veya flaş modu KAPALI değilse ya da OEM Uzantısı AÇIKsa bu mod otomatik olarak devre dışı bırakılır. (I9ae74)
  • ImageAnalysis.getBackgroundExecutor() yöntemini ekleyin (Icc945)

Hata Düzeltmeleri

  • ImageCapture takePicture yönteminin, bildirilen cihazlarda el fenerini kapatması sorunu düzeltildi. (Ib5eb5, b/228272227)
  • CONTROL_ZOOM_RATIO_RANGE özelliği alınırken AssertionError özelliğinin işlenmediği bir hata düzeltildi.(/Ia248a, b/231701345)

Sürüm 1.2.0-alpha01

18 Mayıs 2022

androidx.camera:camera-*:1.2.0-alpha01 yayınlanır. 1.2.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Yeni camera-mlkit-vision kitaplığı kullanıma sunuldu

Hata Düzeltmeleri

  • Yedek strateji etkinleştirildiğinde QualitySelector'ün UHD video kaydedememesi sorunu düzeltildi. Sorun, VideoCapture, FULL veya daha yüksek donanım düzeyinde bir kamera cihazında ImageCapture ve Önizleme ile bağlandığında ortaya çıkar. QualitySelector yedek stratejisi, VideoCapture'in yanlışlıkla FHD çözünürlüğü almasına neden oluyor. Bu kullanım alanı kombinasyonu için UHD çözünürlük aslında desteklenir ve benimsenmelidir. (I0e788, b/230651237)
  • ImageCapture.takePicture() tarihinde NullPointerException sorunu düzeltildi. (I92366, b/230454568, b/229766155)
  • androidx.camera.video.Recorder (Ia8ce8) için eşzamansız duraklatma davranışını düzeltme

Kamera-Kamera2, Kamera-Çekirdek, Kamera-Yaşam Döngüsü ve Kamera-Video Sürümü 1.1.0

Sürüm 1.1.0

29 Haziran 2022

androidx.camera:camera-*:1.1.0 yayınlanır. 1.1.0 sürümü bu taahhütleri içerir.

1.0.0 sürümünden bu yana yapılan önemli değişiklikler

  • İlk RC sürümü olarak Açılış Görünümü, Uzantı ve Video Yakalama kitaplıkları. 1.1.0-beta01'den itibaren tüm CameraX kitaplıkları aynı sürüm numarasını kullanır. Bu, geliştiricilerin sürümleri çok daha kolay izlemesine ve büyük sürüm uyumluluk matrislerinin karmaşıklığını azaltmasına yardımcı olacaktır.
  • Aşağıdakiler dahil olmak üzere herkese açık yeni API'ler ve özellikler kullanıma sunuldu:
  • Video yakalama kullanım alanlarını desteklemek için resmi kamera-video kitaplığını ekleyin.
  • YUV'den RGB'ye dönüştürme ve döndürme özelliği (ImageAnalysis.Builder.setOutputImageRotationEnabled ve setOutputImageFormat)
  • Kamera başka bir uygulama tarafından kesintiye uğradığında ve odak geri geldiğinde CameraX uygulamalarının 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 aracılığıyla kullanıma sunulacak bir CameraState API eklendi.
  • Mevcut kameralarla ilgili bilgileri doğrudan almak için bir API ProcessCameraProvider.getAvailableCameraInfos() öğesi eklendi
  • Uzantılar etkinleştirildiğinde ImageCapture#OnImageCapturedCallback için JPEG biçiminde çıkış.
  • CameraInfo sürümünde, uygulamaların belirli bir FocusMeteringAction özelliğinin mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyan isFocusMeteringSupported API'si eklendi.
  • Önizleme, ImageCapture ve ImageAnalysis için çözünürlük bilgilerini sağlamak üzere getResolutionInfo API kullanıma sunuldu.
  • Fotoğraf çekerken çıkış JPEG resim sıkıştırma kalitesinin değiştirilmesine olanak tanıyan yeni bir API ImageCapture.Builder#setJpegQuality eklendi.
  • CameraInfos listesini CameraSelector'ye göre filtrelemek için herkese açık API'ye CameraSelector#filter eklendi.
  • Mevcut yakalama isteği seçeneklerini temizlemek için Camera2CameraControl.clearCaptureRequestOptions eklendi.
  • CameraController ürününün MLKit gibi harici görüntü işleme kitaplıklarıyla kullanılması için deneysel bir API eklendi
  • Kamerasına özgü bir CameraSelector döndüren deneysel API CameraInfo#getCameraSelector() eklendi
  • Birkaç deneysel API'yi resmi herkese açık API'ler olarak kullanıma sunduk
  • @Experimental ek açıklaması, @RequiresOptIn ile deneysel API'lerle değiştirildi. Deneme amaçlı API'leri çağırmak için desteği sonlandırılan androidx.annotation.experimental.UseExperimental yerine androidx.annotation.OptIn kullanın.
  • Aşağıdaki deneysel API'leri resmi API'ler olarak tanıttık: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(),
  • @ExperimentalCameraFilter API'leri
  • deneysel pozlama telafisi API'leridir.
  • Kamera çekirdeği, kamera-yaşam döngüsü ve kamera-video için deneysel UseCaseGroup API tanıtıldı. Görüntü alanını özelleştirmek için ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection ve ViewPort.Builder#setScaleType eklendi.
  • ExperimentalUseCaseGroupLifecycle, herkese açık resmi API'lere yükseltildi.
  • Mevcut API'lerde yapılan değişiklikler
  • Renamed MediaStoreOutputOptions.getCollection-MediaStoreOutputOptions.getCollectionUri.
  • ActiveRecording, ayrıntılı açıklamaları azaltmak için "Kayıt" olarak yeniden adlandırıldı.
  • QualitySelector içerik üretici API'si, liste tabanlı bir API'ye dönüştürüldü

Hata Düzeltmeleri

  • Uzantı modu etkinleştirildiğinde ve ImageCapture#CAPTURE_MODE_MAX_QUALITY modu ayarlandığında YuvToJpegProcessor EOFException sorunu düzeltildi.
  • Sabit codec yapılandırması, video kaydı kapandığı için başarısız oldu
  • FHD'de kayıt yaparken gerilmiş önizleme/video en boy oranı düzeltildi
  • Bazı cihazlarda duraklatma ve devam ettirme işlemlerinden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi
  • Düşük ışıklı ortamlarda flaş modu otomatik veya always_on olduğunda, odaklanmak için dokunma (startFocusAndMetering) sırasında flaş tetiklenmesi sorunu düzeltildi.

Sürüm 1.1.0-rc02

1 Haziran 2022

androidx.camera:camera-*:1.1.0-rc02 yayınlanır. 1.1.0-rc02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • ImageCapture.takePicture() tarihinde NullPointerException sorunu düzeltildi. (I92366, b/230454568, b/229766155)
  • CONTROL_ZOOM_RATIO_RANGE özelliği alınırken AssertionError özelliğinin işlenmemesi sorunu düzeltildi. (Ia248a, b/231701345)

Sürüm 1.1.0-rc01

11 Mayıs 2022

androidx.camera:camera-*:1.1.0-rc01 yayınlanır. 1.1.0-rc01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • camera-video, camera-view ve camera-extension için ilk RC sürümünü yayınlama

Hata Düzeltmeleri

  • VideoCapture<Recorder>'in bağlamı kaldırıldığında video codec'inin serbest bırakılmaması ve özellikle API 21-22 cihazlarda MediaCodec.CodecException ile kayıt sırasında VideoCapture<Recorder>'in sonraki kullanımlarının başarısız olmasına neden olan sorun düzeltildi. (Ie7f68)
  • CameraExtensionsActivity ile çekilen resimlerin ImageCaptureTest'te silinmemesi sorununu düzeltme

Sürüm 1.1.0-beta03

6 Nisan 2022

androidx.camera:camera-*:1.1.0-beta03 yayınlanır. Sürüm 1.1.0-beta03 bu kaydetmeleri içerir.

API Değişiklikleri

  • CaptureRequestOptions oluşturucu kısıtlandı. (I261b6)
  • CameraController'ü harici görüntü işleme kitaplıklarıyla (ör. MLKit (I4ea71)) kullanmak için deneysel bir API eklendi

Hata Düzeltmeleri

  • Çoklu pencerede cihazlar döndürüldükten sonra etkinlik yeniden başlatılmadığında önizlemenin PreviewView'te yanlamasına dönmesi sorunu düzeltildi. (I1ea36, b/223488673)
  • (1) Diğer yüksek öncelikli uygulama farklı bir kamera açtığında (2) cihaz Samsung Android 12 cihazları olduğunda, odak uygulamaya geri döndüğünde kameranın devam etmediği ç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ı kullandığında ve ProGuard'ı etkinleştirdiğinde ortaya çıkan AbstractMethodError sorununu düzeltin. (I7cbaf, b/222726805)
  • Motorola razr 5G cihazda bulanıklık uzantısı modunu zorla devre dışı bırakmak, siyah önizleme ekranı sorununa neden olur. (I35d49)
  • API 29 öncesi bazı Samsung cihazlarda duraklatma ve devam ettirme sonrasında sesin/videonun senkronize olmaması sorunu düzeltildi. (I64622, b/202798609, b/202798572)
  • Sony G3125'te duraklatma ve devam ettirme işlemlerinden sonra ses/görüntü senkronizasyonunun bozulması sorunu düzeltildi. (I2a1a5, b/202799148)
  • Kaydedici InvalidConfigException ile karşılaştığında kilitlenme sorunu düzeltildi. Ancak bu düzeltme yalnızca uygulamanın kilitlenmesini önler, InvalidConfigException sorununun nedenini çözmez. Recorder yine de yapılandırılamazsa uygulamalar, kayıt yapmaya başladığında hata geri çağırma alır. (I89c29, b/213617227)

Harici Katkı

  • 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 yayınlanır. 1.1.0-beta02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Camera2Interop aracılığıyla fiziksel kamera kimliğini belirtme özelliğini ekleyin. (I5aed8)

Hata Düzeltmeleri

  • Oppo Find N (I7d004) cihazındaki uzatılmış önizleme sorunu düzeltildi
  • Galaxy J7 Prime'da önizlemenin bozuk görünmesiyle ilgili sorun 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 yayınlanır. 1.1.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • 1.1.0-beta01 sürümünden itibaren tüm CameraX kitaplıkları aynı sürüm numarasıyla hizalanır. Bu, geliştiricilerin sürümleri çok daha kolay izlemesine ve büyük sürüm uyumluluk matrisinin karmaşıklığını azaltmasına yardımcı olacaktır.

API Değişiklikleri

  • Mevcut yakalama isteği seçeneklerini temizlemek için Camera2CameraControl.clearCaptureRequestOptions eklendi. (Ifa07d)

Hata Düzeltmeleri

  • Android O(API 26) öncesi bazı cihazlarda video kaydedilirken karşılaşılan kilitlenme düzeltildi. (I88fdf, b/212328261)
  • Samsung cihazlarda ön kamerada cameraControl#startFocusAndMetering() kullanılırken yanlış AF bölgesi sorunu 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 başka bir yüksek öncelikli uygulama tarafından kesintiye uğradığında ve odak uygulamaya geri döndüğünde uygulamaların kamerayı devam ettirmesi etkinleştirildi. Bazı çerçeve sorunları nedeniyle, odak değişiklikleri ile kameranın yeniden açılması arasında biraz 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 yayınlanır. 1.1.0-alpha12 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • İç sınıflardan/arayüzlerden gereksiz @RequiresApi(21) ek açıklamaları 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, QualitySelector.FALLBACK_STRATEGY_LOWER ise 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ş kalite listesinin sırasını referans alır. QualitySelector.Procedure sınıfı kaldırıldı. (I43343)
  • PendingRecording.withEventListener() kaldırıldı ve etkinlik işleyicinin artık PendingRecording.start()'a iletilmesi gerekiyor. Bu etkinlik işleyici şartı, VideoRecordEvent.Finalize etkinliğinde raporlanan asenkron hataların ele alınmasını teşvik etmek içindir. (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 FLASH_AUTO modunda çekilen fotoğrafların karanlık koşullarda yeterince aydınlatılmaması sorunu düzeltildi (I13f19, b/205373142)
  • Önizlemeyi belirlemek için her zaman en son görüntü boyutunu kullanın Resolution. (I4a694)
  • REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE içermeyen kameralar filtrelendi. REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE özellikli kameralar, her kamera cihazının desteklediği minimum özellik grubuna sahiptir. REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE özelliğine sahip olmayan kamera, özel işlevleri destekleyen bir kamera olabilir ve standart renk çıkışını desteklemez. CameraX, bu kameraların Preview, ImageCapture, ImageAnalysis veya VideoCapture kullanım alanlarını destekleyemez. Bu nedenle, yanlış kullanımı önlemek için bu kameralar filtrelenmelidir. (Ib8cda)
  • CameraSelector#filter artık sonuç kümesi boş olduğunda IllegalArgumentException hatası atmıyor. (I27804)
  • Artık OEM tarafından belirtilen profillere göre kodlayıcı ayarlarını seçmek için daha akıllı sezgisel yöntemler kullanılıyor. (Iaeef0)
  • Pixel1'de UHD video kaydı başladıktan sonra sabit önizlemede aralıklı renkli çizgiler olacak. (I833c6, b/205340278)

Sürüm 1.1.0-alpha11

17 Kasım 2021

androidx.camera:camera-*:1.1.0-alpha11 yayınlanır. 1.1.0-alpha11 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • CameraSelector#filter, CameraSelector'a göre CameraInfos listesini filtrelemek için herkese açık API'ye eklendi. (I105d0)
  • ImageAnalysis yapılandırması için setOutputImageRotationEnabled API'sini ekleyin. Kullanıcı, YUV/RGB resim arabelleği için dönüşümü etkinleştirebilir. Döndürme derecesi, görüntünün ön planda kalması için sensör dönme ve hedef dönme durumuna göre hesaplanan göreli bir dönmedir.

  • ImageAnalysis yapılandırması için setExitImageRotationEnabled API'yi ekleyin. Kullanıcı, YUV/RGB resim arabelleği için dönüşümü etkinleştirebilir. Döndürme derecesi, görüntünün ön planda kalması için sensör dönme ve hedef dönme durumuna göre hesaplanan göreli bir dönmedir.

    ImageInfo'ya getSensorToBufferTransformMatrix API'sini ekleyin. Döndürülen matris, sensör koordinatlarından tampon koordinatlarına, yani CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE ile (0, 0, image.getWidth, image.getHeight) aralığındaki değer ile eşlemedir. Matris, koordinatları bir {UseCase} ile diğeri arasında eşlemek için kullanılabilir. Örneğin, ImageAnalysis ile algılanan yüzün Koordinatlarını önizlemeye eşleyebilirsiniz. (I9ff1e)

  • Fotoğraf çekerken çıkış JPEG görüntü sıkıştırma kalitesinin değiştirilmesine olanak tanımak için yeni bir API ImageCapture.Builder#setJpegQuality eklendi. (I8dcf4)

  • MediaStoreExitOptions.getCollection, MediaStoreExitOptions.getCollectionUri olarak yeniden adlandırıldı. (I16639)

Hata Düzeltmeleri

  • Flaş modu otomatik veya zayıf ışıklı bir ortamda her zaman açık olduğunda dokunarak odaklama (startFocusAndMetering) sırasında flaşın tetiklenmesi sorunu düzeltildi. (Id4c11)
  • Gecikmeyi azaltmak için MINIMIZE_LATENCY modunda Pixel 2 XL / Pixel 3 XL'de HDR+ devre dışı bırakıldı. (Ib6270, b/203505523)

Harici Katkı

Sürüm 1.1.0-alpha10

13 Ekim 2021

androidx.camera:camera-*:1.1.0-alpha10 yayınlanır. 1.1.0-alpha10 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Video için ilk alfa sürümü olarak androidx.camera:camera-video:1.1.0-alpha10 resmi olarak yayınlandı. Sonraki sürümlerde düzeltilecek bazı bilinen sorunlar vardır.

API Değişiklikleri

  • Tüm CameraX sınıflarına @RequiresApi(21) ek açıklaması eklendi ve minSdkVersion bilgisi AndroidManifest.xml dosyasından çıkarıldı. Bu sayede, camera-core, minSdkVersion değeri 21'den az olan ancak API 21 ve sonraki sürümleri kullanan kod yollarını koşullu olarak kullanmak isteyen uygulamalara kolayca entegre edilebilir. minSdkVersion 21 veya sonraki sürümleri olan uygulamalar için bu değişiklik herhangi bir işlem gerektirmez. (Ie7f2e, b/200599470)

Hata Düzeltmeleri

  • Uygulamanın, CameraCharacteristics oluşturulurken meydana gelen AssertionError hatasını düzgün bir şekilde işleyebilmesi için bir InitializationException atayın. (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ı. Sürüm 1.1.0-alpha09 bu kaydetmeleri içerir.

API Değişiklikleri

  • API'ler artık deneysel olmadığından 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çıkken/otomatik olarak fotoğraf çektikten sonra kameranın takıldığı Samsung Galaxy J5 sorunu düzeltildi (I3aab9)
  • ImageCapture için kırpma gerektiğinde, ayarlanan yakalama moduna göre kırpılan çıkış resmini belirtilen JPEG kalite seviyesiyle sıkıştırır. Kayıt modu CAPTURE_MODE_MINIMIZE_LATENCY ise JPEG sıkıştırma kalitesi 95 olur. Kayıt 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ı. 1.1.0-alpha08 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Resim 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çıklama kaldırıldı. (I17b85)

Hata Düzeltmeleri

  • Huawei P20 Lite'ta Düzeltilmiş Önizleme ekranı çok parlak. 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)
  • Flash modu FLASH_MODE_ON olarak ayarlandıktan kısa bir süre sonra fotoğraf çekilirken bazı cihazlarda flaşın çalışmaması sorunu düzeltildi. (Ieb49b)
  • VideoCapture, ImageCapture ve Önizleme bağlanmışsa fotoğraf çekerken Önizleme'nin 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. LİMİTED seviyesinin üzerindeki bir cihaz, Önizleme ve Görüntü Yakalama ile birlikte kullanıldığında ImageAnalysis için KAYIT boyutunda bir çözünürlüğü destekleyebilir. Bunun karşılığında, ImageCapture için seçilen çözünürlüğün de KAYIT boyutunda bir çözünürlük olması gerekir. ImageAnalysis için KAYIT boyutu çözünürlüğünü başarıyla seçmek amacıyla hem ImageCapture hem de ImageAnalysis'te KAYIT boyutu hedef çözünürlüğü ayarlanmalıdır. Bu, uygulamanın dengeyi net bir şekilde anladığını ve ImageAnalysis'in, MAXIMUM çözünürlükte olmasını sağlamak için ImageCapture'dan daha yüksek bir çözünürlüğe sahip olmasını tercih ettiğini gösterir. KAYDET ve MAKSİMUM boyutlarının tanımları ve daha fazla bilgi için https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture adresine bakın. KAYIT boyutu, CamcorderProfile tarafından belirlenen kamera cihazının desteklenen maksimum kayıt çözünürlüğünü ifade eder. MAKSİMUM boyut, kamera cihazının bu biçim veya StreamConfigurationMap.getExitSizes(int) hedefi için maksimum çıkış çözünürlüğünü ifade eder. (I1ee97, b/192911449)
  • Exif bilgilerini çekilen resme ekleyin. (I01ff0, b/193342619)
  • ImageCapture işlevinde, kayıt konumu Dosya ise kayıtlı resmin URI'sini döndürün. (Ib5b49, b/149241379)
  • Flaşlı çekim yapılan resimlerin birçok cihazda karanlık olması sorunu 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ü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Samsung Galaxy Note 5'te karanlık bir ortamda flaş açık/otomatik resim çekerken kameranın takılması sorunu düzeltildi (If6871)
  • Uzantı modu etkinleştirildiğinde ve ImageCapture#CAPTURE_MODE_MAX_QUALITY modu ayarlandığında ortaya çıkan 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ü bu taahhütleri içerir.

API Değişiklikleri

  • camera-core (I08ee8) için deneysel pozlama telafisi API'lerini tanıtma
  • CameraInfo API'sine, uygulamaların belirli bir FocusMeteringAction'ın mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyan isFocusMeteringSupported API'si eklendi. (Ib45ae, b/188606490)
  • Preview, ImageCapture ve ImageAnalysis için çözünürlük bilgilerini sağlamak üzere kullanıma sunulan getResolutionInfo API. (I2b613, b/188600718)
  • Aşağıdaki deneysel API'leri resmi API'ler olarak tanıttık: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
  • Bir kamera grubuna erişim sağlamak için CameraProvider arayüzünü kullanıma sundu. (I1a7b1)
  • camera-core, camera-lifecycle ve camera-video için deneysel UseCaseGroup API'yi tanıtın. Görüntü 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 serbest bırakıldı. 1.1.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Camera2CameraFilter sınıfı kaldırıldı. CameraFilter ile kamera seçmeyi önerin ve gerekirse Camera2CameraInfo aracılığıyla CameraCharacteristics veya Camera2 ile ilgili diğer bilgileri alın. (Ib887c)
  • ExperimentalCameraFilter API'ler artık deneme aşamasını tamamladı ve resmi API'ler oldu. Bunlar, ek açıklamalı tercih yapma olmadan kullanılabilir. (I4bc94)
  • CameraInfo#getCameraState() üzerinden gösterilen 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 döndürülen ListenableFuture'un bazı Android 11 cihazlarda (I716d7) tamamlanamaması sorunu düzeltildi
  • Kamera geçişini hızlandırın ve kamera cihazının hata oluşma oranını azaltın (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ü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Aynı koleksiyona eşzamanlı olarak erişen birden fazla iş parçacığının neden olduğu bir 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)
  • @Experimental ek açıklaması, @RequiresOptIn ile deneysel API'lerle 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 Galaxy S7'de flaş açık/otomatikken görüntü yakalama özelliğinin soluk görüntüler çekmesi sorunu düzeltildi. (I30001)
  • CameraInfo aracılığıyla kullanıma sunulacak bir CameraState API 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ü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Uzantı modları etkinleştirildiğinde ImageCapture#OnImageCapturedCallback için JPEG biçiminde çıkış. (I0d7b1)
  • UMIDIGI BISON cihazlarda (I57d9e, b/180818665) başlatma hatası düzeltildi
  • PreviewView'da Samsung A3'ün genişletilmiş önizlemesi 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ü bu kaydetmeleri içerir.

API Değişiklikleri

  • Kullanılabilir kameralarla ilgili bilgileri doğrudan 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, uygulamanın önceliği daha yüksek olduğunda CameraX'in kamerayı diğer kamera istemcilerinden çalmasına neden olabilir. (Iab069, b/175820568)
  • CameraXConfig'te setAvailableCamerasLimiter kullanıldığında Robolectric test hatası düzeltildi. (Ice307)
  • Bu değişiklik, ImageAnalysis'te resim kuyruğu dolduğunda istisnayı yakalar. Bu nedenle, uygulama kilitlenmek yerine diğer kullanım alanlarında donma veya yavaşlama görebilirsiniz (ör. donmuş/yavaş önizleme). (Ic12da, b/175851631)
  • Yalnızca Önizleme veya ImageCapture bağlıyken hataları bildirmesi için ExtensionsErrorListener düzeltildi. (I5ae39)
  • Resim çekmeden önce kaydedilen resmin konumunun doğrulanması kaldırılarak ImageCapture performansındaki gerileme düzeltildi. Bu değişiklikten sonra, kayıt hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtının alınması daha uzun sürer. (I1fd4e, b/177061560)
  • "Dosya" türündeki OutputFileOptions ile ImageCapture performansındaki gerileme düzeltildi. (I5164a, b/177061560)
  • Kitaplık kodundan ProcessCameraProvider.configureInstance(...) kullanmanın önerilmediği ş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 serbest bırakıldı. 1.1.0-alpha01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • SM-G930T arka kamerasında JPEG'lerde zaman zaman bozuk görüntü verileri olması sorunu için geçici çözüm eklendi. (I52001, b/159831206)
  • Tüm önizleme boyutları 640x480'ten küçük ve görüntü boyutu 640x480'ten büyük olduğunda ortaya çıkan IllegalArgumentException sorunu düzeltildi. (I2a63c, b/150506192)
  • Açıkça herkese açık kaynak belirtilmeyen (ö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 Sürüm 1.0.2

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ü bu taahhütleri içerir.

Hata Düzeltmeleri

  • MAXIMIZE_QUALITY modunda çekilen fotoğrafların bulanık olması sorunu düzeltildi. (I173a9, b/193823892)
  • Flaşla çekilen görüntünün birçok cihazda koyu renk olması sorunu düzeltildi. (I4e510)

Camera-Camera2, Camera-Core ve Camera-Lifecycle Sürüm 1.0.1

1.0.1 sürümü

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ü bu taahhütleri içerir.

Hata Düzeltmeleri

  • setZoomRatio içinde döndürülen ListenableFuture ve setLinearZoom'nin bazı Android 11 cihazlarda tamamlanamaması sorunu düzeltildi (I716d7)

  • Bazı cihazlarda kameranın kapanma durumunda takılı kalmasına ve önizlemenin siyah olmasına 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ü bu taahhütleri içerir.

1.0.0 sürümünün önemli özellikleri

  • CameraX Preview, ImageCapture ve Analysis'i destekler
  • CameraX, kullanımı kolay bir API içinde kamera yaşam döngüsünü yönetir
  • CameraX, Android kamera ekosistemindeki birçok sorunu gideren bir uyumluluk katmanı sunmayı 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ü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Samsung Galaxy S7'de flaş açık/otomatikken görüntü yakalama özelliğinin soluk görüntüler çekmesi 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ü bu taahhütleri 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ü bu taahhütleri içerir.

Hata Düzeltmeleri

  • ProcessCameraProvider#getInstance belgesindeki biçim hatası düzeltildi
  • CameraXConfig'te setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olması sorunu düzeltildi.
  • Resim çekmeden önce kaydedilen resmin konumunun doğrulanması kaldırılarak ImageCapture performansındaki gerileme düzeltildi. Bu değişiklikten sonra, kayıt hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtının alınması daha uzun sürer.
  • Bu değişiklik, ImageAnalysis'te görüntü sırası en üst düzeyde olduğunda oluşan istisnayı yakalar. Bu nedenle, kilitlenme yerine diğer kullanım alanlarının donduğunu veya yavaşladığını fark edebilirsiniz (ör. donmuş/yavaş önizleme).
  • SM-G930T arka kamerada, JPEG'lerdeki aralıklı bozuk resim verilerine yönelik geçici çözüm dahil edildi. (I52001, b/159831206)
  • Bu değişiklik, ImageAnalysis'te resim kuyruğu dolduğunda istisnayı yakalar. Bu nedenle, uygulama kilitlenmek yerine diğer kullanım alanlarında donma veya yavaşlama görebilirsiniz (ör. donmuş/yavaş önizleme). (Ic12da, b/175851631)
  • CameraXConfig'te setAvailableCamerasLimiter kullanıldığında Robolectric test hatası düzeltildi. (Ice307)
  • Resim çekmeden önce görüntünün kaydedilen konumuyla ilgili doğrulama kaldırılarak ImageCapture performans regresyonu düzeltildi. Bu değişiklikten sonra, kayıt hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtının alınması daha uzun sürer. (I1fd4e, b/177061560)
  • "Dosya" türündeki OutputFileOptions ile ImageCapture performansındaki gerileme 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 serbest bırakıldı. 1.0.0-rc02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Önizlemenin desteklendiği tüm boyutlar 640x480'den küçük, görüntü boyutu 640x480'den büyük olduğunda InvalidArgumentException sorunu düzeltildi. (b/150506192)
  • Kamerayı yeniden açma denemelerinin sayısını sınırlama. KameraX, 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 durur.I435d2

  • Tüm önizleme boyutları 640x480'ten küçük ve görüntü boyutu 640x480'ten 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ü bu taahhütleri içerir.

API Değişiklikleri

  • CameraFilter ve Camera2Filter, CameraInfo'yu alacak şekilde değiştirildi. (I6883d)
  • Camera2 API'leriyle dinamik olarak birlikte çalışılmasına olanak tanımak için 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 eklendi. (I6cf88)
  • CameraX günlükleri için minimum günlük kaydı düzeyi ayarlanabilmesi amacıyla deneysel CameraXConfig.Builder#setMinimumLoggingLevel() yöntemi eklendi. Ayarlanmazsa varsayılan olarak Log#DEBUG olur. (Ic3245)

Hata Düzeltmeleri

  • SM-G930V arka kameradaki JPEG'lerde zaman zaman bozuk görüntü verileri olması sorunu için geçici çözüm eklendi. (I5aca5, b/159831206)
  • Samsung SM-A716 cihazlarda flaş her zaman açıkken ve ortam karanlıkken fotoğraf çekerken sonuç alınamamasıyla ilgili sorun düzeltildi. (If98b2, b/172036589)
  • Preview.setSurfaceProvider(null) çağrısı yapılarak önizlemenin durdurulamaması sorunu düzeltildi. (I3ac18)
  • Bazı cihazlarda 4:3 resim çekerken görülen yön sorunu düzeltildi. (I0e3fb, b/171492111)

Kamera2, Çekirdek ve Yaşam Döngüsü 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ı. Sürüm 1.0.0-beta12 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Samsung A3 cihazlarda otomatik flaş AE moduyla fotoğraf çekerken kilitlenme sorununu düzeltmek için Samsung A3 cihazlarda otomatik flaş devre dışı bırakıldı. (Ia5fe3, b/157535165)
  • Android L (API düzeyleri 21 ve 22) çalıştıran Nexus 4 cihazlarda önizlemenin uzatılmasına neden olan sorun düzeltildi. (I4d407, b/158749159)
  • OnImageCapturedCallback#onCaptureSuccess temel sınıfı uygulama 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)
  • Deneysel ek açıklamanın androidx varyantı, Kotlin ile uyumluluk sağlamak için desteği sonlandırılmıştır. Bu parçanın yerini Gerekli OptIn ek açıklaması aldı ve Java'ya yönelik linter, hem yeni Kotlin ek açıklamasını hem de yeni androidx varyantını destekleyecek şekilde güncellendi. (I52495, b/151331381)

Camera-Camera2 Sürüm 1.0.0-beta11

14 Ekim 2020

androidx.camera:camera-camera2:1.0.0-beta11 yayınlanır. Sürüm 1.0.0-beta11 bu kaydetmeleri içerir.

Yeni Özellikler

  • Android 11 veya sonraki sürümlerin yüklü olduğu, geçerli CONTROL_ZOOM_RATIO_RANGE içeren cihazlarda yakınlaştırma için Android 11 CONTROL_ZOOM_RATIO API'yi destekler. (I62cc6)

Hata Düzeltmeleri

  • Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda ortaya çıkan NumberFormatException sorunu düzeltildi. (Ib2228)
  • CameraX başlatma vebindToLifecycle'ın (I61dc5) gecikme süresi iyileştirildi
  • Kullanım Durumlarının oluşturulması için CameraX'in başlatılması gerekmez. Uygulamaya özgü tüm yapılandırmalar, UseCase bir Camera örneğine eklendikten sonra ayarlanır. Bu örnek, herkese açık API için ProcessCameraProvider.bindToLifecycle() olur. (Ia5411)
  • Builder veya UseCase'ta bir targetRotation ayarlanmadığı sürece, bir Camera örneğine eklenmeden önce çağrılırsa <UseCase>.getTargetRotation(), Surface.ROTATION_0 döndürür. (I80fcd)

Camera-Core Sürüm 1.0.0-beta11

14 Ekim 2020

androidx.camera:camera-core:1.0.0-beta11 yayınlanır. Sürüm 1.0.0-beta11 bu kaydetmeleri içerir.

Yeni Özellikler - Android 11 veya sonraki sürümlerin geçerli CONTROL_ZOOM_RATIO_RANGE içerdiği cihazlarda yakınlaştırma için Android 11 CONTROL_ZOOM_RATIO API'yi destekler. (I62cc6)

Hata Düzeltmeleri

  • Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda ortaya çıkan NumberFormatException sorunu düzeltildi. (Ib2228)
  • UseCase oluşturma işleminin tamamlanması için CameraX'in başlatılması gerekmez. Uygulamaya özgü tüm yapılandırmalar, UseCase bir Camera örneğine eklendikten sonra ayarlanır. Bu örnek, herkese açık API için ProcessCameraProvider.bindToLifecycle() olur. (Ia5411)
  • <UseCase>.getTargetRotation(), Builder veya UseCase'da bir targetRotation ayarlanmamışsa bir Kamera örneğine eklenmeden önce çağrılırsa Surface.ROTATION_0 değerini döndürür. (I80fcd)

Camera-Core Sürüm 1.0.0-beta10

23 Eylül 2020

androidx.camera:camera-core:1.0.0-beta10 yayınlanır. 1.0.0-beta10 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Resim yakalama için dosya kaydetme hedefini doğrulamadaki hata düzeltildi (I8c565, b/167697553)

Camera-Camera2 Sürüm 1.0.0-beta10

23 Eylül 2020

androidx.camera:camera-camera2:1.0.0-beta10 yayınlanır. Sürüm 1.0.0-beta10 bu kaydetmeleri içerir.

Hata Düzeltmeleri

Camera-Camera2 Sürüm 1.0.0-beta09

16 Eylül 2020

androidx.camera:camera-camera2:1.0.0-beta09 yayınlandı. 1.0.0-beta09 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Camera2CameraInfo, statik yöntemler sağlamak yerine, oluşturulduğunda Camera2 ile ilgili bilgileri almak için 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 CameraFeatures oluşturulurken meydana gelen AssertionError hatasını sorunsuz bir şekilde işleyebilmesi için InitializationException gönderin. (I89c8c, b/160524721)
  • Pozlama Dengeleme için deneysel arayüzler eklendi (If96c7)

Camera-Core Sürüm 1.0.0-beta09

16 Eylül 2020

androidx.camera:camera-core:1.0.0-beta09 yayınlanır. 1.0.0-beta09 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • UseCaseGroup'da görüntü alanının null olmayan olarak işaretlenmesi sorunu düzeltildi. Geliştiriciler, görüntü alanı belirlemeden görüntü alanı oluşturabilmelidir. (Ie3d2e)
  • ExposureCompensation (If96c7) için deneysel arayüzler eklendi
  • Önizleme için rastgele hedef rotasyonuna izin verin. Dönüştürme bilgileri hesaplanır ve yeni bir TranformationInfoListener geri çağırması aracılığıyla anında kullanıcıya döndürülür. (I21470)

Hata Düzeltmeleri

  • Bazı cihazlarda flaş ışığının kapanmaması sorunu düzeltildi. Bu sorun, flaş modu fotoğraf çekmek için FLASH_MODE_ON olarak ayarlandığında ve flaş yandığında FLASH_MODE_OFF olarak değiştirildiğinde ortaya çıkıyordu. Belirti, fener modu etkinleştirilmiş gibidir. (Ib4451, b/162568128)
  • Uzantı efekti etkinse ve tedarikçi kitaplığı uygulamasının çıkış yüzeyinde özel bir işlem yapması gerekiyorsa PreviewView'ın TextureView kullanması zorunlu kılınır. (I0c3cc)
  • Bir etkinlik/parça bağlamı ProcessCameraProvider.getInstance(Context)'e 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'in kırpma dikdörtgeni yanlış olabilir. Bu sorun, sonraki sürümde düzeltilecektir.

Camera-Camera2 Sürüm 1.0.0-beta08

19 Ağustos 2020

androidx.camera:camera-camera2:1.0.0-beta08 yayınlanır. Sürüm 1.0.0-beta08 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • bindToLifecycle, ana iş parçacığında hızlı bir şekilde ç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 kullanan tüm sınıflar, CameraSelector yerine bir 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 boyutunun (864x480) seçildiği otomatik çözünürlük en boy oranı boyut gruplandırma sorunu düzeltildi. (I53167, b/159363774)
  • CameraControl sorununun, yarış koşulu nedeniyle çalışmadığı durumlarda düzeltilmesi (I2279f, b/152333890, b/160714166)

Kamera Çekirdeği Sürüm 1.0.0-beta08

19 Ağustos 2020

androidx.camera:camera-core:1.0.0-beta08 yayınlanır. 1.0.0-beta08 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • DisplayOrientedMeteringPointFactory, CameraSelector yerine CameraInfo örneği alır. Böylece, fabrikanın puan oluşturacağı kameraya doğrudan bir eşleme yapılır. DisplayOrientedMeteringPointFactory kullanan tüm sınıflar, CameraSelector yerine bir CameraInfo örneği de alır. (I400c1)

Hata Düzeltmeleri

  • Resim yakalama için kamera yönüne göre meta verilerdeki yatay çevirme işaretinin üzerine yazın. (I28499)
  • Context.getApplicationContext() öğesinden Uygulama nesnesi döndürmeyen bir Bağlam kullanılırken başlatma artık kilitlenmemelidir. (I3d3c9, b/160817073)

Camera-Camera2 Sürüm 1.0.0-beta07

22 Temmuz 2020

androidx.camera:camera-camera2:1.0.0-beta07 yayınlandı. 1.0.0-beta07 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Android 5.0 eski cihazlarda önizlemenin uzatılması sorunu düzeltildi. (I0c03a)
  • Bazı cihazlarda WYSIWYG sorununa neden olan, JPEG tarafından desteklenen bazı boyutlar hariç tutuldu. (Ib5128)

Kamera Çekirdeği Sürüm 1.0.0-beta07

22 Temmuz 2020

androidx.camera:camera-core:1.0.0-beta07 yayınlanır. Sürüm 1.0.0-beta07 bu kaydetmeleri içerir.

API Değişiklikleri

  • FIT_CENTER, FIT_START ve FIT_END sığdırma stilini FIT ile birleştirin. FITDöndürülen kırpma dikdörtgeninin, mümkün olan maksimum 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örtgeninin kapsadığı alanı görebilir. (I142a4)

Hata Düzeltmeleri

  • Android 5.0 eski cihazlarda önizlemenin uzatılması sorunu düzeltildi. (I0c03a)
  • Kullanım alanlarının bağlamasını kaldırırken ConcurrentModificationException istisnası sorunu düzeltildi. (I371c0)

Camera-Camera2 Sürüm 1.0.0-beta06

24 Haziran 2020

androidx.camera:camera-camera2:1.0.0-beta06 yayınlanır. 1.0.0-beta06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Kameraları kamera kimliğine ve Kamera Özelliklerine göre filtrelemek için deneysel arayüzler eklendi. (I28f61)

Hata Düzeltmeleri

  • startFocusAndMetering işlevinin 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ı sorununu düzeltme (I7a7b3)
  • PreviewView'un SurfaceView uygulaması kullanılırken tekrarlanan kamera geçişi araları önizlemesini düzeltme (I920ce)
  • Belirtilen MeteringPoint'ten hiçbiri geçerli sayaç dikdörtgenleri oluşturamazsa CameraControl#startFocusAndMetering başarısız olur. (Id53ce)

Camera-Core Sürümü 1.0.0-beta06

24 Haziran 2020

androidx.camera:camera-core:1.0.0-beta06 yayınlanır. 1.0.0-beta06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Kameraları kamera kimliğine ve Kamera Özelliklerine göre filtrelemek için deneysel arayüzler eklendi. (I28f61)

Hata Düzeltmeleri

  • CameraX artık ProcessCameraProvider#getInstance() çağrılmadan önce ProcessCameraProvider#configureInstance() ile yapılandırılabilir. Bu sayede, uygulamanın Application sınıfında CameraXConfig.Provider'ü uygulamak zorunda kalmadan CameraXConfig özelleştirilebilir. (Ia1a8d)
  • Belirtilen MeteringPoint'lerden hiçbiri geçerli ölçüm dikdörtgenleri oluşturamazsa CameraControl#startFocusAndMetering başarısız olur. (Id53ce)

Camera-Kamera2 Sürüm 1.0.0-beta05

10 Haziran 2020

androidx.camera:camera-camera2:1.0.0-beta05 yayınlanır. 1.0.0-beta05 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Telefon Rahatsız Etmeyin modundayken CameraX ilk başlatılırken uygulama başlatılırken kilitlenme sorunu düzeltildi. InitializationException, uygulamayı çökertmek yerine başlatma sonucunun ListenableFuture değerine ayarlanacak bir CameraUnavailableException içerir. (I9909a, b/149413835)
  • CONTROL_AF_STATE değerinin null olduğu cihazlarda startFocusAndMetering çağrısı yapıldığında kilitlenme sorunu düzeltildi. (Ife55e, b/157084254)

Camera-Core Sürüm 1.0.0-beta05

10 Haziran 2020

androidx.camera:camera-core:1.0.0-beta05 yayınlanır. 1.0.0-beta05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Telefon Rahatsız Etmeyin modundayken CameraX ilk başlatılırken uygulama başlatılırken kilitlenme sorunu düzeltildi. InitializationException, CameraUnavailableException içeriyorsa uygulamayı kilitlemek yerine başlatma sonucunun ListenableFuture değerine ayarlanır. (I9909a, b/149413835)

Hata Düzeltmeleri

  • setTargetResolution ve setTargetRotation için javadoc'lar güncellendi. (Iae16f)

Camera-Camera2 Sürüm 1.0.0-beta04

27 Mayıs 2020

androidx.camera:camera-camera2:1.0.0-beta04 yayınlandı. 1.0.0-beta04 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Uygulamaların, kilitlenmeye neden olmadan Camera2Interop üzerinden herhangi bir camera2 yakalama isteği parametresini ayarlamalarına izin verildi. Parametrelerin geçersiz kılınması sonucunda ortaya çıkan sorunlar olabileceğini lütfen unutmayın. Camera2Interop kullanılarak parametrelerin geçersiz kılınması durumunda kararlılık ve davranış garanti edilmez. (Ibe5a1, b/149103700)
  • Sözde yerel ayar kullanan bir cihazdaki uygulama kullanılırken otomatik başlatma sorunu düzeltildi. (I3bef3, b/154767663)
  • Ayrılan kullanım alanıyla ilgili hata günlüğü, Camera2KameraImpl üzerindeki bir hata ayıklama günlüğüne dönüştürüldü. (I1a565, b/154422490)
  • Flaşın etkinleşmesine rağmen çekilen resmin bazen çok karanlık çıkması sorunu düzeltildi. (I5d9fa, b/149729613)
  • ImageCapture kaynağından ImageProxy'teki arabelleğin geri sarılmamasına neden olan hata düzeltildi (I0c455, b/153249512)
  • Yalnızca ImageCapture'ın bağlanmasıyla ilgili sorunlar düzeltildi: (1) MAX_QUALITY ile fotoğraf çekilemedi; (2) Otomatik pozlama çalışmadığı için düşük resim kalitesi oluşturuldu. (I17782, b/145326998)
  • KameraX'in bağlantısı başka bir işlem veya kamerayı çalan kod yolu tarafından kesildiğinde kameranın yeniden açılma güvenilirliğinde artış (I1fbc3, b/153714651)

Camera-Core 1.0.0-beta04 sürümü

27 Mayıs 2020

androidx.camera:camera-core:1.0.0-beta04 yayınlanır. Sürüm 1.0.0-beta04 bu kaydetmeleri içerir.

API Değişiklikleri

  • CameraX kamera grubu tarafından dahili olarak kullanılan işleyiciyi ayarlamak için deneysel bir API (CameraXConfig.Builder#setSchedulerHandler()) ekler. CameraXConfig.Builder#setCameraExecutor() ile birlikte bu yeni API, CameraX kamera yığını tarafından kullanılan iş parçacıkları üzerinde tam kontrol sağlar. (I7bf32, b/121160431)

Hata Düzeltmeleri

  • ImageReaderProxy kapatıldıktan sonra ImageProxy'a erişildiği ImageAnalysis'te kilitlenme düzeltildi. Bu aynı zamanda, ImageReaderProxy kapatılmadan önce Analyzer tarafından alınan tüm ImageProxy işlemlerinin kapatılmasını da sağlar. (I4b299, b/145956416, b/154155377, b/156357269)
  • CameraInfo parametresi PreviewView#createSurfaceProvider()'ten kaldırıldı. PreviewView artık bu parametreyi dahili olarak SurfaceRequest'ten alıyor. (If18f0, b/154652477)
  • Uygulama, sözde yerel ayar kullanan bir cihazda kullanıldığında otomatik başlatma düzeltildi. (I3bef3, b/154767663)
  • Flaşın etkinleşmesine rağmen çekilen resmin bazen çok karanlık çıkması sorunu düzeltildi. (I5d9fa, b/149729613)
  • ImageAnalysis ile ilgili sorun giderildi. setanalyticsr/clearAnalizr için yapılan birden fazla çağrının, analiz edicinin analiz edilecek resimleri almamasına yol açması. (I6169f, b/151605317, b/153514544)
  • ImageCapture kaynağından ImageProxy'teki arabelleğin geri sarılmamasına neden olan hata düzeltildi (I0c455, b/153249512)
  • CameraManager'teki 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ından kaynaklanan aralıklı kilitlenme düzeltildi. “java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7, b/155936225)

Camera-Camera2 1.0.0-beta03 sürümü

15 Nisan 2020

androidx.camera:camera-camera2:1.0.0-beta03 yayınlanır. 1.0.0-beta03 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • camera-core sürümünün yayınlanmasını destekleyen düzeltmeler

Camera-Core 1.0.0-beta03 sürümü

15 Nisan 2020

androidx.camera:camera-core:1.0.0-beta03 yayınlandı. 1.0.0-beta03 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Beta03'ten itibaren bindToLifecycle() işlevinin sıfır UseCase ile çağrılmasının istisna atılmasına neden olduğu gerileme düzeltildi. Bu durum, UseCase bağlamadan Camera alınmasını engelledi.

Camera-Camera2 Sürüm 1.0.0-beta02

1 Nisan 2020

androidx.camera:camera-camera2:1.0.0-beta02 yayınlanır. Sürüm 1.0.0-beta02 bu kaydetmeleri 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çindeki CameraX bağımlılıkları açıkça sıralanmalıdır. Sıkı bağımlılıkların belirtilmesinin zorunlu olduğu durumlarda artık tüm CameraX bağımlılıkları derleme dosyasına dahil edilebilir. (I46e88)
  • Ekran boyutunun 640x480'den küçük olduğu cihazlarda ortaya çıkan IllegalArgumentException sorunu düzeltildi. (Ife3f2, b/150506192)
  • bindToLifecycle, yalnızca başarılı bir şekilde bağlanırsa UseCase'ı değiştirecek şekilde düzeltildi. Önceden, çözünürlük hesaplamaları yapmak için bindToLifecycle çağrılırken UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'ı güncellemesi gerekmiyor (I78d9e)

Camera-Core Sürüm 1.0.0-beta02

1 Nisan 2020

androidx.camera:camera-core:1.0.0-beta02 yayınlanır. 1.0.0-beta02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • ImageCapture tarafından üretilen ImageProxy öğesindeki ImageInfo.getRotationDegrees(), EXIF yön rotasyon değeriyle eşleşecek şekilde düzeltildi. (Id4281, b/150802561)
  • bindToLifecycle, yalnızca başarılı bir şekilde bağlanırsa UseCase'ı değiştirecek şekilde düzeltildi. Önceden, çözünürlük hesaplamaları yapmak için bindToLifecycle çağrılırken UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'ı güncellemesi gerekmiyor (I78d9e)
  • Preview.setSurfaceProvider() birden fazla kez çağrıldıktan sonra önizleme yüzeyi değiştiğinde Preview kullanım alanının yakalama oturumunun güncellenmemesi sorunu düzeltildi.

Camera-Kamera2 Sürüm 1.0.0-beta01

26 Şubat 2020

androidx.camera:camera-camera2:1.0.0-beta01 yayınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • SurfaceRequest.setSurface(Surface) SurfaceRequest.provideSurface(Surface), SurfaceRequest.setWillNotComplete() ise SurfaceRequest.willNotProvideSurface() olarak yeniden adlandırıldı. (I224fe)
  • ImageCapture.setTargetRotation() kullanılarak hedef dönüş 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ı belirleyen işaret korunarak ProGuard'ın etkin olduğu uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)

Kamera Çekirdeği Sürüm 1.0.0-beta01

26 Şubat 2020

androidx.camera:camera-core:1.0.0-beta01 yayınlandı. 1.0.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • SurfaceRequest.provideSurface()'teki ListenableFuture, Executor ve Callback ile değiştirildi. Bu, provideSurface()'te istisnaların ele alınmasını gerektirmediğinden ve provideSurface() geri çağırma işlevinin iptal edilememesini zorunlu kıldığından API'yi basitleştirir. Bunun amacı, eski cihazlarda yüzeylerin erken serbest bırakılmasından kaynaklanan kilitlenmeleri önlemektir. SurfaceRequest.Result nesnesi artık SurfaceRequest öğesinin sağlanan Surface öğesini 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önüş 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ıyı ayarlayan işareti koruyarak ProGuard etkinken uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)
  • Flash modu API'lerinin dokümanları, olası değerleri içerecek şekilde güncellendi. (I4a3ec)

Camera-Camera2 1.0.0-alpha10 sürümü

10 Şubat 2020

androidx.camera:camera-camera2:1.0.0-alpha10 yayınlanır. 1.0.0-alpha10 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Surface'ların yalnızca Camera2 tarafından kullanıldığı süre boyunca tutulmasını sağlayarak INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY cihazlarda kararlılık iyileştirmesi yapıldı. (I9dac2)
  • CONTROL_AE_TARGET_FPS_RANGE ayarı doğru şekilde yapılarak LEGACY cihazlarda düşük ışıklı önizleme sorunu düzeltildi. (1224638)

Camera-Core 1.0.0-alpha10 sürümü

10 Şubat 2020

androidx.camera:camera-core:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • ImageCapture, resimlerin Uri ve OutputStream konumlarına kaydedilmesine izin verecek şekilde güncellendi. Aşırı yüklenen takePicture yöntem tek bir yöntemde birleştirildi. Test uygulaması, standart örnek olarak Uri modunu kullanacak şekilde güncellendi. (Ia3bec)
  • Preview.PreviewSurfaceProvider, Preview.SurfaceProvider olarak yeniden adlandırıldı. SurfaceProvider'ler artık geliştiricilerin kendi ListenableFuture'lerini oluşturmasını gerektirmez ve Surface sağlama işlemi artık yeni bir SurfaceRequest nesnesi aracılığıyla gerçekleştirilir. Preview.getPreviewSurfaceProvider() yöntemi, Preview PreviewView gibi diğer sınıflarla eşleştirildiğinde hatalı kullanım olasılığı nedeniyle kaldırıldı. (I20105)
  • Preview için getTargetRotation() ve getTargetName() ekler. (Iceee7)
  • ImageAnalysis'te getTargetRotation(), getBackpressureStrategy() ve getImageQueueDepth() eklendi. (I9d6d9)
  • ImageCapture() (I5bc17) tarihinde getTargetRotation() ve getCaptureMode() eklendi
  • Daha önce ImageCapture.OnImageSavedCallback.onError() ve ImageCapture.OnImageCapturedCallback.onError() içinde iletilen bağımsız değişkenler, artık daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişken ImageCaptureException ile değiştirildi.
  • Daha önce ImageCapture.OnImageSavedCallback.onImageSaved() işlevinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2)
  • Preview ve ImageCapture sınıfları artık nihai olarak işaretlendi. (I2500b)
  • API, CameraInfo öğesinin getZoomState() ile birleştirilmesine yönelik getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() ve getLinearZoom() yöntemleriyle güncellendi. Bu yöntemler ZoomState örneği döndürür. (Ib19fe)
  • OPTION_TARGET_CLASS ve OPTION_TARGET_NAME API alanları, yalnızca dahili kitaplık kullanımına yönelik olduğundan CameraXConfig API'sinden kaldırıldı. CameraXConfig.Builder için kurucu kaldırıldı. (I96912)
  • CameraX'i başlatmak için uygulamanın Application'ü genişletmesi koşulu kaldırıldı. camera-camera2 yapısı, uygulamanın build.gradle öğesine dahil edildiği sürece CameraX artık varsayılan bir Camera2 yapılandırmasıyla başlatılacak. (I58ff5) (b/146923574)

Camera-Camera2 Sürüm 1.0.0-alpha09

22 Ocak 2020

androidx.camera:camera-camera2:1.0.0-alpha09 yayınlanır. 1.0.0-alpha09 sürümü bu taahhütleri içerir.

API değişiklikleri

  • Camera2 kamera kimliğini ayıklamak için Camera2 birlikte çalışabilirlik yolu ekleyin. Camera2CameraInfo.extractCameraId() kullanarak CameraInfo öğesinden kamera kimliğini ayıklayabilirsiniz. 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 işaretçi sınıfı gereklidir.

Camera-Core Sürüm 1.0.0-alpha09

22 Ocak 2020

androidx.camera:camera-core:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü bu taahhütleri içerir.

API değişiklikleri

  • SurfaceOrientedMeteringPointFactory parametresi useCaseForSurface, useCaseForAspectRatio olarak yeniden adlandırıldı ve referans belgeleri genişletildi.
  • FocusMeteringAction.Builder.from() yöntemleri, oluşturucularla (FocusMeteringAction.Builder()) değiştirilir.
  • DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float) kaldırıldı. Uygulamalar, Display parametresi alan ve geçerli ekranı ilettiği kurucuyu kullanmalıdır.
  • Odak ve ölçüm API'leri için MeteringMode ve 3A işaretleri ve Display parametresinin kullanımıyla ilgili Javadoc iyileştirmeleri.
  • setZoomRatio ve setLinearZoom ile ilgili referans dokümanlarını genişlettik.

Hata düzeltmeleri

  • Kameralar kapatılıp açıldığında "Ön koşul" denetimi hatasına neden olan sorunlar düzeltildi.
  • Fener ve yakınlaştırma API'leri kullanılırken oluşabilecek ConcurrentModificationException düzeltildi.
  • mod16 boyutu mevcut olduğunda istenen çözünürlüğe daha yakın çözünürlükler seçilmesi için sorun düzeltildi.
  • startFocusMetering ve cancelFocusMetering API'leri artık doğru zamanlamayla ve hataların oluştuğu durumlarda hata döndürerek dokümanlar doğrultusunda davranıyor.
  • Bu tür 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 bağlamak için yeterli çözünürlükte kırpılmamış bir boyut, mevcut olduğunda seçilecektir.

Camera-Camera2 Sürümü 1.0.0-alpha08

18 Aralık 2019

androidx.camera:camera-camera2:1.0.0-alpha08 yayınlanır. 1.0.0-alpha08 sürümü bu kaydetmeleri içerir.

Bilinen Sorunlar

  • Camera2 birlikte çalışabilirliği kullanılırken Camera2 yakalama isteği seçeneklerinin tümü çalışmaz. İstenen seçenek desteklenmiyorsa oturum başlatılamaz ve aşağıdaki 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 21 ve 22 seviyelerinde kamera döndürüldükten veya değiştirildikten sonra önizlemenin siyah ekranda gösterilmesine neden olan sorun düzeltildi.

API Değişiklikleri

  • Deneysel: Kamera kimliğini ayıklamak için camera2 birlikte çalışabilirlik yolu eklendi.

Camera-Core Sürüm 1.0.0-alpha08

18 Aralık 2019

androidx.camera:camera-core:1.0.0-alpha08 yayınlanır. 1.0.0-alpha08 sürümü bu kaydetmeleri içerir.

Bilinen Sorunlar

  • PreviewView veya CameraView kullanan uygulamalarda yanlış en boy oranı önizlemesi olabilir. Bu durum, Pixel2 gibi bazı FULL cihazlarda duraklatma veya devam ettirme işleminden sonra gerçekleşir.

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 klasörüne taşındı.

Camera-Camera2 Sürüm 1.0.0-alpha07

4 Aralık 2019

androidx.camera:camera-camera2:1.0.0-alpha07 yayınlanır. camera-camera2 sürümünün 1.0.0-alpha07 sürümü bu taahhütleri içerir

  • Camera2Config artık CameraX için Camera2 tabanlı bir uygulamayı başlatmak ve yapılandırmak amacıyla kullanılabilir. Bu özelliğin ilk başlatmada nasıl kullanılacağı hakkında 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.

Kamera Çekirdeği Sürüm 1.0.0-alpha07

4 Aralık 2019

androidx.camera:camera-core:1.0.0-alpha07 yayınlanır. camera-core'un 1.0.0-alpha07 sürümü bu taahhütleri içerir

Beta sürümüne hazırlanırken bu alfa sürümünde bazı önemli değişiklikler olacağını unutmayın. Değişiklikleri incelemenizi ve KameraX Google grubu ile ilgili geri bildirimlerinizi paylaşmanızı öneririz. Play Store'daki uygulamalarda CameraX kullanan geliştiricilerin, uygulamalarındaki kitaplığı yükseltmeden önce resmi Beta sürümünü beklemelerini öneririz.

API değişiklikleri

  • Önemli: CameraX başlatma işlemi değişti. Uygulamalar CameraXConfig.Provider'ü uygulamalı ve androidx.camera.camera2 tarafından sağlanan varsayılan Camera2Config'ı kullanmalıdır. Tipik bir kullanım şu şekildedir:

    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ı. Daha önce CameraX sınıfı çağrısı tarafından sağlanan bindToLifecycle(), unbind(), unbindAll(), isBound() ve hasCamera() artık ProcessCameraProvider aracılığıyla kullanılabilir.

  • ProcessCameraProvider işlemi başına bir örnek, tamamlandığında ProcessCameraProvider sağlayan, dinlenebilir bir gelecek döndüren statik ProcessCameraProvider.getInstance() yöntemi kullanılarak eşzamansız olarak elde edilir. Burada, tipik bir kullanım için onCreate() olarak gösterilmektedir. Başlatma gecikmesini daha sonraya ertelemek için (ör. kullanıcı işlemiyle kamera kullanıcı arayüzü açıldığında) etkinliğin yaşam döngüsünün daha sonlarına getInstance() çağrıları yerleştirebilirsiniz.

    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 bir işleyici eklenebilir. Bu sayede kamera sağlayıcı, Future.get()'da engellenmeden Future'ten 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'e yaşam döngüsü sahibi, kamera seçici ve kullanım alanları verilir. Bunlar daha sonra belirli 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)
    
  • Kullanım alanı "Config" sınıfları kaldırıldı. Bunun yerine, her kullanım alanı oluşturucuda seçenekleri ayarlayarak doğrudan kullanım alanları oluşturun. Örnek:

    preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
    
  • Önizleme kullanım alanı, Android en iyi uygulamalarını 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ın kullanılması önemle tavsiye edilir.

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • Uygulama tarafından yönetilen yüzey eklemeyle ilgili dokümanlara bakın. Bu durumlarda uygulama, platformun yaşam döngüsünü yönetir.

  • Önemli: ImageAnalysis Analiz Aracı yöntemi, kullanımı tamamlandıktan sonra alınan görüntülerde image.close() yöntemini çağırmalıdır. Aksi takdirde, geri basınç ayarına bağlı olarak yeni görüntüler alınamayabilir veya kamera duraklatılabilir. Ayrıntılar için referans belgelerine göz atın.

  • ImageAnalysis ImageReaderMode artık geri basınç stratejisi intdef olarak değiştirildi.

  • ImageProxy.getImage(), deneysel olarak işaretlenmiştir. Uygulamalar, kullanımla ilgili not eklemelidir (örneğin, @androidx.camera.core.ExperimentalGetImage aracılığıyla)

  • Analyzer için UIThread ek açıklaması şartı kaldırıldı.

  • ImageAnalysis.clearAnalyzer() işlevi, bir analizörün kaldırılması için eklenir.

  • 1'den fazla yöntemi olan dinleyiciler Geri Çağırma 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
  • Enum'ler IntDef olarak değiştirildi

  • Yakınlaştırma kontrolleri eklendi:

    • CameraControl.setLinearZoom()
    • CameraControl.setZoomRatio()
    • CameraInfo.getLinearZoom()
    • CameraInfo.getMaxZoomRatio()
    • CameraInfo.getZoomRatio()
  • Flaş/flaş donanımı olup olmadığını belirlemek için CameraInfo.hasFlashUnit() eklendi.

  • CameraInfo.isFlashAvailable() kaldırıldı. El feneri, flaş işlevini geçersiz kılar. Daha fazla bilgiyi referans belgelerinde bulabilirsiniz.

  • ImageCapture.Metadata alanları, get/set/is erişim yöntemleriyle değiştirilir.

  • startFocusMetering ve cancelFocusMetering artık çağrının eşzamansız işlevini temsil eden ListenableFutures değerini döndürüyor.

  • MeteringPoints, şu anda ölçüm işlemleri için tutma yeri olarak işlev görüyor ve fabrikalar tarafından üretiliyor. Uygulamalar, özel fabrikalar yerine mevcut fabrikaları kullanmalıdır.

Düzeltilen sorunlar

  • Devam ederken fotoğraf çekerken (önceki bir duraklatma işleminin tamamlanmayı bekleyen fotoğraflar çekildikten sonra) yaşanan sorun düzeltildi.
  • Bilinen Sorun: CameraControl.enableTorch() işlevseldir ancak flaş birimi olmasa bile döndürülen ListenableFuture<Void> her zaman anında complete(success) gelecektedir. Gelecek sürümler bu sorunu nihai davranış olarak düzeltecektir: Flash birimi olmadığında enableTorch(true) hemen başarısız olur (CaptureSession öğesine istek gönderilmez) ve TorchState Kapalı kalır.
  • Bilinen Sorun: startFocusAndMetering ve cancelFocusAndMetering, odak ölçümünü başlatıp iptal eder ancak dokümanlardaki davranışı temsil etmeyen bir completed (success) gelecek döndürür. ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() kaynağından gelen FocusMeteringResult, isFocusSuccessful() olan ve her zaman "false" olan sahte bir sonuçtur. Bu sonuç, amaçlanan ve belgelenen davranıştan farklıdır.
  • Bilinen Sorun: PreviewView dokunma etkinlikleriyle kullanılacak bir sayaç noktası fabrikası geliştiriliyor. Özel yönetilen yüzeyleri bağlayan uygulamalar şu anda mevcut ölçüm noktası fabrikalarını kullanabilir. Aksi takdirde PreviewView için dokunma odak işlevi kullanılamaz.

Camera-Camera2 ve Camera-Core Sürümü 1.0.0-alpha06

9 Ekim 2019

androidx.camera:camera-camera2:1.0.0-alpha06 ve androidx.camera:camera-core:1.0.0-alpha06 serbest bırakıldı. Bunlar, camera-camera2:1.0.0-alpha06 kapsamındaki taahhütler ve camera-core:1.0.0-alpha06 kapsamındaki taahhütlerdir.

Yeni özellikler

En boy oranlarını ayarlamayla ilgili değişiklikler:

  • setTargetAspectRatioMode() eklendi ve bir enum bağımsız değişkeni kabul eder. Bu işlem, En Boy Oranı Modu'nu rastgele bir en boy oranı yerine RATIO_4_3 veya RATIO_16_9 seçenekleriyle ayarlar. Bu, kameradan rastgele bir oran yerine yalnızca belirli en boy oranlarının sağlandığını daha iyi yansıtır.
    • Şu anda yalnızca 16:9 ve 4:3 oranları kullanılabilir. 1:1 oranında fotoğraf çekme özelliği, yalnızca belirli cihazlarda ve sınırlı çözünürlüklerde kullanılabilir. 1:1 arayüz veya işleme tasarlayan uygulamalar, daha esnek 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 ayarlanmıştır.
  • getTargetAspectRatio(), kullanım alanı yapılandırma API'lerine eklendi ve kullanım alanı çıktısının hedeflediği en boy oranını döndürür.
  • ImageCapture için setTargetAspectRatio(Rational aspectRatio) yöntemi, setTargetAspectRatioCustom(Rational aspectRatio) olarak değiştirildi. Ayarlandığında ImageCapture çıkışı buna göre kırpılır.

Yürütücü API'leri

  • Aşağıdaki işlevler, uygulamanın işlevin hangi yürütücüde çalışacağını kontrol etmesine olanak tanıyan bir yürütücü parametresi kabul eder.
    • Preview.setOnPreviewOutputUpdateListener() API'sini kullanın. Bu işlev için yürütücü yoksa 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

CameraInfo, Flaş Kullanılabilir kontrolü ve Sensor Rotasyonu API'leriyle 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öntemleri eklendi. Örnek:

    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. Bu sensör, kamera sensör yönünü cihazın doğal yönüne göre veya yüzey döndürme (doğal yöne göre yönü tanımlar) ile tanımlanan bir yöne göre ileterek kullanım kolaylığı sağlar.

API değişiklikleri ve hata düzeltmeleri

  • En Boy Oranları: Her kullanım alanı için uygulamalar yalnızca setTargetResolution() veya setTargetAspectRatio() değerini çağırmalıdır. Her ikisi de aynı oluşturucuda çağrılırsa hata döndürülür.
    • Genel olarak, uygulamanın kullanıcı arayüzü tasarımına göre setTargetAspectRatio() kullanılması önerilir. Belirli çözünürlükler, kullanım alanına göre belirlenir. Örneğin, önizleme ekran çözünürlüğüne yakın çözünürlükte olur ve resim yakalama özelliği yüksek çözünürlüklü fotoğraflar sağlar. Daha fazla bilgi için otomatik çözümler tablosuna bakın.
    • Minimum (hesaplama tasarrufu için) veya maksimum çözünürlük (ayrıntıları işlemek için) gerektiği gibi daha özel durumlarda setTargetResolution() değerini kullanın.
  • Yürütücü API'si: Kullanım alanı yapılandırma API'lerinden setCallbackHandler() çağrısı kaldırıldı. Bunun yerine, uygulamalar yürütücüyü, bir geri çağırmayı ayarlayan diğer çeşitli API'larda parametre olarak ayarlayabilir.
  • Çeşitli işlevler için boş ek açıklamaları güncellendi.
  • Kamera açılırken java.lang.IllegalStateException at Camera$StateCallback.onError hatasının oluşmasına neden olan sorun düzeltildi.
  • Uygulama daha büyük veya varsayılan çözünürlükler istediğinde çok küçük (640x480'ten küçük) çözünürlüklerin seçilmesi ve bunun da piksel piksel veya bulanık bir önizleme resmiyle sonuçlanması sorunu düzeltildi. Özellikle daha düşük çözünürlüklere ihtiyaç duyan uygulamalar açık bir şekilde bu çözünürlükleri isteyebilir.
  • Başka bir kamera uygulamasını başlatan bir intent'den döndüğünde kameranın siyah ekran göstermesi (kamera başlatılamıyor) sorunu düzeltildi.
  • Uygulamalar tekrar tekrar başlatıldığında veya durdurulduğunda aşağıdaki hatayı gösteren bir hata düzeltildi: java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
  • ImageAnalysis devre dışı bırakıldığında ortaya çıkan aşağıdaki 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ışı için ek testler eklendi.
  • Arka arkaya kamera testleri yapılırken iyileştirilmiş test sistemi sağlamlığı.

Camera-Camera2 ve Camera-Core Sürüm 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ı. Bunlar camera-camera2:1.0.0-alpha05 sürümüne dahil edilen taahhütler ve camera-core:1.0.0-alpha05 sürümüne dahil edilen taahhütlerdir.

  • API Değişikliği: Yeniden adlandırılan kullanım alanı hata değişkenleri:

    • ImageCapture.UseCaseError, ImageCapture.ImageCaptureError olarak yeniden adlandırıldı
    • VideoCapture.UseCaseError, VideoCapture.VideoCaptureError olarak yeniden adlandırıldı
  • Odaklanma için dokunma API'leriyle CameraControl API eklendi

    • KameraX'ten lense doğru seçilen bir kamera için CameraControl almak üzere API eklendi:

      CameraX.getCameraControl(LensFacing lensFacing)

    • Dokunarak Odaklanma özelliğini çalıştırmak için 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 dönüştürmeye yardımcı olan Ölçüm Noktası Fabrikaları için API'ler eklendi:

      MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView); MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);

  • Ana (UI) iş parçacığında aşağıdaki yöntemlerin çağrılmasını zorunlu kılın. Aksi halde IllegalStateException komutunu çalıştırın. Gelecekteki sürümlerde diğer mesaj dizilerinde 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 null parametreleri kabul ediyor ve ilgili alıcı işlevleri null döndürebilir.

  • AF/AE/AWB ayarlarını desteklemeyen emülatörlerde test yaparken yaşanan sorun düzeltildi.

  • Resim analiz edilirken döndürme sırasında kilitlenme hatası düzeltildi.

  • Döndürme işleminden sonra veya ön ile arka kameralar arasında geçiş yaptıktan sonra önizlemenin siyah göründüğü (kamera verisi yok) hata düzeltildi.

  • Birden fazla eşzamanlı görüntü analizi kullanım alanı için test kaldırıldı. Uyumluluğu sağlamak için uygulamalara yalnızca tek bir resim analizi kullanım alanı eklenmelidir.

  • Kamera testleri paketine sahte kamera için ilk robolectric testleri eklendi (devam eden geliştirme).

  • Kapsamı net olmadığı/yanıltıcı olduğu için Camera2Inititalizer testi kaldırıldı.

Camera-Kamera2 ve Kamera-Çekirdek Sürümü 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ü bu taahhütleri 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, CameraX'in ilk hedefi olarak bir çekim oturumu başlatmak için cihazın kapasitesine göre çözünürlük/en boy oranı konusunda ödün vermesi anlamına gelir. Bu nedenle, tam isteklerin karşılanması mümkün olmayabilir. Bunun nedeni aşağıdakilerden biri olabilir:

  • İstenen çözünürlüğü desteklemeyen cihazlar
  • Doğru şekilde çalışması için belirli çözünürlüklerin kullanılması gereken KALEİDİK cihazlarda olduğu gibi 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 adresine göz atın.

CameraX oturumu oluşturup yönetse de kodunuzdaki kullanım alanı çıkışında döndürülen resim boyutlarını her zaman kontrol etmeniz ve buna göre ayarlama yapmanız gerekir.

API'yi daha net hale getirmek amacıyla çözünürlük ve en boy oranını ayarlamayla ilgili bazı değişiklikler yapıldı:

  • Ayarlanmamışsa önizleme kullanım alanının varsayılan en boy oranının artık 4:3 olduğu kabul edilir.
  • CameraX, istenen çözünürlük ve en boy oranlarında cihazın kapasitesine göre yapılan değişiklikleri dahili olarak değerlendirirken önce aynı en boy oranını (setTargetAspectRatio veya setTargetResolution çağrılarından herhangi biri tarafından belirlenir) korumaya çalışır.
  • Çözünürlüğün "En yakın mod16" sürümü aynı en boy oranı olarak kabul edilir.

ImageAnalysis Engellemesiz Modu

  • ImageReaderMode.ACQUIRE_LATEST_IMAGE davranışı artık engelleyici değil. Sırayla en son görüntüyü alır ancak kamera ardışık düzeninin tıkanmasını önlemek için kullanılmayan görüntüleri sürekli olarak atar.
  • Analizör, ardışık düzeni duraklatmadan tek bir görüntüyü süresiz olarak tutabilir.
  • Uygulama, daha sonra engelleyen bir yürütücü sağlarsa ImageAnalysis kullanım örneği engellenir.
  • Varsayılan yürütücü grubu, dahili olarak engellemeyen bir yürütücü gibi davranır.

Hata Düzeltmeleri

  • Otomatik odaklama, otomatik pozlama ve otomatik beyaz dengesi olmayan cihazlarda resim çekerken 3A yakınsmasını bekleyen zaman aşımı sorunları düzeltildi
  • ImageCapture ile hızlı bir şekilde resim çekerken yaşanan sorun düzeltildi. Şu hatayı düzeltir: java.lang.IllegalStateException: maxImages (2) has already been acquired
  • Bir kullanım alanı için setLensFacing çağrılmadığında java.lang.IllegalArgumentException: Unable to get camera ID for use case sonucuna yol açan sorun düzeltildi.
  • LEGACY cihazda maksimum JPEG çözünürlüğü olarak belirli bir en boy oranı kullanılmasıyla ilgili sorun düzeltildi
  • Kamera açılırken uygulamayı arka plana aldığınızda oluşan sorun düzeltildi
  • API'de 25'ten eski sürümlerde checkAndUpdateEglState: invalid current EGLDisplay hatası kaldırılarak sorun düzeltildi
  • Uzantılar etkinleştirilip çalıştırıldıktan sonra önizlemenin bağlamı kaldırılırken yaşanan sorun düzeltildi
  • camera-view ve camera-extensions için yapı yapıları artık alfa sürümleri olarak yayınlanıyor

Camera-Kamera2 ve Kamera-Çekirdek Sürümü 1.0.0-alpha03

2 Temmuz 2019

androidx.camera:camera-core:1.0.0-alpha03 ve androidx.camera:camera-camera2:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • setTarget yapılandırma çağrılarında "target" için javadoc açıklaması eklendi

Kamera Çekirdeği

  • Hızlı açma/kapatma veya bağlama/bağlantıyı kaldırma sırasında yapılandırılmamış Giriş/Çıkış Yüzeyi kilitlenmesi düzeltildi
  • Yeni Futures uygulamalarına geçiş
  • Daha güçlü 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ı, önceki işlemin tamamlanmasını bekleyerek görüntü yakalar ve kararlılığı iyileştirir

Uzantılar

  • Sürüm oluşturma kontrolleri eklendi
  • Ek test kapsamı: Uzantı etkinliği geri aramaları
  • Dahili olarak eşleşen resim ve meta verilerle ilgili iyileştirmeler
  • Test uygulamasında mod geçişiyle ilgili düzeltmeler

Camera-Camera2 ve Camera-Core Sürüm 1.0.0-alpha02

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ü bu taahhütleri içerir.

Hata düzeltmeleri

  • Emülatör kullanılırken sıfıra bölme sorunu düzeltildi
  • Hızlı bir şekilde fotoğraf çekerken kullanım alanlarını hızla bağlarken ve yeniden birleştirirken bazı cihazlarda ortaya çıkan NullPointerException/Surface kilitlenme hatası düzeltildi.
  • Yakalama isteği güncellemelerinin tüm yüzeyleri tutarlı bir şekilde etkilemesini sağlamak için dahili sorun düzeltildi
  • Yeni uygulama örneklerinde kullanım alanlarını yeniden başlatırken istikrar iyileştirmeleri
  • API'deki yürütücüleri desteklemeye hazırlanmak için dahili mimari değişiklikleri
  • CameraX sınıfı ve yaşam döngüsü yönetimiyle ilgili ek Javadoc açıklamaları
  • Antelope performans testi uygulaması için araçla test eklendi
  • Uygulama Proguard yapılandırmasında "-keepattributes Signature" ihtiyacını ortadan 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ü bu taahhütleri içerir.

Kamera-Yaşam Döngüsü Sürüm 1.0.0-beta11

14 Ekim 2020

androidx.camera:camera-lifecycle:1.0.0-beta11 yayınlanır. 1.0.0-beta11 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Builder veya UseCase'ta bir targetRotation ayarlanmadığı sürece, bir Camera örneğine eklenmeden önce çağrılırsa <UseCase>.getTargetRotation(), Surface.ROTATION_0 döndürür. (I80fcd)

Camera-Lifecycle Sürüm 1.0.0-beta10

23 Eylül 2020

androidx.camera:camera-lifecycle:1.0.0-beta10 yayınlanır. 1.0.0-beta10 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

Kamera-Yaşam Döngüsü Sürüm 1.0.0-beta09

16 Eylül 2020

androidx.camera:camera-lifecycle:1.0.0-beta09 yayınlanır. 1.0.0-beta09 sürümü bu taahhütleri içerir.

Camera-Lifecycle Sürüm 1.0.0-beta08

19 Ağustos 2020

androidx.camera:camera-lifecycle:1.0.0-beta08 yayınlandı. Sürüm 1.0.0-beta08 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Context.getApplicationContext() kaynağından bir Application nesnesi döndürmeyen bir Context kullanıldığında artık başlatma kilitlenmeyecek. (I3d3c9, b/160817073)

Camera-Lifecycle Sürüm 1.0.0-beta07

22 Temmuz 2020

androidx.camera:camera-lifecycle:1.0.0-beta07 yayınlanır. 1.0.0-beta07 sürümü bu taahhütleri içerir.

Camera-Lifecycle Sürüm 1.0.0-beta06

24 Haziran 2020

androidx.camera:camera-lifecycle:1.0.0-beta06 yayınlanır. 1.0.0-beta06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Artık CameraX, ProcessCameraProvider#getInstance() çağrılmadan önce ProcessCameraProvider#configureInstance() ile yapılandırılabilir. Bu sayede, uygulamanın Application sınıfında CameraXConfig.Provider'ın uygulanması gerekmeden CameraXConfig özelleştirilebilir. (Ia1a8d)

Camera-Lifecycle Sürüm 1.0.0-beta05

10 Haziran 2020

androidx.camera:camera-lifecycle:1.0.0-beta05 yayınlanır. 1.0.0-beta05 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Telefon Rahatsız Etmeyin modundayken CameraX ilk başlatılırken uygulama başlatılırken kilitlenme sorunu düzeltildi. CameraUnavailableException içeren InitializationException, uygulamayı kilitlenmek yerine başlatma sonucunun ListenableFuture değerine ayarlanacak. (I9909a, b/149413835)

Camera-Lifecycle Version 1.0.0-beta04

27 Mayıs 2020

androidx.camera:camera-lifecycle:1.0.0-beta04 yayınlanır. Sürüm 1.0.0-beta04 bu kaydetmeleri içerir.

Camera-Lifecycle Version 1.0.0-beta03

15 Nisan 2020

androidx.camera:camera-lifecycle:1.0.0-beta03 yayınlanır. Sürüm 1.0.0-beta03 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Sıfır UseCase ile bindToLifecycle() çağrısının atılan istisnaya neden olacağı, beta03'ten elde edilen regresyon düzeltildi. Bu durum, UseCase bağlamadan Camera alınmasını engelledi.
  • camera-core yayınını desteklemek için düzeltmeler

Camera-Lifecycle 1.0.0-beta01 sürümü

26 Şubat 2020

androidx.camera:camera-lifecycle:1.0.0-beta01 yayınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Başlatma sırasında ProcessCameraProvider elde edilirken varsayılan bir yapılandırma kullanıldığını ve Application'un genişletilmesinin isteğe bağlı olduğunu belirtmek için dokümanlar düzeltildi. (I5e395)

Kamera-Yaşam Döngüsü Sürümü 1.0.0-beta02

1 Nisan 2020

androidx.camera:camera-lifecycle:1.0.0-beta02 yayınlanır. 1.0.0-beta02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • camera-camera2:1.0.0-beta02 ve camera-core:1.0.0-beta02 yapılarındaki hata düzeltmelerini desteklemek için güncellendi.

Camera-Lifecycle 1.0.0-alpha10 sürümü

10 Şubat 2020

androidx.camera:camera-lifecycle:1.0.0-alpha10 yayınlanır. 1.0.0-alpha10 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • BindToLifecycle, unbind ve unbindAll yöntemlerine @MainThread ek açıklaması eklendi. (I990d2)

Camera-Lifecycle Sürümü 1.0.0-alpha03

22 Ocak 2020

androidx.camera:camera-lifecycle:1.0.0-alpha03 yayınlanır. 1.0.0-alpha03 sürümü bu taahhütleri içerir.

Güncellemeler

  • Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler.

Camera-Lifecycle Sürüm 1.0.0-alpha02

18 Aralık 2019

androidx.camera:camera-lifecycle:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu taahhütleri içerir.

Bağımlılık değişiklikleri

  • androidx.camera:camera-core:1.0.0-alpha08 olarak güncellendi.

Camera-Lifecycle Sürümü 1.0.0-alpha01

4 Aralık 2019

androidx.camera:camera-lifecycle:1.0.0-alpha01 yayınlanır. camera-lifecycle'ın 1.0.0-alpha01 sürümü bu taahhütleri içerir

API notları

  • LifeCycleCameraProvider arayüzünü sağlayan camera-lifecycle yapıları ve önceki CameraX sınıfının temelindeki işlevlerin çoğunu sağlayan ve getInstance() yöntemi aracılığıyla elde edilen ProcessCameraProvider adlı bir uygulama eklenir.
  • Uygulamaların, CameraX'i kullanabilmesi için kamera yaşam döngüsü kitaplığını içermesi gerekir.
  • KameraX'i ProcessCameraProvider kullanarak başlatma işleminin nasıl gerçekleştirileceğini öğrenmek için kamera çekirdeği bölümündeki notlara bakın.

Camera-Extensions ve Camera-View 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 serbest bırakıldı. 1.0.0-alpha32 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Dahili sınıflardan/arayüzlerden gereksiz @RequiresApi(21) ek açıklamaları kaldırıldı. (I8e286, b/204917951)
  • camera-extensions yapısını içeren API dosyalarını güncelleyin. (If683a, b/161377155)

Hata Düzeltmeleri

  • VideoCapture bağlarken uygulamanın uzantı modlarını etkinleştirmesine izin vermeyin. CameraX uzantıları yalnızca ImageCapture ve Preview'i destekler. VideoCapture henüz desteklenmiyor. Uygulama VideoCapture'e bağlanırsa ve herhangi bir uzantı modunu etkinleştirirse bir IllegalArgumentException atılır. (I0d87b)
  • CameraSelector#filter artık sonuç kümesi boş olduğunda IllegalArgumentException hatası atmıyor. (I27804)
  • ExtensionsManager#getInstance API, ListenableFuture döndürdüğünden getInstanceAsync olarak yeniden adlandırıldı. İşlev adının eşzamansız soneki, bunun eşzamansız bir işlev olduğunu açıkça gösterebilir. (I279d2)
  • Kullanıcılar ImageCapture kullanım alanı için hangi boyutların desteklendiğini bilemez ve döndürülen gecikmeli bilginin maksimum yakalama çıkış boyutu için mi yoksa giriş çözünürlüğü parametresi için mi olduğunu ayırt edemez. Bu nedenle, çözünürlük parametresi ExtensionsManager#getEstimatedCaptureLatencyRange API'den kaldırıldı. (I74bb2)
  • ExtensionsManager işlevlerinin CameraProvider parametresini getInstance() API'ye taşıyın. Böylece kullanıcıların ExtensionsManager işlevlerini çağırırken her seferinde CameraProvider parametresini girmesi 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ı. 1.0.0-alpha31 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • CameraSelector#filter, CameraSelector'a göre CameraInfos listesini filtrelemek için herkese açık API'ye eklendi. (I105d0)

Hata Düzeltmeleri

  • Belirli cihazlarda uzantı modu arasında hızlı bir şekilde geçiş yaparken 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ü bu taahhütleri içerir.

API Değişiklikleri

  • Tüm CameraX sınıflarına @REQUIREDsApi(21) ek açıklaması eklendi ve AndroidManifest.xml'den minSdkVersion çıkarıldı. Bu sayede, camera-core, minSdkVersion değeri 21'den az olan ancak API 21 ve sonraki sürümleri kullanan kod yollarını koşullu olarak kullanmak isteyen uygulamalara kolayca entegre edilebilir. minSdkVersion 21 veya sonraki sürümleri hedefleyen uygulamalar için bu değişiklikle ilgili herhangi bir işlem yapılması gerekmez. (Ie7f2e, b/200599470)

Hata Düzeltmeleri

  • ProGuard etkinleştirildiğinde ortaya çıkan 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 serbest bırakıldı. 1.0.0-alpha29 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • API'ler artık deneysel olmadığından ExperimentalUseCaseGroup ek açıklaması kaldırıldı. (I01ef5)
  • RotationProvider#removeAllListeners() öğesini kaldır Lütfen bunun yerine RotationProvider#removeListener(...) kullanın. (Id9d4a)
  • RotationReceiver sınıfı güncellendi: Listener'ı ekle/kaldır/hepsini kaldır olarak ayarlama/temizlemeyi değiştirin, varsayılan olarak ana iş parçacısını kullanan setListener varyantını kaldırın ve yöntemlerin ek açıklamalarını ekleyin. (Ib1669)

Hata Düzeltmeleri

  • Uzantı modu tarafından yapılan işlemi doğru şekilde sunmak 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ı. 1.0.0-alpha28 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • API'ler artık deneysel olmadığı için ExperimentalUseCaseGroupLifecycle ek açıklama kaldırıldı. (I17b85)
  • RotationListener yeniden yapılandırıldı ve RotationProvider olarak yeniden adlandırıldı. Bu API, biraz farklı bir API ile aynı özelliği sunmaya devam eder. (Idffc5)
  • TAP_TO_FOCUS_UNSUCCESSFUL öğesini TAP_TO_FOCUS_NOT_FOCUSED ve TAP_TO_FOCUS_SUCCESSFUL öğesini TAP_TO_FOCUS_FOCUSED olarak yeniden adlandırın. OutputSize'i nihai hale getirdi (I099fa)

Hata Düzeltmeleri

  • Desteği sonlandı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ü bu taahhütleri içerir.

API Değişiklikleri

  • Görünüm alanı API'si, deneysel sürümden kaldırıldı. API'nin deneysel ek açıklamasını kaldırın. (I717ea)
  • CoordinateTransform#getTransform, CoordinateTransform#transform olarak yeniden adlandırıldı ve JavaDoc güncellendi (I864ae)

Hata Düzeltmeleri

  • Oluşturma kullanıcı arayüzüyle birlikte kullanıldığında PreviewView PERFORMANCE modunun uzamasıyla ilgili sorun 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ü bu kaydetmeleri içerir.

API Değişiklikleri

  • En son dokunarak odaklama sonucunu gösteren yeni bir yöntem (CameraController#getTapToFocusState()) ekleyin. (Iaccb0)
  • CameraController'a kamerayla ilgili daha fazla özellik ekleme: hedef en boy oranı, hedef çözünürlük, yakalama modu, CameraControl ve özel yürütücüler için alıcı/değiştirici. (Iea8f2)
  • Surface rotasyon 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)
  • Desteği sonlandırılan ExtensionsErrorListener. Şu anda bu arayüz yalnızca uzantı modları etkinleştirilirken bir Önizleme veya ImageCapture'nin eksik olup olmadığını izlemek için kullanılmaktadır. CameraX, uzantı işlevlerinin düzgün çalışmasını sağlamak için otomatik olarak ek bir önizleme veya resim yakalama işlemi ekler. Bu tarihten sonra bu arayüz üzerinden hata bildirilmez. (I47d9e)
  • Yeni ExtensionsManager getInstance, isExtensionAvailable ve getExtensionEnabledCameraSelector herkese açık API'lerini kullanıma sundu ve eski <EffectName><UseCase>Extender sınıflarını ve ilgili API'leri kullanımdan kaldırdı. (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ü bu taahhütleri içerir.

API Değişiklikleri

  • ExperimentalCameraFilter API'leri artık deneme aşamasını tamamladı ve resmi API'ler oldu. Bunlar, ek açıklamalı tercih yapma olmadan kullanılabilir. (I4bc94)
  • Koordinatları kullanım alanları arasında dönüştüren bir yardımcı program ekleyin. Örnek kullanım: 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şlemi hakkında bilgi edinmek 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ü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Deneysel API'lerde @Experimental ek açıklama @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 (Ib10b6) Önizleme Görünümü'nün uzaması sorunu düzeltildi

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ü bu taahhütleri içerir.

API Değişiklikleri

  • CameraView desteği sonlandırılıyor. Lütfen bunun yerine LifecycleCameraController kullanın. Taşıma kılavuzuna (Idac2c) bakın.
  • setLinearZoom() işlevine FloatRange ek açıklama eklendi (I69971)

Hata Düzeltmeleri

  • Kamera görünümü bağımlılıkları 1.0.0 yapılarına bağlı olacak şekilde sabitlendi. camera-view'e bağlı olmak artık gradle'in bağımlılık çözümlemesinin camera-core, camera-camera2 ve camera-lifecycle'u en son 1.1.0 yapılarına otomatik olarak yükseltmesine neden olmayacak. Ancak camera-view, 1.1.0 sürümü kullanılacak şekilde açıkça ayarlanmışsa bu yapılarla uyumlu olmaya devam eder. (Ic8fa1, b/181599852)
  • Önizleme görünümünde Samsung A3'ün gerilmiş önizlemesi düzeltildi. (Iacb30, b/180121821)
  • Kamera, başlatılmadan önce kamera seçicinin ayarlanamaması sorunu düzeltildi. (Ic8bd0)

Kamera Uzantıları ve Görüntü 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ü bu kaydetmeleri içerir.

API Değişiklikleri

Hata Düzeltmeleri

  • Yalnızca Önizleme veya ImageCapture bağlıyken hataları bildirmesi için ExtensionsErrorListener düzeltildi. (I5ae39)

Kamera Uzantıları ve Görünümü 1.0.0-alpha21 sürümü

27 Ocak 2021

androidx.camera:camera-extensions:1.0.0-alpha21 ve androidx.camera:camera-view:1.0.0-alpha21 serbest bırakıldı. 1.0.0-alpha21 sürümü bu taahhütleri içerir.

Diğer kamera kitaplığı yapıları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ı. 1.0.0-alpha20 sürümü bu taahhütleri içerir.

Diğer kamera kitaplığı yapılarını desteklemek için yayınlandı.

Camera-Extensions ve Camera-View 1.0.0-alpha19 sürümü

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ü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Kamera görünümüne @ExperimentalVideo ek açıklaması eklendi. Bu ek açıklama, özellikler tam olarak geliştirildiğinden değişebilecek deneysel video işlevini açığa çıkaran API'leri işaret eder. Bu API'leri kullanan tüm yöntemler, markerClass olarak ExperimentalVideo ile @UseExperimental ek açıklamasını kullanmalıdır. (I6d729)

Camera-Extensions Sürüm 1.0.0-alpha18

14 Ekim 2020

androidx.camera:camera-extensions:1.0.0-alpha18 yayınlanır. 1.0.0-alpha18 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • CameraX'in başlatılması ve bindToLifecycle'in gecikmesi iyileştirildi (I61dc5)
  • Builder veya UseCase'ta bir targetRotation ayarlanmadığı sürece, bir Camera örneğine eklenmeden önce çağrılırsa <UseCase>.getTargetRotation(), Surface.ROTATION_0 döndürür. (I80fcd)

Kamera Görünümü Sürümü 1.0.0-alpha18

14 Ekim 2020

androidx.camera:camera-view:1.0.0-alpha18 yayınlanır. 1.0.0-alpha18 sürümü bu kaydetmeleri içerir.

Diğer kamera kitaplığı yapılarını desteklemek için yayınlandı.

Camera-Extensions Sürüm 1.0.0-alpha17

23 Eylül 2020

androidx.camera:camera-extensions:1.0.0-alpha17 yayınlanır. 1.0.0-alpha17 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

Kamera Görünümü Sürümü 1.0.0-alpha17

23 Eylül 2020

androidx.camera:camera-view:1.0.0-alpha17 yayınlanır. 1.0.0-alpha17 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

Kamera Uzantıları Sürüm 1.0.0-alpha16

16 Eylül 2020

androidx.camera:camera-extensions:1.0.0-alpha16 yayınlanır. 1.0.0-alpha16 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Kamera örneklerinde uzantıları etkinleştirmek ve sorgulamak için kullanılan bir Extensions nesnesi almak üzere ExtensionsManager içine yöntem eklendi (I4fb7e)

Kamera Görünümü Sürümü 1.0.0-alpha16

16 Eylül 2020

androidx.camera:camera-view:1.0.0-alpha16 yayınlanır. 1.0.0-alpha16 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • PreviewView#setDeviceRotationForRemoteDisplayMode() ve PreviewView#getDeviceRotationForRemoteDisplayMode() kaldırıldı. Bu iki yöntem, istenen rotasyon ekran rotasyonu olmadığında (ör. uzaktan ekran) önizleme rotasyonunu özelleştirmek için kullanılır. Görüntüleme dışı önizleme rotasyonunu şimdi yönetmek 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 PreviewView'un TextureView'u kullanması zorunlu kılındı. (I0c3cc)
  • Önizleme için rastgele hedef rotasyonuna izin verin. Dönüşüm bilgileri, yeni bir TranformationInfoListener geri çağırma işlevi aracılığıyla anında hesaplanır ve 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 yanlışlıkla PreviewView#onTouchEvent() tarafından tüketiliyor. Sorun sonraki sürümde düzeltilecektir.
  • ViewPort, PreviewView ile birlikte kullanılırsa PreviewView#getMeteringPointFactory() adresinden alınan MeteringPoint yanlış olabilir.

Kamera Uzantıları Sürüm 1.0.0-alpha15

19 Ağustos 2020

androidx.camera:camera-extensions:1.0.0-alpha15 yayınlandı. 1.0.0-alpha15 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • ExtensionsManager.init() yöntemi artık 0 bağımsız değişken yerine parametre olarak bir Context alıyor. (Ife754)
  • Context.getApplicationContext() öğesinden Uygulama nesnesi döndürmeyen bir Bağlam kullanılırken başlatma işlemi artık kilitlenmemelidir. (I3d3c9, b/160817073)

    Kamera Görünümü Sürümü 1.0.0-alpha15

    19 Ağustos 2020

androidx.camera:camera-view:1.0.0-alpha15 yayınlanır. 1.0.0-alpha15 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • DisplayOrientedMeteringPointFactory, CameraSelector yerine CameraInfo örneği alır. Böylece, fabrikanın puan oluşturacağı kameraya doğrudan bir eşleme yapılır. DisplayOrientedMeteringPointFactory kullanan tüm sınıflar da CameraSelector yerine CameraInfo örneğini alır. (I400c1)
  • TextureViewMeteringPointFactory kaldırıldı. PreviewView, TextureView veya SurfaceView kullanılıp kullanılmadığından bağımsız olarak bir ölçüm noktası fabrikası oluşturmak için herkese açık bir API (createMeteringPointFactory()) sağlar. (Ide693)
  • PreviewView'ın 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)
  • Resim yakalama için kamera yönüne göre meta verilerdeki yatay çevirme işaretinin üzerine yazın. (I28499)

Camera-Extensions Sürüm 1.0.0-alpha14

22 Temmuz 2020

androidx.camera:camera-extensions:1.0.0-alpha14 yayınlandı. 1.0.0-alpha14 sürümü bu taahhütleri içerir.

Camera-View Sürümü 1.0.0-alpha14

22 Temmuz 2020

androidx.camera:camera-view:1.0.0-alpha14 yayınlanır. 1.0.0-alpha14 sürümü bu kaydetmeleri içerir.

Camera-Extensions Sürüm 1.0.0-alpha13

24 Haziran 2020

androidx.camera:camera-extensions:1.0.0-alpha13 yayınlanır. 1.0.0-alpha13 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Kameraları kamera kimliğine ve CameraCharacteristics özelliğine göre filtrelemek için deneysel arayüzler eklendi. (I28f61)

Kamera Görünümü Sürümü 1.0.0-alpha13

24 Haziran 2020

androidx.camera:camera-view:1.0.0-alpha13 yayınlanır. 1.0.0-alpha13 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • CameraView, yaşam döngüsü bağlandıktan kısa bir süre sonra DESTROYED durumuna geçen bir LifecycleOwner'a bağlanırken artık IllegalArgumentException hatasıyla kilitlenmiyor. Yaşam Döngüleri, DESTROYED (KALDI) durumundaki bağlama, kamerayı açmayı denemez. (I7c2b8)
  • PreviewView StreamState artık CameraView.getPreviewStreamState() aracılığıyla kullanılabilir (I21a2b)

Kamera Uzantıları Sürüm 1.0.0-alpha12

10 Haziran 2020

androidx.camera:camera-extensions:1.0.0-alpha12 yayınlanır. 1.0.0-alpha12 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Telefon Rahatsız Etmeyin modundayken CameraX ilk başlatılırken uygulama başlatılırken kilitlenme sorunu düzeltildi. InitializationException, CameraUnavailableException içeriyorsa uygulamayı kilitlemek yerine başlatma sonucunun ListenableFuture değerine ayarlanır. (I9909a, b/149413835)

Kamera Görünümü 1.0.0-alpha12 sürümü

10 Haziran 2020

androidx.camera:camera-view:1.0.0-alpha12 yayınlanır. 1.0.0-alpha12 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Önizleme yüzeyinde görüntülenen içeriğin Bitmap temsilini döndüren PreviewView#getBitmap() API'yi ekleyin. (I9b500, b/157659818)

Kamera Uzantıları Sürüm 1.0.0-alpha11

27 Mayıs 2020

androidx.camera:camera-extensions:1.0.0-alpha11 yayınlanır. 1.0.0-alpha11 sürümü bu taahhütleri içerir.

Kamera Görünümü 1.0.0-alpha12 sürümü

10 Haziran 2020

androidx.camera:camera-view:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

API Değişiklikleri

Hata Düzeltmeleri

  • Önizleme yüzeyinde görüntülenen içeriğin bit eşlem gösterimini döndüren PreviewView#getBitmap() API'si ekleyin. (I9b500, b/157659818)

Kamera Görünümü Sürüm 1.0.0-alpha11

27 Mayıs 2020

androidx.camera:camera-view:1.0.0-alpha11 yayınlanır. 1.0.0-alpha11 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Uygulamaların, önizlemenin akışta olup olmadığını gözlemlemesine olanak tanıyan PreviewView#getPreviewStreamState API'yi ekleyin. Önizleme Görünümü TEXTURE_VIEW modundayken STREAMING durumu, önizleme resminin görünür olmasını da sağlar. (Ic0906, b/154652477)
  • Uygulama uzak görüntüleme modunda çalışıyorsa dönüşüm hesaplamaları için cihaz dönüşünü sağlamak üzere PreviewView#setDeviceRotationForRemoteDisplayMode() API eklendi. (I59b95, b/153514525)

Hata Düzeltmeleri

  • Android 7.0 ve önceki sürümleri çalıştıran FULL/LIMITED/LEVEL_3 kameradaki önizlemede bozulma sorunu düzeltildi. Android sürümü 7.0 veya daha eski olduğunda ImplementationMode#TEXTURE_VIEW modunu zorunlu kullanım. (I83e30, b/155085307)
  • CameraInfo parametresi PreviewView#createSurfaceProvider()'ten kaldırıldı. PreviewView artık bu parametreyi dahili olarak SurfaceRequest'ten alıyor. (If18f0, b/154652477)
  • VideoCapture'ın varsayılan en boy oranı, CameraView'da 16:9 olarak düzeltildi. (Ie6a7b, b/153237864)
  • Preview fragmanı kaydırıldığında ve ardından ViewPager2'de geri kaydırıldığında PreviewView siyah ekran sorunlarını düzeltin. Ayrıca, removeView(previewview) ve ardından addView(previewView) olduğunda ortaya çıkan sorun da düzeltildi. (Iab555, b/149877652, b/147354615)
  • Resimlerin Uri ve OutputStream'ye kaydedilmesine izin vermek için CameraView#takePicture() API'yi güncelleyin. Test uygulamasını, standart örnek olarak Uri kullanacak şekilde güncelleyin. (Ia2459, b/153607583)
  • ScaleType özelliğini ayarlayarak PreviewView'ın ö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ünü ayarlamak/almak için PreviewView.ScaleType kullanın. (Ia8974, b/153014831)
  • PreviewView'ye varsayılan olarak arka plan rengi verin (varsa). Bu sayede, önizleme akışı başlamadan önce arkasındaki içeriğin görünmesi engellenir. (I09fad)

Camera-Extensions 1.0.0-alpha10 sürümü

15 Nisan 2020

androidx.camera:camera-extensions:1.0.0-alpha10 yayınlanır. 1.0.0-alpha10 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Camera-Core'un yayınlanmasını destekleyen düzeltmeler

Camera-View 1.0.0-alpha10 sürümü

15 Nisan 2020

androidx.camera:camera-view:1.0.0-alpha010 yayınlanır. 1.0.0-alpha010 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • PreviewView'ın surfaceView uygulamasının belirli cihazlarda düzgün çalışmadığı ve önizleme devam ettirildikten sonra uygulamanın kilitlenmesine neden olduğu bilinen bir sorun düzeltildi. (I5ed6b)

Camera-Extensions Sürüm 1.0.0-alpha09

1 Nisan 2020

androidx.camera:camera-extensions:1.0.0-alpha09 yayınlanır. 1.0.0-alpha09 sürümü bu taahhütleri içerir.

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 Sürümü 1.0.0-alpha09

1 Nisan 2020 androidx.camera:camera-view:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü bu taahhütleri içerir.

Bilinen Sorunlar

  • ImplementationMode.SURFACE_VIEWPreviewView ile kullanmak belirli 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ı, yeniden başlatıldığında kameranın yeniden açılması ve SurfaceView'nin yüzeyi tekrar geçerli olmadan önce önizlemeyi devam ettirmeye çalışmasıdır. Şimdilik ImplementationMode.TEXTURE_VIEW platformunu kullanmalısınız.

API Değişiklikleri

  • PreviewView.setImplementationMode(), PreviewView.setPreferredImplementationMode() olarak yeniden adlandırıldı.
  • PreviewView.getImplementationMode(), PreviewView.getPreferredImplementationMode() olarak yeniden adlandırıldı.
  • PreviewView.getSurfaceProvider(), mümkün olduğunda ImplementationMode.SURFACE_VIEW kullanılarak önizlemeyi optimize etmek için kullanılan boş değer atanabilen bir CameraInfo örneği alan PreviewView.createSurfaceProvider(CameraInfo) ile değiştirildi. Boş bir örnek iletilirse veya tercih edilen uygulama modunu ImplementationMode.TEXTURE_VIEW olarak ayarlarsanız ImplementationMode.TEXTURE_VIEW dahili olarak kullanılır.
  • Aşağıdaki kod örneğinde, daha önce PreviewView ile kullanılan bir önizleme kullanım alanı gösterilmektedir.

    preview.setSurfaceProvider(previewView.previewSurfaceProvider)
    cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    

    Şu anda aşağıdakileri 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()'a eklenmiştir. Bu, ana iş parçacığında çağrılması gerektiği anlamına gelir. (I192f3)

  • Önizlemenin ölçek türünü ayarlamanıza olanak tanıyan PreviewView.setScaleType() 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 XML düzeninde PreviewView için uygulama modunu ayarlama desteği kaldırıldı.

  • PreviewView içinde (x, y) dönüşümünü MeteringPoint'ye dönüştürmek için createMeteringPointFactory() API'sini PreviewView'a ekleyin. (Ib36d7)

Hata Düzeltmeleri

  • PreviewView boyutu değiştikten sonra yanlış bir önizlemenin gösterildiği durumlar düzeltildi. (I71101)

Camera-Extensions Sürüm 1.0.0-alpha08

26 Şubat 2020

androidx.camera:camera-extensions:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu taahhütleri içerir.

Kamera Görünümü Sürümü 1.0.0-alpha08

26 Şubat 2020

androidx.camera:camera-view:1.0.0-alpha08 yayınlanır. 1.0.0-alpha08 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • SurfaceRequest.provideSurface()'teki ListenableFuture, Executor ve Callback ile değiştirildi. Bu işlem, API'yi provideSurface() ürününde istisnaların işlenmesini gerektirmeyerek basitleştirir ve provideSurface() geri çağırmasının iptal edilememesini zorunlu kılar. Bunun amacı, eski cihazlarda yüzeylerin erken serbest bırakılmasından kaynaklanan kilitlenmeleri önlemektir. SurfaceRequest.Result nesnesi artık bir SurfaceRequest'un sağlanan Surface'yi nasıl kullandığını izlemek için kullanılır. (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ıyı ayarlayan işareti koruyarak ProGuard etkinken uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)

Camera-Extensions 1.0.0-alpha07 sürümü

10 Şubat 2020

androidx.camera:camera-extensions:1.0.0-alpha07 yayınlanır. 1.0.0-alpha07 sürümü bu taahhütleri 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 daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişken ImageCaptureException ile değiştirildi.
  • Daha önce ImageCapture.OnImageSavedCallback.onImageSaved() içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2)

Kamera Görünümü Sürüm 1.0.0-alpha07

10 Şubat 2020

androidx.camera:camera-view:1.0.0-alpha07 yayınlanır. 1.0.0-alpha07 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • PreviewView'ın TextureView uygulaması artık TextureView'un boyutunu, ebeveyni PreviewView'yi dolduracak şekilde ölçeklendirmeden önce kamera sensörü çıkış boyutuna ayarlar. Kamera önizlemesinin kullanıcı arayüzünün bir bölümünü (ör. ekranın tamamını) doldurmasını istiyorsanız PreviewView öğesinin boyutunu sabit bir değere ayarlamanız veya içeriğini sarmalaması (ör. "wrap_content" özelliğini kullanarak) gerekir. Aksi takdirde, kamera önizlemesi PreviewView öğesinin yalnızca bir bölümünü doldurabilir (kamera sensörünün çıkış boyutu daha küçükse). Bunun yerine, PreviewView öğesini üst öğesi kadar büyük olarak ayarlamanız gerekir (örneğin, "match_parent" özelliğini kullanarak). (1204869)

Hata Düzeltmeleri

  • ImageCapture, resimlerin Uri ve OutputStream'ye kaydedilmesine izin verecek şekilde güncellendi. Aşırı yüklenen takePicture yöntemleri tek bir yöntemde birleştirildi. Test uygulaması, standart örnek olarak Uri kullanacak şekilde güncellendi. (Ia3bec)
  • Preview.PreviewSurfaceProvider, Preview.SurfaceProvider olarak yeniden adlandırıldı. SurfaceProvider'ler artık geliştiricilerin kendi ListenableFuture'lerini oluşturmasını gerektirmez ve Surface sağlama işlemi artık yeni bir SurfaceRequest nesnesi aracılığıyla gerçekleştirilir. Preview, PreviewView gibi diğer sınıflarla birlikte kullanıldığında kötüye kullanım olasılığı nedeniyle Preview.getPreviewSurfaceProvider() yöntemi kaldırıldı. (I20105)
  • Daha önce ImageCapture.OnImageSavedCallback.onError() ve ImageCapture.OnImageCapturedCallback.onError() içinde iletilen bağımsız değişkenler, artık daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişken ImageCaptureException ile değiştirildi.
  • Daha önce ImageCapture.OnImageSavedCallback.onImageSaved() içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2)
  • API güncellendi. CameraInfo'in getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() ve getLinearZoom() yöntemleri, ZoomState örneği döndüren getZoomState() ile birleştirildi. (Ib19fe)

Camera-Extensions Sürüm 1.0.0-alpha06

22 Ocak 2020

androidx.camera:camera-extensions:1.0.0-alpha06 yayınlanır. 1.0.0-alpha06 sürümü bu taahhütleri içerir.

Güncellemeler

  • Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler.

Kamera Görünümü Sürümü 1.0.0-alpha06

22 Ocak 2020

androidx.camera:camera-view:1.0.0-alpha06 yayınlanır. 1.0.0-alpha06 sürümü bu taahhütleri içerir.

Güncellemeler

  • Kamera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler.

Camera-Extensions Sürümü 1.0.0-alpha05

18 Aralık 2019

androidx.camera:camera-extensions:1.0.0-alpha05 yayınlanır. 1.0.0-alpha05 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Dahili Camera Core API'leriyle eşleşecek şekilde güncellendi.

Kamera Görünümü Sürüm 1.0.0-alpha05

18 Aralık 2019

androidx.camera:camera-view:1.0.0-alpha05 yayınlanır. 1.0.0-alpha05 sürümü bu taahhütleri içerir.

Bilinen Sorunlar

  • PreviewView kullanılırken en boy oranı yanlış olabilir (b/146215202).

Yeni Özellikler

  • SurfaceTexture'un yaşam döngüsünü kameranın TextureView yüzeyini kullanımıyla senkronize eden PreviewView.TextureViewImplementation adlı yeni bir sınıf uygulandı.

Camera-Extensions Sürüm 1.0.0-alpha04

4 Aralık 2019

androidx.camera:camera-extensions:1.0.0-alpha04 yayınlanır. camera-extensions'in 1.0.0-alpha04 sürümü bu taahhütleri içerir

API değişiklikleri

  • Bir uzantının kullanılabilirliğinin kontrol edilmesi ve etkinleştirilmesi artık giriş parametresi olarak CameraSelector gerektiriyor. 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ıları kitaplıkta kullanmadan önce 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()
    )
    

Kamera Görünümü Sürüm 1.0.0-alpha04

4 Aralık 2019

androidx.camera:camera-view:1.0.0-alpha04 yayınlanır. camera-view'ın 1.0.0-alpha04 sürümü bu taahhütleri içerir

API değişiklikleri

  • Önizleme kullanım alanından elde edilen çıktıyı bir uygulamada kolayca görüntülemek için PreviewView sınıfı sağlanır.
  • PreviewView aşağıdakiler gibi öğeler içerebilir:

    <androidx.camera.view.PreviewView
      android:id="@+id/preview_view"
      … />
    
  • PreviewView, bir önizleme kullanım alanını kolayca bağlamak için PreviewSurfaceProvider sağlar

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • API adlandırmasında "ZoomLevel" artık "ZoomRatio" oldu

  • Bazı yöntem parametrelerinin boşluk kabul etme durumu değişti

Kamera Uzantıları ve Camera-View Sürüm 1.0.0-alpha03

9 Ekim 2019

androidx.camera:camera-extensions:1.0.0-alpha03 ve androidx.camera:camera-view:1.0.0-alpha03 yayınlandı. Bunlar camera-extensions:1.0.0-alpha03'a dahil edilen commit'ler, bunlar da camera-view:1.0.0-alpha03'a dahil edilen commit'lerdir.

Yeni Özellikler

  • Uzantılar için bağlam başlatıcı eklendi. Uzantı sürümü 1.1.0'a yükseltildi

Camera-Extensions ve Camera-View Sürüm 1.0.0-alpha02

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 sürümüne dahil edilen taahhütler, bunlar ise camera-view:1.0.0-alpha02 sürümüne dahil edilen taahhütlerdir.

  • PreviewImageProcessorImpl doğrulaması için eklenen testler, zaman damgalarını doğru şekilde uyguladı.
  • Nexus 5'te (API düzeyi 21) ExtensionTest testi hatasını düzeltin ve önizlemenin kullanılabilir olduğundan emin olun.

Camera-Extensions ve Camera-View Sürüm 1.0.0-alpha01

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 sürümüne dahil edilen taahhütler, bunlar ise camera-view:1.0.0-alpha01 sürümüne dahil edilen taahhütler.

  • Desteklenen cihazlardaki efektlere erişmek için gelecekteki kamera uzantıları için yeni kitaplık. Bu kitaplık üzerinde çalışmalar devam etmektedir.
  • Yeni Kamera Görünümü sınıfı. Bu kitaplıkla ilgili çalışmalar devam ediyor.