CameraX

CameraX, uygulamanıza kamera özellikleri eklemeyi kolaylaştıran bir Jetpack eklentisidir. Kitaplık, geliştirici deneyiminin birçok cihazda tutarlı olmasını sağlamak için çeşitli uyumluluk düzeltmeleri ve geçici çözümler sunar.

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

Yapı Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
camera-camera2 1.6.2 1.7.0-rc01 - -
camera-core 1.6.2 1.7.0-rc01 - -
camera-compose 1.6.2 1.7.0-rc01 - -
camera-effects 1.6.2 1.7.0-rc01 - -
camera-extensions 1.6.2 1.7.0-rc01 - -
camera-feature-combination-query - - - 1.5.0-alpha06
camera-feature-combination-query-play-services - - - 1.5.0-alpha06
camera-lifecycle 1.6.2 1.7.0-rc01 - -
camera-mlkit-vision 1.6.2 1.7.0-rc01 - -
kamera-görünümü 1.6.2 1.7.0-rc01 - -
camera-viewfinder - - 1.3.0-beta02 1.4.0-alpha07
camera-video 1.6.2 1.7.0-rc01 - -
Bu kitaplık en son 21 Ekim 2026'da 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 CameraX laboratuvarda test edilmiş cihazlar bölümüne bakın.

Bağımlılıkları bildirme

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

Uygulamanız veya modülünüz için build.gradle dosyasında ihtiyacınız olan yapıların bağımlılıklarını ekleyin:

Groovy

dependencies {
  // CameraX core library using the camera2 implementation
  def camerax_version = "1.7.0-rc01"
  // The following line is optional, as the core library is included indirectly by camera-camera2
  implementation "androidx.camera:camera-core:${camerax_version}"
  implementation "androidx.camera:camera-camera2:${camerax_version}"
  // If you want to additionally use the CameraX Lifecycle library
  implementation "androidx.camera:camera-lifecycle:${camerax_version}"
  // If you want to additionally use the CameraX VideoCapture library
  implementation "androidx.camera:camera-video:${camerax_version}"
  // If you want to additionally use the CameraX View class
  implementation "androidx.camera:camera-view:${camerax_version}"
  // If you want to additionally add CameraX ML Kit Vision Integration
  implementation "androidx.camera:camera-mlkit-vision:${camerax_version}"
  // If you want to additionally use the CameraX Extensions library
  implementation "androidx.camera:camera-extensions:${camerax_version}"
}

Kotlin

dependencies {
    // CameraX core library using the camera2 implementation
    val camerax_version = "1.7.0-rc01"
    // The following line is optional, as the core library is included indirectly by camera-camera2
    implementation("androidx.camera:camera-core:${camerax_version}")
    implementation("androidx.camera:camera-camera2:${camerax_version}")
    // If you want to additionally use the CameraX Lifecycle library
    implementation("androidx.camera:camera-lifecycle:${camerax_version}")
    // If you want to additionally use the CameraX VideoCapture library
    implementation("androidx.camera:camera-video:${camerax_version}")
    // If you want to additionally use the CameraX View class
    implementation("androidx.camera:camera-view:${camerax_version}")
    // If you want to additionally add CameraX ML Kit Vision Integration
    implementation("androidx.camera:camera-mlkit-vision:${camerax_version}")
    // If you want to additionally use the CameraX Extensions library
    implementation("androidx.camera:camera-extensions:${camerax_version}")
}

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 sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir sorun için oy verebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Issue Tracker belgelerine bakın.

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

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 commit'leri içerir.

Sürüm 1.0.0-alpha01

14 Mayıs 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü bu kayıtları içerir.

Yeni özellikler

  • Yeni kitaplık. Bu kitaplık, CameraX ve Camera2 ile kullanılabilen yerel bir Compose Viewfinder bileşeni sunar. Birleştirilebilir Viewfinder, 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 kayıtları içerir.

Sürüm 1.4.0-alpha06

14 Mayıs 2024

androidx.camera:camera-viewfinder:1.4.0-alpha06 ve androidx.camera:camera-viewfinder-core:1.4.0-alpha06 yayınlandı. 1.4.0-alpha06 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Viewfinder'ın ImplementationMode Enum'larını, temel uygulamaları daha iyi yansıtacak şekilde yeniden adlandırın ve TransformationInfo.sourceRotation için sabit değerler ekleyin. (Ic6149)
  • Yakınlaştırma hareketinin durumlarını kapsüllemek için ZoomGestureDetector.ZoomEvent eklendi. (I84cdf)

Sürüm 1.7

Sürüm 1.7.0-rc01

21 Ekim 2026

androidx.camera:camera-*:1.7.0-rc01 yayınlandı. 1.7.0-rc01 sürümü bu kayıtları içerir.

API Değişiklikleri

  • UseCaseCamera2Interop, ImageCaptureCamera2Interop, SessionConfigCamera2Interop ve CameraControlCamera2Interop arayüzlerden soyut sınıflara dönüştürüldü. (If654e)
  • Camera2Interop V2 belirsizlik sorunu düzeltildi (I1bbe5)

Hata Düzeltmeleri

  • SurfaceProcessor, SurfaceRequest tamamlanmadan önce çöp toplama işlemine tabi tutulan bir giriş SurfaceTexture yayınladığında CameraX OpenGL iş parçacığında yerel bir SIGSEGV kilitlenmesi düzeltildi. (I76f73, b/563673593)
  • Efektin SurfaceOutput öğesi kapatılmadan önce CameraEffect yürütücüsü veya HandlerThread kapatıldığında çöp toplama sırasında oluşabilecek bir Surface sızıntısı ve yerel OpenGL kilitlenmesi düzeltildi. (Ifcc19, b/558819242)
  • Düşük Işık Güçlendirme davranışında iyileştirme: Düşük Işık Güçlendirme ve El Feneri artık "son ayar geçerlidir" politikasını izler. Bu politika uyarınca, birini etkinleştirdiğinizde isteği reddetmek yerine diğerini otomatik olarak devre dışı bırakır. Ayrıca, Düşük Işıkta Geliştirme etkinken Resim Yakalama sırasında flaş da kullanılabilir. (Ie583f)
  • androidx.lifecycle:lifecycle-runtime bağımlılığı 2.10.0 olarak güncellendi. Bu sürüm, paket halinde sunulan yaşam döngüsü çalışma zamanı lint kontrollerinin AGP 9.5.0-alpha04 veya sonraki sürümlerle çalışması için gereklidir. (I99bfd, b/556807521)
  • CameraInfo.getPhysicalCameraInfos() üzerinden fiziksel kameralarda CameraSelector alma ve fiziksel kameralara UseCases bağlama desteği. Fiziksel CameraSelector ile CameraInfo sorgulandığında artık mantıksal CameraInfo yerine fiziksel CameraInfo döndürülür. (Ibe7f2)
  • Video meta verilerinde yalnızca enlem ve boylamın depolandığına dair OutputOptions.Builder.setLocation Javadoc açıklığa kavuşturuldu. (I77d3b, b/551348846)
  • ImageAnalysis uygulamasında, çıkış rotasyonunu dinamik olarak değiştirmenin veya kullanım alanının bağlantısını kaldırmanın Surface/ImageReader kaynak sızıntısına neden olabileceği bir hata düzeltildi. (I25cef)
  • CameraInfo.getIntrinsicZoomRatio(), döndürülen oranı artık iki ondalık basamağa yuvarlar. (Ibe9a8)
  • Bazı cihazlarda yanlış negatif hatalarını önlemek için ImageAnalysis içinde PRIVATE biçimi için HardwareBuffer.isSupported kontrolü gevşetildi. (I347a4, b/545866947)
  • CameraX dahili alanlarında geçişli olarak içe aktarılan JSpecify türü ek açıklamaları çözümlenirken daha yeni JDK sürümlerinde oluşan derleme kilitlenmesi düzeltildi. (I00bb4, b/543937345)

Sürüm 1.7.0-alpha03

12 Ağustos 2026

androidx.camera:camera-*:1.7.0-alpha03 yayınlandı. 1.7.0-alpha03 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Camera2Interop yapılandırıcı fabrika yöntemleri ve Kotlin uzantı işlevleri lehine eski Camera2Interop API'leri (Camera2Interop.Extender, Camera2CameraControl, Camera2CameraInfo ve CaptureRequestOptions) kullanımdan kaldırıldı. (Ib0845, b/529609261)
  • preview, imageAnalysis, videoCapture, imageCapture ve SessionConfig.Builder için Kotlin DSL camera2Interop uzantı blokları ve CameraControl.applyCamera2InteropAsync uzantı işlevi eklendi. (I51af9, b/529609261)
  • Preview.Builder, ImageCapture.Builder, ImageAnalysis.Builder, VideoCapture.Builder, SessionConfig.Builder ve CameraControl için yeni Camera2Interop yapılandırıcı fabrika yöntemleri (forUseCase, forImageCapture, forSessionConfig, forCameraControl) ve ilgili setInterop / applyInteropAsync yöntemleri eklendi. (I0007b, b/529609261)
  • CameraInfo'ten Camera2 kamera kimliğini ve özelliklerini almak için Camera2Interop'e yardımcı yöntemler ve eşdeğer Kotlin uzantısı özellikleri (CameraInfo.cameraId, CameraInfo.cameraCharacteristics ve String.toCameraSelector()) eklendi. (I11803, b/529609261)
  • Herkese açık API'lere Preview.setMirrorMode, Preview.getMirrorMode ve VideoCapture.setMirrorMode eklendi, ExperimentalMirrorMode ek açıklaması kaldırıldı. (I4ed60, b/519794349, b/470629643)
  • UseCases oluşturmak için Kotlin DSL oluşturucuları preview { ... }, imageCapture { ... }, imageAnalysis { ... } ve videoCapture { ... } eklendi. (I91df9, b/530013719)
  • ImagePlane.buffer, null değer alabilen ByteBuffer olarak değiştirildi. (I98593)
  • Yalnızca yazma özelliklerini zorunlu kılmak için Kotlin DSL'de SessionConfig.Builder, HighSpeedVideoSessionConfig.Builder ve ExtensionSessionConfig.Builder için özellik alıcıları kullanımdan kaldırıldı. (I2875b, b/534570559)

Hata Düzeltmeleri

  • Birden fazla Preview kullanım alanını bir OverlayEffect ile bağlamanın bir önizleme akışı yayınlama hatasına neden olduğu sorun düzeltildi. (I7a383, b/532577546, b/532924417)
  • Sürekli video kaydı sırasında kamera değiştirilirken Recording.pause() ve Recording.resume() özelliklerinin başarısız olmasına neden olan sorun düzeltildi. (I71004, b/532327691, b/367121726)
  • Çok kameralı cihazlarda fiziksel kamera sınırları arasında yakınlaştırma yaparken Sıfır Deklanşör Gecikmesi (ZSL) kullanıldığında HAL'nin kilitlenmesi sorunu düzeltildi. (I1c374, b/527782712, b/514757157)
  • Samsung Galaxy S25, S26 ve Fold 7 cihazlarda HDR video kaydının başarısız olmasına neden olan bir sorun düzeltildi. (Ic0827, b/529618629)

Sürüm 1.7.0-alpha02

1 Temmuz 2026

androidx.camera:camera-*:1.7.0-alpha02 yayınlandı. 1.7.0-alpha02 sürümü bu kayıtları içerir.

API Değişiklikleri

  • CameraXViewfinder artık iki parmakla yakınlaştırma ve dokunarak odaklama için yerleşik hareketleri destekliyor, ayrıca yanıp sönen ekran ışığı ve akış durumu için destek ekliyor. FocusState, odaklamak için dokunma sonuçlarının izlenmesine olanak tanımak amacıyla artık viewfinder-core'da herkese açık. (I66a17, b/522549890)
  • SessionConfig.Builder , HighSpeedVideoSessionConfig.Builder, ExtensionSessionConfig.Builder için isAutoRotationEnabled eklendi ve bunlar için Kotlin DSL fabrika işlevleri kullanıma sunuldu. Bu sayede, cihaz sensörlerine göre uygun döndürme otomatik olarak ayarlanabilir. (I5b4a3, b/510752515)
  • Uygulamaların EMBEDDED modunda OpenGL ardışık düzenini kullanmasını desteklemek için TransformationInfo öğesine TransformationMode özelliği eklendi. (Id1de1, b/487826941)
  • Ortam koşullarının Gece Modu ölçütlerini ne zaman karşıladığını belirlemek için CameraInfo öğesine isNightModeIndicatorSupported() ve getNightModeIndicator() eklendi. (Iae47b, b/499389465)
  • GPU tabanlı ImageAnalysis'i desteklemek için ImageAnalysis.OUTPUT_IMAGE_FORMAT_PRIVATE ve ImageProxy.getHardwareBuffer() genel API olarak kullanıma sunuldu. (I41cb3, b/496022391, b/492934501)
  • ExtensionsManager#getExtensionEnabledCameraSelector desteği sonlandırıldı. Uzantı modlarını etkinleştirmek için lütfen yeni ExtensionSessionConfig API'yi kullanın. (I2b336, b/473715607)
  • Eşzamanlı kamera kompozisyonu sırasında kamera karelerinin görsel stilini belirleme desteği eklendi. Artık şunları özelleştirebilirsiniz:
  • Yuvarlak köşeler: Çerçeve kenarlarına normalleştirilmiş yuvarlama(0,0 ila 1,0) uygulamak için setRoundedCornerRatio (float) yöntemini kullanın.
  • Kenarlıklar: Tutarlı kalınlıkta dekoratif bir çerçeve eklemek için setBorderWidthRatio(float) ve setBorderColor(int) yöntemlerini kullanın (I18a07, b/366349205).
  • CompositionSettings, negatif olmayan z sırasını zorunlu kılacak şekilde güncellendi ve ConcurrentCamera.setCompositionSettings'e doğrulama eklendi. Bu sayede, geçerli bir kompozisyon modunda doğru sayıda ayarla çağrılması sağlandı. (If660d, b/496951658)
  • Uygulamaların, kamera uzantılarını kullanırken mevcut ortamın gece modu koşulunda olup olmadığını izlemesine olanak tanımak için CameraExtensionsInfo'ya getNightModeIndicator() ve isNightModeIndicatorAvailable() eklendi. (I62bb4, b/499389465)
  • VideoCapture'da QHD video kalitesi için destek eklendi. (I0ac20, b/501305592)
  • Geliştiricilerin açık bir ses kanalı sayısı ayarlamasına olanak tanımak için Recorder.Builder.setTargetAudioChannelCount(int) ve Recorder.getTargetAudioChannelCount() eklendi. (I6bee0, b/441895100)
  • Hedef ses kodlama bit hızının ayarlanmasına olanak tanıyan Recorder.Builder.setTargetAudioEncodingBitRate(int) eklendi. (I29062, b/241151504)
  • Yaşam döngüsü bağlandıktan sonra uygulamaların mevcut kameranın kompozisyonunu dinamik olarak güncellemesine olanak tanımak için ConcurrentCamera.setCompositionSettings API'si eklendi. Ayrıca, CompositionSettings.Builder'daki yeni setZOrder API'si, çakışan kamera görüntü akışlarının oluşturma sırası üzerinde hassas kontrol sağlar. (I90528, b/473702287)
  • Kodlama biçimleri üzerinde ayrıntılı kontrol için API'ler kullanıma sunuldu. Geliştiriciler artık şu anda deneysel olan Recorder.getSupportedVideoMimeTypes() ve getSupportedAudioMimeTypes() yöntemlerini kullanarak cihaz tarafından desteklenen biçimleri keşfedebilir. Tercih edilen biçimler Recorder.Builder.setVideoMimeType() ve setAudioMimeType() aracılığıyla açıkça yapılandırılabilir. Ayrıca Recorder.getVideoCapabilities(CameraInfo, String), seçilen bir codec için desteklenen kaliteler ve dinamik aralıklar gibi kameraya özgü özelliklerin sorgulanmasına olanak tanır. (I4620e, b/491319384)
  • Otomatik cihaz döndürme dinleyicisinin devre dışı bırakılmasına izin vermek için CameraController.setAutoRotationEnabled(boolean) eklendi. (Ia0c03, b/449573627)
  • Yeni bir setLockingMode API aracılığıyla FocusMeteringAction'a AE/AWB kilitleme desteği eklendi. Bu sayede, odağı kilitlemeden 3A bölgelerini güncelleyebilir ve odak alanını güncellerken kameranın sürekli otomatik odaklama modunda kalmasını sağlayabilirsiniz. (I6416f, b/481624745)

Hata Düzeltmeleri

  • compileSdk 37 için şartı kaldır (If78b4)
  • OpenGL ardışık düzeni, daha fazla UseCases bağlamak veya yüzey işleme için CameraX tarafından etkinleştirildiğinde EMBEDDED modunda CameraXViewfinder dönüşüm sorunu düzeltildi. (I3e637, b/487826941)
  • Testler ve etkinlikler, desteği sonlandırılan getExtensionEnabledCameraSelector API yerine ExtensionSessionConfig'i kullanacak şekilde güncellendi. (I765d8, b/473715607)
  • "'ListenableFuture' sınıfına erişilemiyor" derleme hatası düzeltildi. (Ic8cba, b/497571473)
  • Compose compileSdk, API 37'ye güncellendi. Bu nedenle, Compose kullanılırken minimum AGP sürümü 9.2.0 olmalıdır. (Id45cd, b/413674743)

Sürüm 1.7.0-alpha01

11 Mart 2026

androidx.camera:camera-*:1.7.0-alpha01 yayınlandı. 1.7.0-alpha01 sürümü bu kayıtları içerir.

API Değişiklikleri

  • CameraController.setSessionConfig() API'si kullanıma sunuldu. Bu sayede, CameraController tarafından doğrudan sunulmayan gelişmiş UseCase yapılandırmaları için özel bir SessionConfig sağlayabilirsiniz. Bir SessionConfig etkin olduğunda CameraController üzerindeki diğer yapılandırma yöntemleri devre dışı bırakılır.(I35cf1, b/448525636)

Hata Düzeltmeleri

  • Kitaplıkları Java 11 hedefini kullanacak şekilde taşır. Bu, üretilen bayt kodunun Java 11 (sınıf dosyası sürümü 55) olacağı ve kitaplığı kullanmak için desugaring işlemi gerekebileceği anlamına gelir (If4c2a, b/457821470).
  • ImageAnalysis uygulamasında, çıkış resmi döndürme etkinleştirildiğinde ve ilk göreceli döndürme 0 derece olduğunda resimlerin doğru şekilde döndürülmemesine neden olan hata düzeltildi. (Id46c2, b/487160584)

Kamera Sürümü 1.6

Sürüm 1.6.2

26 Ağustos 2026

androidx.camera:camera-*:1.6.2 yayınlandı. 1.6.2 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • CameraX dahili alanlarında geçişli olarak içe aktarılan JSpecify türü ek açıklamaları çözümlenirken daha yeni JDK sürümlerinde oluşan derleme kilitlenmesi düzeltildi. (I00bb4, b/543937345)

Sürüm 1.6.1

6 Mayıs 2026

androidx.camera:camera-*:1.6.1 yayınlandı. 1.6.1 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • CameraX 1.6.0 kullanılırken "ListenableFuture sınıfına erişilemiyor" derleme hatası düzeltildi. (Ic8cba, b/497571473)

Sürüm 1.6.0

25 Mart 2026

androidx.camera:camera-*:1.6.0 yayınlandı. 1.6.0 sürümü bu commit'leri içerir.

1.5.0 sürümünden sonra yapılan önemli değişiklikler:

1. Yüksek performanslı, birleştirilmiş kamera yığınına geçiş yapıldı

  • CameraX artık Pixel kamerayı destekleyen modern ve yüksek performanslı CameraPipe yığınını kullanıyor. Bu geçiş, mimari verimliliği artırır ve gelişmiş dijital fotoğrafçılık özelliklerini geliştirici ekosistemine sunmak için ölçeklenebilir bir temel sağlar.

2. Media3 Muxer Entegrasyonu

  • CameraX artık VideoCapture API'sinde Media3 Muxer'ı varsayılan olarak entegre ediyor. Bu taşıma işlemi çeşitli avantajlar sağlar:
    • Daha yüksek performans: Daha verimli video işleme ve birleştirme.
    • Kilitlenmeye karşı dayanıklılık: Video dosyalarının bozulmasına karşı daha iyi koruma sağlayarak kayıt sırasında uygulama kilitlense bile verilerin korunmasını sağlar.

3. Özellik grubu iyileştirmesi

4. SessionConfig API kararlı hale getirildi.

  • SessionConfig, deneysel aşamadan SessionConfig ve HighSpeedVideoSessionConfig dahil olmak üzere tamamen kararlı bir herkese açık API'ye geçiş yaptı. CameraX Extensions artık yeni bir ExtensionSessionConfig API ile uygulanabilir. Yeni bir isSessionConfigSupported API kullanıma sunuldu. Bu API, geliştiricilerin yaşam döngüsüne bağlanmadan önce belirli bir kullanım alanı ve özellik kombinasyonunun (ör. HDR, sabitleme, belirli çözünürlükler, CameraX uzantıları veya ağır çekim) cihaz tarafından desteklenip desteklenmediğini sorgulamasına olanak tanır.

Hata Düzeltmeleri

  • Belirli Android 17 (API 37) veya sonraki sürümleri çalıştıran cihazlarda meydana gelen kilitlenme sorunu düzeltildi. Bu cihazlar, CameraX 1.5.1 ve önceki sürümler tarafından bilinmeyen yeni dinamik aralık profillerini (ör.STANDARD_SMPTE_2094_50(ID 8192)) gösterdiğinde kitaplık daha önce bu kimlikleri uygun şekilde işleyemiyordu.Bu durum, ProcessCameraProvider.bindToLifecycle() sırasında NullPointerException veya IllegalArgumentException ile sonuçlanıyordu. Bu düzeltme, CameraX'in tanınmayan dinamik aralık profillerini sorunsuz bir şekilde yoksaymasına olanak tanıyarak kilitlenmeyi önler ve ileriye dönük uyumluluğu korur. Bu yeni profilleri sunan cihazlarda bu sorunun yaşanmaması için lütfen CameraX bağımlılığınızı 1.5.2 veya 1.6.0 (ya da daha yeni) sürümüne güncelleyin. Daha fazla bilgi için 519796838 numaralı sorunu inceleyin. (Ibd7b5)
  • Özellik grubu API'si artık PREVIEW_STABILIZATION, VideoCapture ile kullanıldığında tutarlı sonuçlar sağlıyor. Bu sayede, bir önizleme kullanım alanı etkin olmadığında tutarsız sonuçlara neden olan bir hata düzeltildi. (Ifed82, b/449913903)
  • Desteklenmeyen tercih edilen özelliklerin yanlışlıkla kullanılabilir hale getirilmesine neden olan sorun düzeltildi. Özellikler, gerekli kullanım alanları karşılanmadığında artık doğru şekilde filtreleniyor. (I38db8, b/449532342)
  • Samsung Galaxy S6'da video sonucunun bozuk görünmesine neden olan sorun düzeltildi. (I612d9, b/235127608)
  • Sorgudaki SessionConfig zaten diğer özelliklerle yapılandırılmışsa CameraInfo#isFeatureGroupSupported işlevinin PREVIEW_STABILIZATION için yanlışlıkla doğru değerini döndürmesine neden olan sorun düzeltildi. (I2c355c, b/437816469)
  • Samsung Z Fold 4 cihazda sorunlu YUV biçimi çıkış boyutları hariç tutuldu. Alınan görüntülerde, bu çıkış boyutları kullanılırken bozulma sorunu yaşanıyor. (I776bf, b/460322307)
  • Samsung A53'te, VideoCapture kullanım alanı bağlıysa el feneri etkinken Resim Yakalama'nın bazen başarısız olmasına neden olan cihaza özgü bir sorun düzeltildi. (I0f183, b/458197367)
  • Bazı cihazlarda ultra geniş kamerayla flaş kullanıldığında görüntülerin az pozlanmasına neden olan bir sorun düzeltildi. (Ib7530, b/444590340)
  • ExifInterface bağımlılığı, 0xFF dolgulu JPEG'leri ayrıştırmaya yönelik bir düzeltme içerecek şekilde güncellendi. Bu sayede, JPEG kodlayıcının işaretçilerden önce dolgu baytları eklediği cihazlarda resim yakalama hataları çözüldü. (I0eb49)

Sürüm 1.6.0-rc01

25 Şubat 2026

androidx.camera:camera-*:1.6.0-rc01 yayınlandı. 1.6.0-rc01 sürümü bu kayıtları içerir.

Sürüm 1.6.0-beta02

11 Şubat 2026

androidx.camera:camera-*:1.6.0-beta02 yayınlandı. 1.6.0-beta02 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • ImageCapture OUTPUT_FORMAT_RAW_JPEG bellek içi yakalama IllegalArgumentException sorunu düzeltildi. (Id4eec, b/479990902)
  • AndroidX Media3 muxer'a taşındı. Bu sayede 1: Beklenmedik kesintiler veya uygulamanın sonlandırılması sırasında videonun bozulması ve 2: Videolar proxy dosya tanımlayıcılarına kaydedilirken yaşanan kilitlenmeler düzeltildi. (I23b63, b/433649708, b/264812009, b/475750115)

Sürüm 1.6.0-beta01

28 Ocak 2026

androidx.camera:camera-*:1.6.0-beta01 yayınlandı. 1.6.0-beta01 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • CameraX 1.6.0-alpha'da LiveData nesnesinin güncellenmiş tür verilerini alamamasına neden olan CameraExtensionsInfo mevcut tür sorunu düzeltildi. (I2c7a5)
  • ExifInterface bağımlılığı, 0xFF dolgulu JPEG'leri ayrıştırmaya yönelik bir düzeltme içerecek şekilde güncellendi. Bu sayede, JPEG kodlayıcının işaretçilerden önce dolgu baytları eklediği cihazlarda resim yakalama hataları çözüldü. (I0eb49)

Sürüm 1.6.0-alpha02

17 Aralık 2025

androidx.camera:camera-*:1.6.0-alpha02 yayınlandı. 1.6.0-alpha02 sürümü bu kayıtları içerir.

Yeni özellikler

  • Oturum yapılandırmasında video sabitleme özelliğini belirtmek için gruplandırılabilir bir özellik eklendi. Geliştiriciler artık video stabilizasyonunu zorunlu veya tercih edilen bir özellik olarak isteyebilir ve UHD_RECORDING, PREVIEW_STABILIZATION gibi diğer gruplandırılabilir özelliklerle uyumlu hale getirebilir. (Ic6757, b/419766630)
  • Oturum yapılandırmasında video kayıt kalitesini belirtmek için gruplandırılabilir özellikler eklendi. Geliştiriciler artık gerekli veya tercih edilen bir özellik olarak belirli bir kalite (ör. UHD, FHD) isteyebilir ve bunu HDR ve 60 FPS gibi diğer gruplandırılabilir özelliklerle uyumlu hale getirebilir. (Ib5cd3, b/437820285)
  • SessionConfig içinde hem CameraEffect hem de özellik grupları API'sini kullanma desteği eklendi. (I17f18, b/406370934)
  • SessionConfig içinde hem ImageAnalysis hem de özellik grupları API'sini kullanma desteği eklendi. (I87833, b/406371720)

API Değişiklikleri

  • ExtensionSessionConfig.Builder için addUseCase ayarlayıcı işlevi ve ExtensionSessionConfig için eksik alıcılar eklendi. (I71e07, b/453988621)
  • ExtensionsManager.getInstanceAsync API'sinin askıya alma sürümü olan ExtensionsManager.getInstance API'si eklendi (I3a0a9, b/452208792)
  • isFeatureGroupSupported, isSessionConfigSupported olarak yeniden adlandırıldı ve her tür SessionConfig desteklenir hale getirildi. (I21616, b/448781299)
  • ExtensionsManager, Kotlin uygulamasına dönüştürüldü. (I73091, b/452208792)
  • SessionConfig kamera seçimini etkileyebileceğinden CameraInfo değerini almak için CameraProvider#getCameraInfo(CameraSelector, SessionConfig) eklendi. Örneğin, ExtensionSessionConfig kullanırken. (Ic548c, b/451891648)
  • ExtensionSessionConfig API'si kullanıma sunuldu. Uygulamalar bir ExtensionSessionConfig oluşturabilir ve bunu kullanarak uzantı oturumu oluşturabilir. (I6354c, b/448524373)
  • androidx.camera.video.HighSpeedVideoSessionConfig API artık deneysel değil, tamamen kararlı bir herkese açık API'dir. (I492d4, b/447558239)
  • androidx.camera.core.SessionConfig API artık deneysel değildir ve tamamen kararlı bir herkese açık API'dir. (Idc87a, b/447558437)

Hata Düzeltmeleri

  • Android 17 veya sonraki sürümlerde IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object: nedeniyle oluşan kilitlenme sorunu düzeltildi. (Ibd7b5, b/463465353)
  • Samsung Z Fold 4 cihazda sorunlu YUV biçimi çıkış boyutları hariç tutuldu. Alınan görüntülerde, bu çıkış boyutları kullanılırken bozulma sorunu yaşanıyor. (I776bf, b/460322307)
  • Camera2Interop API'si üzerinden ayarlandığında CaptureRequest.FLASH_MODE politikasının uygulanmaması sorunu düzeltildi. (I0004c, b/459608684)
  • Samsung A53'te, VideoCapture kullanım alanı bağlıysa el feneri etkinken Resim Yakalama'nın bazen başarısız olmasına neden olan cihaza özgü bir sorun düzeltildi. (I0f183, b/458197367)
  • Bazı cihazlarda ultra geniş kamerayla flaş kullanıldığında görüntülerin az pozlanmasına neden olan bir sorun düzeltildi. (Ib7530, b/444590340)

Sürüm 1.6.0-alpha01

22 Ekim 2025

androidx.camera:camera-*:1.6.0-alpha01 yayınlandı. 1.6.0-alpha01 sürümü bu kayıtları içerir.

Yeni özellikler

  • CameraX, Pixel Kamera uygulamasının da kullandığı birleştirilmiş, yüksek performanslı bir kamera yığınına taşındı. CameraPipe olarak bilinen bu yeni yığın, CameraX ve Pixel Kamera ekiplerinin ortak çalışmasıyla geliştirildi. Bu sayede tüm iyileştirmeler paylaşılır ve hem CameraX kullanıcıları hem de Pixel kamera uygulaması bu iyileştirmelerden yararlanır.

API Değişiklikleri

  • Dinamik kamera ekleme/kaldırma algılama için yeni API'ler eklendi. Daha fazla bilgi için CameraPresenceListener API'sine bakın. (I41ead, b/427182232, b/419441394)

Hata Düzeltmeleri

  • Özellik grubu API'si artık PREVIEW_STABILIZATION, VideoCapture ile kullanıldığında tutarlı sonuçlar sağlıyor. Bu sayede, Preview kullanım alanının etkin olmadığı durumlarda tutarsız sonuçlara neden olan bir hata düzeltildi. (Ifed82, b/449913903)
  • Desteklenmeyen tercih edilen özelliklerin yanlışlıkla kullanılabilir hale getirilmesine neden olan sorun düzeltildi. Özellikler, gerekli kullanım alanları karşılanmadığında artık doğru şekilde filtreleniyor. (I38db8, b/449532342)
  • Samsung Galaxy S6'da video sonucunun bozuk görünmesine neden olan sorun düzeltildi. (I612d9, b/235127608)
  • Sorgudaki SessionConfig zaten diğer özelliklerle yapılandırılmışsa CameraInfo#isFeatureGroupSupported işlevinin PREVIEW_STABILIZATION için yanlışlıkla doğru değerini döndürmesine neden olan sorun düzeltildi. (I2c355c, b/437816469)

Kamera Sürümü 1.5

Sürüm 1.5.3

28 Ocak 2026

androidx.camera:camera-*:1.5.3 yayınlandı. 1.5.3 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • ExifInterface bağımlılığı 1.4.2 sürümüne güncellendi. Bu güncelleme, bir işaretçiden önce ek (ve izin verilen) 0xFF bayt içeren JPEG'ler üreten cihazlarda meydana gelen Resim Yakalama hatasını düzeltir. (I16df4)

Sürüm 1.5.2

4 Aralık 2025

androidx.camera:camera-*:1.5.2 yayınlandı. 1.5.2 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Android 17 veya sonraki sürümlerde IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object: nedeniyle oluşan kilitlenme sorunu düzeltildi. (Ic9184)
  • PREVIEW_STABILIZATION özelliği VideoCapture kullanım alanıyla eklenip Preview kullanım alanıyla eklenmediğinde tutarsız özellik grubu API sonuçlarına yol açan bir hata düzeltildi. (Ifed82)
  • Özelliklerin desteklenmesi için gerekli kullanım alanları olmamasına rağmen tercih edilen özelliklerin filtrelenmemesi sorunu düzeltildi. (I38db8)

Sürüm 1.5.1

8 Ekim 2025

androidx.camera:camera-*:1.5.1 yayınlandı. 1.5.1 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Eşzamanlı kamera oluşturma modunda CameraEffect desteği. Efekt, kompozisyon çıkışına uygulanır. Efekt, eşzamanlı kamera kompozisyonu modunda ayarlandığında VideoCapture içindeki mirrorMode değerinin yoksayılacağını lütfen unutmayın. (If3d00, b/425565129)
  • Eşzamanlı kamera kompozisyonu modunda mirrorMode özelliğinin ikincil kameraya doğru şekilde uygulanmaması sorunu düzeltildi. (I686cd, b/446430827)
  • Eşzamanlı kamera birleştirme dışı modda Preview, ImageCapture ve VideoCapture'yi birlikte bağlama desteği. (Ib410a, b/443009871)
  • ImageCapture ve VideoCapture gibi UseCase'lerin yeniden oluşturulmaları durumunda hedef dönüş bilgilerini kaybetmesine neden olan sorun düzeltildi. Cihaz döndürüldükten sonra imageCaptureMode gibi bir ayar değiştirilirse resimler veya videolar yanlış yönde görünebilir. (I477c8, b/444734537)
  • Önizleme'nin 16:9 çözünürlükleri seçmesini ve VideoCapture uygulamasının QUALITY_1080P çözünürlükte kayıt yapmasını engelleyen sorun düzeltildi. Bu sorun, dahili StreamSharing özelliği etkinken varsayılan bir önizleme çözünürlüğü yapılandırması kullanıldığında (ör. dört UseCase aynı anda bağlandığında) ortaya çıkıyordu. (I493cb, b/440364875)
  • SurfaceProcessor kapatıldıktan sonra efekt etkinleştirilirken oluşan kilitlenme sorunu düzeltildi (I2c450, b/414150174).
  • CameraController içinde, ilk UseCase maksimum çözünürlüğü seçtiğinde IllegalStateException hatasına neden olan ve daha sonra diğer UseCase'lerin bağlanmasını engelleyen bir hata düzeltildi. (Ifb758, b/440374234)
  • Nokia 7 Plus için sorunlu YUV_420_888 çıkış boyutlarını hariç tutar. Bu boyutlar, herhangi bir hata mesajı bildirilmeden sessiz hata sorununa neden olur. (I3af47, b/436524501)
  • CameraInfo#isFeatureGroupSupported özelliğinin PREVIEW_STABILIZATION özelliği için yanlışlıkla "true" değerini döndürmesine neden olan sorun düzeltildi. Bu durum bazen, daha önce başka özelliklerle yapılandırılmış bir SessionConfig ile sorgulama yaparken ortaya çıkabilir. (I2c355, b/437816469)
  • Bu tür senaryolarda varsayılan olarak TextureView kullanılarak eski API düzeylerinde ve SurfaceView sorunları olan cihazlarda CameraXViewfinder kararlılığı iyileştirildi. Bu yedek mekanizma yeni varsayılan mekanizmadır ancak programatik olarak geçersiz kılınabilir. (Ieb476, b/437496463)
  • PreviewView içinde, etkinliğinin çöp toplayıcı tarafından toplanmasını engelleyebilecek bir bellek sızıntısı düzeltildi. Bu durum, önceki işlenmeden önce yeni bir SurfaceRequest geldiğinde ortaya çıkar. (I4aa0b,b/443112512)
  • Huawei P smart, Infinix Hot 40i ve Realme C53'te yüksek hızlı/ağır çekim kaydın başarısız olması sorunu düzeltildi. (40a668e, b/442984200)

Sürüm 1.5.0

10 Eylül 2025

androidx.camera:camera-*:1.5.0 yayınlandı. 1.5.0 sürümü bu commit'leri içerir.

1.4.0 sürümünden sonra yapılan önemli değişiklikler:

  • Yüksek hızlı ve ağır çekim kayıt: Minimum kodla yüksek hızlı (120/240 fps) ve ağır çekim video kaydını kolayca entegre edin. Ayrıntılar için Recorder#getHighSpeedVideoCapabilities(CameraInfo) ve HighSpeedVideoSessionConfig sayfalarına bakın.
  • SessionConfig ve FeatureGroup API: Yeni SessionConfig API, kamera oturumunu yapılandırmanıza ve HLG (HDR), Ultra HDR, 60 FPS ve önizleme sabitleme gibi birden fazla özelliği birlikte güvenli bir şekilde etkinleştirmenize olanak tanır. Ayrıca, öncelikli bir tercih edilen özellik grubu ayarlayarak CameraX'in desteklenen en uygun kombinasyonu belirlemesini sağlayabilirsiniz. Daha fazla bilgi için SessionConfig.Builder#setPreferredFeatureGroup, SessionConfig.Builder#setRequiredFeatureGroup ve CameraInfo#isFeatureGroupSupported(SessionConfig) sayfalarını inceleyin.
  • Deterministik Kare Hızı API'si: Sorgulamak için CameraInfo.getSupportedFrameRateRanges(sessionConfig), kesin ve desteklenen kare hızlarını ayarlamak için SessionConfig.setExpectedFrameRateRange kullanarak setTargetFrameRate ile ilgili önceki sınırlamaları giderin.
  • Kamera Uzantıları: UltraHDR formatı artık Uzantılar ile destekleniyor. ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats() ayarını kontrol edin ve ImageCapture.Builder.setOutputFormat içinde etkinleştirin. Uzantılar etkinleştirildiğinde yakınlaştırma oranı ve önizleme sabitleme özellikleri artık yansıtılır.
  • El feneri gücü: CameraControl.setTorchStrengthLevel simgesini kullanarak el feneri gücünü ayarlayın.
  • Düşük Işıkta Güçlendirme Modu: Düşük ışıkta güçlendirme modunu(CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) aşağıdaki API'leri kullanarak etkinleştirebilirsiniz: CameraInfo#isLowLightBoostSupported, CameraInfo#getLowLightBoostState ve CameraControl#enableLowLightBoostAsync sayfalarına bakın.
  • Video Yakalama: VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE artık kayıt sırasında depolama alanı yetersiz olduğunda tetiklenir. PendingRecording.withAudioEnabled(boolean initialMuted), ses kaydı için ilk ses kapatma durumunun kontrol edilmesine olanak tanır.
  • Resim Yakalama: ImageCapture uygulamasında DNG (RAW) ve JPEG + DNG (RAW) biçimleri için destek. RAW desteği için ImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats() sayfasını inceleyin. RAW+DNG çekimi için birden fazla OutputFileOptions içeren aşırı yüklenmiş takePicture API'lerini kullanın.
  • Resim Analizi: ImageAnalysis içinde NV21 biçimi desteği. ImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21) ile etkinleştirin.

Sürüm 1.5.0-rc01

13 Ağustos 2025

androidx.camera:camera-*:1.5.0-rc01 yayınlandı. 1.5.0-rc01 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Varsayılan minSdk, API 21'den API 23'e taşındı (Ibdfca, b/380448311, b/435705964, b/435705223).
  • Düşük ışık güçlendirmesi otomatik pozlama modu için 10 bit çıkış kısıtlaması kaldırıldı. Uygulamalar artık desteklenen cihazlarda her iki özelliği de aynı anda etkinleştirebilir. (I5a638)
  • UniSoc yonga setine sahip cihazların görüntü yakalarken kilitlenmesine neden olan sorun çözüldü. Sorun, VideoCapture, Preview ve ImageCapture aynı anda kullanıldığında ve tüm yayınlar 1280x720 çözünürlüğe ayarlandığında ortaya çıkıyordu. (Ia00c4, b/380802479)
  • Yüksek hızlı/ağır çekim kayıt için yüksek hızlı kare hızı ayarlanmadığında önizlemede siyah ekran görünmesi sorunu düzeltildi. (cdf0ff2e9)
  • getViewportAspectRatioInt içinde hata işleme ve günlük kaydı iyileştirildi (82fca18)

Sürüm 1.5.0-beta02

16 Temmuz 2025

androidx.camera:camera-*:1.5.0-beta02 yayınlandı. 1.5.0-beta02 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Bu özellikler tüm cihazlarda bir arada desteklenmeyebileceğinden, yüksek kaliteli özellik gruplarını daha sezgisel ve doğru bir şekilde ayarlamak veya sorgulamak için yeni API'ler eklendi. SessionConfig artık bir özellik grubunu zorunlu veya tercih edilen olarak belirtmek için yeni API'ler içeriyor. CameraInfo.isFeatureGroupSupported API'si, bir SessionConfig bağlamadan önce özellik grubunun desteklenip desteklenmediğini öğrenmenize olanak tanır. SessionConfig, bir oturum yapılandırması bağlandığında hangi özelliklerin seçildiğini öğrenmek için bir dinleyici ayarlamanıza da olanak tanır. (Ie4d60)
  • Geliştiricilerin belirli bir SessionConfig ile kısıtlanmış garantili desteklenen kare hızlarını sorgulamasına ve ardından kare hızını SessionConfig üzerinde uygulamasına olanak tanıyan yeni API SessoinConfig.Builder.setFrameRateRange(Range<Integer>) ve CameraInfo.getSupportedFrameRateRanges(SessionConfig) eklendi. (Ieacf7)
  • Kullanım alanlarını, oturum parametrelerini, CameraEffect, ViewPort vb. yapılandırmak için daha iyi bir soyutlama içeren yeni SessionConfig API'si kullanıma sunuldu. SessionConfig öğesini bir LifecycleOwner'a bağlamak, kamera oturumunu açar, belirtilen kullanım alanlarını ve oturum parametrelerini kullanarak yapılandırır ve belirlenen CameraEffect ile ViewPort öğelerini uygular. Yeni bir SessionConfig öğesini aynı LifecycleOwner ile güncellerken önce unbind veya unbindAll yöntemini çağırmanıza gerek kalmadan yeni bir Sessionconfig bağlayabilirsiniz. (Iedfc3)
  • Yüksek hızlı/ağır çekim video kaydetmek için yeni API'ler eklendi. Daha fazla bilgi için HighSpeedVideoSessionConfig API'sine bakın. (Ia16f3)

Hata Düzeltmeleri

  • ImageCaptureCapabilities#getSupportedOutputFormats() API'nin, RAW özelliği olmayan bazı cihazlarda RAW biçimlerini destekleniyor olarak bildirmesi sorunu düzeltildi. (Ibcadb)
  • PreviewView kullanıldığında, CameraEffect etkinleştirildiğinde veya 4 kullanım alanı(StreamSharing) bağlandığında oluşan bellek sızıntısı düzeltildi (I87468).
  • AssertionError tarafından video kaydı sırasında yaşanan kilitlenme sorunu düzeltildi: Geçersiz dahili ses durumu: IDLING. (I38d4b, b/414259796)
  • Uygulama harici bir ekranda çalışırken ve cihaz yatay moddayken PreviewView uygulamasındaki önizlemenin uzaması veya yan dönmesi sorunu düzeltildi (Ia917a).
  • Kamera görüntü akışı, Önizleme ve VideoCapture arasında paylaşılırken Önizleme Sabitleme ayarlarının doğru şekilde uygulanmaması sorunu düzeltildi.(I5430e)
  • CameraXViewfinder, temel Viewfinder'deki yüzey değişimini artık düzgün şekilde işliyor. Bu, API düzeyi 28 veya daha düşük bir EXTERNAL vizörün ekrandan çıktığı ya da CameraXViewfinder (herhangi bir ImplementationMode ile) öğesinin moveableContentOf() kapsamında olduğu senaryoları kapsar. Temel ViewfinderSurfaceSession etkin tutulamadığında CameraXViewfinder, mevcut CameraX SurfaceRequest öğesini geçersiz kılarak CameraX'in yeni Surface öğesini kullanmasına olanak tanır. (I79432)
  • Android 10/11'de, dönüşüm işlemlerinin (ölçeklendirme veya çeviri gibi) çok erken uygulanması nedeniyle EXTERNAL CameraXViewfinder uzatılmış veya yanlış görünebilmesine neden olan bir sorun düzeltildi. Sistem artık düzen aşamasında bu dönüşümleri uygulamadan önce Surface'ın oluşturulmasını bekler ve doğru çıkışın elde edilmesini sağlar. (Icc77c)
  • Oluşturulabilir CameraXViewfinder artık Compose'un Pager ile doğru şekilde çalışıyor. Bu değişiklik, AndroidView öğesinin onReset geri çağırma işlevini uygulayarak Composable'ın başarıyla sıfırlanabilmesini sağlar ve hem EMBEDDED hem de EXTERNAL uygulamalarını destekler. (I0d9be)
  • Kullanım alanlarının, kamera sağlayıcı kapatılmadan bir yaşam döngüsü sahibinden ayrılması durumunda ortaya çıkan yaşam döngüsü sahibi sızıntısı düzeltildi.

Sürüm 1.5.0-beta01

7 Mayıs 2025

androidx.camera:camera-*:1.5.0-beta01 yayınlandı. 1.5.0-beta01 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir (Idb6b5).
  • ContentScale ve Hizalama artık vizörde, görüntülenen yüzeyi kapsayıcısı içinde ölçeklendirmek ve yerleştirmek için kullanılabilir. Bu, androidx.compose.foundation.Image'in davranışına benzer. (Ibcea3)
  • TransformationInfo artık tüm bağımsız değişkenler için varsayılan değerlere sahip. Bu sayede vizörler TransformationInfo olmadan oluşturulabilir. Bu durumda varsayılan olarak kaynak döndürme 0 olur, kaynak yansıtma ve kırpma dikdörtgeni olmaz. (I2b1b2)
  • Özelleştirilmiş bir bağlamla yapılandırarak sanal cihazın kamerasına erişme gibi özellikler için farklı yapılandırmalarla örneklendirilebilen bir kamera sağlayıcı olan LifecycleCameraProvider eklendi. (Ia2992)

Hata Düzeltmeleri

  • Samsung SM-E556B cihazda ImageAnalysis, TEMPLATE_RECORD kullanan başka bir akışla birlikte kullanıldığında önizlemenin donması sorunu düzeltildi. (Ic0e62, b/409478042)
  • Samsung SM-M556B cihazda ImageAnalysis, TEMPLATE_RECORD kullanan başka bir akışla birlikte kullanıldığında önizlemenin donması sorunu düzeltildi. (Ic1a6a, b/395822788)
  • Android 15 Pixel cihazlarda yakınlaştırmayla ilgili işlemler yapılırken karşılaşılan uzantıların GECE modu AssertError sorunu düzeltildi. (I27a5d, b/401460276)
  • CameraController kullanılırken ML Kit Analyzer'ın yanlış sınırlayıcı kutu koordinatları sorunu düzeltildi. (Iae91b, b/409808510)

Sürüm 1.5.0-alpha06

26 Şubat 2025

androidx.camera:camera-*:1.5.0-alpha06 yayınlandı. 1.5.0-alpha06 sürümü bu kayıtları içerir.

API Değişiklikleri

  • El feneri parlaklığının özelleştirilmesine olanak tanımak için CameraInfo.getTorchStrengthLevel, CameraInfo.getMaxTorchStrengthLevel ve CameraControl.setTorchStrengthLevel eklendi (I00878)
  • Kullanıcıların PreviewView odaklanmak için dokunma etkinlikleri için otomatik iptal davranışını kontrol edebilmesi amacıyla yeni bir API CameraController#setTapToFocusAutoCancelDuration eklendi. Varsayılan olarak CameraX, odaklama etkinliklerini 5 saniye sonra iptal eder (yani kamera odağı sıfırlanır). Bu API, bu süreyi değiştirmenize veya otomatik iptali tamamen devre dışı bırakmanıza olanak tanır. (Icf59a)
  • FLASH_STATE_READY, NOT_FIRED olarak yeniden adlandırıldı ve diğer FlashState sabit adları daha kolay okunabilmesi için basitleştirildi. (I8771d)
  • Low Light Boost API kullanıma sunuldu. Android 15 veya sonraki sürümleri çalıştıran cihazlar, düşük ışıkta güçlendirme özelliğini destekleyebilir. Bu özellik, düşük ışık koşullarında önizleme, video veya görüntü analizi akışlarının parlaklığını otomatik olarak ayarlayabilir. Uygulamalar yeni API'yi kullanarak şunları yapabilir: 1. Özelliğin kullanılabilirlik durumunu kontrol etmek için CameraInfo#isLowLightBoostSupported kullanın. 2. Cihazlar desteklediğinde modu etkinleştirmek için CameraControl#enableLowLightBoostAsync kullanın. 3. Zayıf ışık güçlendirme durumunu izlemek için CameraInfo#getLowLightBoostState kullanın. (I937ed)
  • camera-feature-combination-query'de camera2 dışı daha hızlı sorgulamaya izin vermek için uyumluluk sınıfları ekleyin. (Ie97ee)
  • CameraController dokunarak odaklama etkinlikleri için yeni bir API getTapToFocusInfoState(), TapToFocusInfo sınıfının LiveData değerini döndürerek ilgili dokunma konumunu da gösterir. getTapToFocusState() döndüren önceki LiveData<Integer> API'nin desteği ise yeni API lehine sonlandırıldı. (I238d2)

Hata Düzeltmeleri

  • Uzantılar ile önizleme sabitleme etkinleştirildiğinde önizleme sabitlemenin uygulanmaması sorunu düzeltildi. (I24ad7)
  • CameraX, varsayılan olarak 5 saniye sonra gerçekleşen bir odaklanma etkinliğini otomatik olarak iptal ettiğinde CameraController odaklanma durumu etkinliğinin TAP_TO_FOCUS_NOT_STARTED değerine sıfırlanmaması sorunu düzeltildi. (I31954)
  • Yayınlanmamış resim kaynakları nedeniyle birden fazla çekimden sonra Sıfır Deklanşör Gecikmesi (ZSL) kullanılırken önizlemenin donması sorunu düzeltildi. (Ic3c2a)
  • Bazı cihazlarda, ardışık düzen OpenGL içerdiğinde UHD videoların kırmızı tonlu olmasıyla ilgili sorunlar düzeltildi. (Idcedc)

Sürüm 1.5.0-alpha05

15 Ocak 2025

androidx.camera:camera-*:1.5.0-alpha05 yayınlandı. 1.5.0-alpha05 sürümü bu kayıtları içerir.

API Değişiklikleri

  • QualitySelector temel alınarak seçilen kaliteyi öğrenmek için VideoCapture.getSelectedQuality() ekleyin. (I70508, b/204288986)
  • ImageCapture.OnImageCapturedCallback API'si ile bir Resim Yakalama işlemi çağrıldığında, döndürülen ImageProxy içindeki ImageInfo artık yeni ImageInfo.getFlashState() API'si aracılığıyla flaşın patlayıp patlamadığını öğrenmek için kullanılabilir. (Id2c61, b/380527406)
  • ImageAnalysis için OUTPUT_IMAGE_FORMAT_NV21 çıkış biçimi desteği eklendi. (I484ab)
  • featurecombinationquery yapısının deneysel ek açıklamasını kaldırın (I4427f)
  • Bir uzantı modu etkinleştirildiğinde, uzantıya özgü özelliklere göre CameraControl için izin verilen yakınlaştırma oranı aralığını ayarlayın. (I85af1)

Hata Düzeltmeleri

  • Android 15 ile ilgili API'yi kullanmak için compileSdk, 35 olarak yükseltildi. CameraX kitaplıklarını kullanan uygulamaların da compileSdk yapılandırma ayarını yükseltmesi gerekir. (Ic80cd)
  • Bu kitaplık artık tür kullanımı olan JSpecify boşluk ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için şu derleyici bağımsız değişkenini kullanmalıdır: -Xjspecify-annotations=strict (Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan olarak bu kullanılır). (Idc6c6, b/326456246)

Sürüm 1.5.0-alpha04

11 Aralık 2024

androidx.camera:camera-*:1.5.0-alpha04 yayınlandı. 1.5.0-alpha04 sürümü bu kayıtları içerir.

API Değişiklikleri

  • ImageCapture.Builder#setOutputFormat ve ImageCaptureCapabilities#getSupportedOutputFormats, kararlı API'ler olarak kullanıma sunuldu (Ieb04a)
  • Bir VideoCapture, Lifecycle'a bağlandığında çözünürlük bilgilerini almak için VideoCapture.getResolutionInfo() ekleyin. (Icb478)
  • PreviewView.getScreenFlash ve PreviewView.setScreenFlashOverlayColor, kararlı API'ler olarak kullanıma sunuldu. (I74fee)

Hata Düzeltmeleri

  • Vivo 1610 cihazda karanlıkta flaşla fotoğraf çekerken yaşanan çekim hatası sorunu düzeltildi. (I366f4)
  • Redmi Note 6 Pro'da görüntü yakalama işleminden sonra el fenerinin beklenmedik şekilde kapanması sorunu düzeltildi. (I2e0e8, b/377144569)
  • Pixel Android 15 cihazlarda, Uzantılar'daki GECE modunun, kamera yakındaki bir nesneye odaklanana kadar fotoğraf çekememesi sorunu düzeltildi. (I228d4)
  • Uzantılar etkinleştirildiğinde ve VideoCapture birbirine bağlandığında hareketsiz görüntü yakalama işlevinin bozulması sorunu düzeltildi. (I5c745)
  • Cihaz destekliyorsa Uzantılar için UltraHDR hareketsiz görüntü yakalama desteği etkinleştirildi. (I48300)
  • TCL cihazlarda CameraEffect hedefleme resim yakalamaları için flaş yakalama ile ilgili flaş zamanlaması sorunu düzeltildi. (I7698c)

1.5.0-alpha03 sürümü

30 Ekim 2024

androidx.camera:camera-*:1.5.0-alpha03 yayınlandı. 1.5.0-alpha03 sürümü bu kayıtları içerir.

API Değişiklikleri

  • RAW ve RAW + JPEG için çıkış biçimi API'leri ekleyin ImageCapture. Cihaz özelliği kontrolü ImageCaptureCapabilities#getSupportedOutputFormats içinde gösterilir. OUTPUT_FORMAT_RAW, Adobe DNG biçiminde RAW resim çekmek, OUTPUT_FORMAT_RAW_JPEG ise aynı anda RAW ve JPEG resim çekmek içindir. Yeni ImageCapture#takePicture API'si, eşzamanlı Resim Yakalama için kullanılır. İki OutputFileOptions sağlaması gerekir. Bunlardan ilki RAW görüntüsü, ikincisi ise JPEG görüntüsü içindir. (Ib0f3d)

Hata Düzeltmeleri

  • VideoCapture etkinleştirildiğinde TCL cihazlarda önizleme ve videonun az pozlanması sorunu düzeltildi. (Id7a64)
  • Bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlıyken (akış paylaşımı) PreviewView.getMeteringPointFactory ile startFocusMetering çağrıldığında doğru sensör koordinatlarının alınmaması sorunu düzeltildi. (I916c5, b/345993685)
  • Video kaydederken ve yeterli depolama alanı olmadığında VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE etkinliğinin tetiklenmemesi sorunu düzeltildi. (I35779, b/356399842)

Sürüm 1.5.0-alpha02

2 Ekim 2024

androidx.camera:camera-*:1.5.0-alpha02 yayınlandı. 1.5.0-alpha02 sürümü bu kayıtları içerir.

Yeni özellikler

  • Cihazın desteklediği kamera özelliklerini sorgulamak için yeni API'ler. Örneğin, HDR ve 60 FPS'nin aynı anda etkinleştirilip etkinleştirilemeyeceğini kontrol etme. Bu kitaplıkta iki yapı bulunur: camera-feature-combination-query ve camera-feature-combination-query-play-services. Bu, Google Play Hizmetleri tarafından sağlanan ek verilerle camera2'nin CameraManager#getCameraDeviceSetup#isSessionConfigurationSupported API'sinin uyumlu bir sürümüdür.

Hata Düzeltmeleri

  • LEGACY düzeyindeki 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 değiştiriliyordu. Bu düzeltmeyle CameraX kitaplığı, setTargetFrameRate veya Camera2Interop API aracılığıyla ayarlanan değere uyar. (Ie2d32)
  • CameraEffect ile resim yakalama için flaş/fener/3A işlevleri eklendi. CameraEffect ile yapılan Resim Yakalama işlemleri, artık CameraEffect olmadan yapılan Resim Yakalama işlemleriyle aynı yakalama öncesi ve sonrası işlemlere (ör. flaş tetikleyici, 3A yakınsama vb.) sahip olmalıdır. (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 önizlemenin siyah görünmesi sorununa neden olur. Sorunu önlemek için SM-A057G cihaza ExcludedSupportedSizesQuirk uygulandı. (I63dfe, b/365877975)
  • Akış paylaşım mekanizması, akışı Preview ve VideoCapture ile paylaşmak için dahili olarak etkinleştirildiğinde ortaya çıkan Preview/VideoCapture hedef kare hızı sorunu düzeltildi. (I4fdac)
  • Samsung S10e ve S10+ cihazlarda yanlış JPEG resim meta verileri sorununu düzeltmek için geçici çözüm etkinleştirildi. Düzeltme sayesinde CameraX, JPEG görüntüyü başarıyla kaydedebilir veya yanlış JPEG görüntü meta verileri sorunu yaşanırsa bu cihazlarda ImageProxy.toBitmap() işlevi çağrıldığında doğru Bitmap nesneleri döndürülebilir. (Iae493, b/356428987)
  • HDR görüntüler yakalanırken yerel kilitlenmeler meydana gelebileceğinden ve BOKEH veya FACE_RETOUCH modları için yakalama oturumları yapılandırılamayabileceğinden Samsung A52s'nin kimliği 0 olan arka kamerası için uzantılar devre dışı bırakıldı. (I03ec9, b/364152642)
  • Video kaydederken ve yeterli depolama alanı olmadığında VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE etkinliğinin tetiklenmemesi sorunu düzeltildi. (Ia5b4f, b/356399842)
  • Oppo A5'te (CPH1931) ikinci video kaydı denemesinin başarısız olmasına neden olan sorun 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 kayıtları içerir.

Yeni özellikler

  • camera-core'den CameraX SurfaceRequest'ten bir önizleme akışı gösteren CameraX Viewfinder Compose Adapter için yeni bir yapı olan camera-compose yayınlandı. (I8666e)
  • Viewfinder için CameraX SurfaceRequest'leri uyarlayan deyimsel bir composable olarak işlev gören yeni bir composable (CameraXViewfinder) eklendi. (I4770f)

API Değişiklikleri

  • İki eşzamanlı kamerayla video çekimi için kompozisyon ayarlarını belirleyen API'yi sunun. Ayarlar arasında karıştırma için alfa değeri, x ve y koordinatlarında uzaklık, kamera karesi görüntüleme penceresinin genişlik ve yükseklik ölçeği bulunur. Ofset, genişlik ve yükseklik, normalleştirilmiş cihaz koordinatlarında belirtilir. (Ia2b8a)
  • CameraProvider.getCameraInfo, resmi bir API olarak kullanıma sunuldu. (I901cd)
  • İlk ses kapatma durumunu kontrol etmek için API PendingRecording.withAudioEnabled(boolean initialMuted) eklendi. (I635c3, b/354829267)

Hata Düzeltmeleri

  • bindToLifecycle, imha edilmiş bir LifecycleOwner ile çağrıldığında oluşan kilitlenme sorunu düzeltildi. (I6e6d8)
  • Motorola Edge 20 Fusion'da VideoCapture ile bağlanırken ön kamerada önizlemenin siyah ekran olması sorunu düzeltildi. (I1fe88)
  • PreviewView uygulamasında yakınlaştırma hareketlerini algılama yapılandırması daha akıcı bir deneyim için optimize edildi. (I04ffc)

Kamera Sürümü 1.4

Sürüm 1.4.2

26 Mart 2025

androidx.camera:camera-*:1.4.2 yayınlandı. 1.4.2 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Samsung Galaxy M55'te ImageAnalysis, TEMPLATE_RECORD kullanan başka bir akışla birlikte kullanıldığında önizlemenin donması sorunu düzeltildi. (Ic1a6a, b/395822788)

Sürüm 1.4.1

11 Aralık 2024

androidx.camera:camera-*:1.4.1 yayınlandı. 1.4.1 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Pixel Android 15 cihazlarda, Uzantılar'daki GECE modunun, kamera yakındaki bir nesneye odaklanana kadar fotoğraf çekememesi sorunu düzeltildi. (I228d4)
  • Uzantılar etkinleştirildiğinde ve VideoCapture birbirine bağlandığında ortaya çıkan ImageCapture#takePicture arızası düzeltildi. (I5c745)

Sürüm 1.4.0

30 Ekim 2024

androidx.camera:camera-*:1.4.0 yayınlandı. 1.4.0 sürümü bu commit'leri içerir.

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

CameraX 1.4.0, heyecan verici güncellemelerle dolu. Aşağıda bir özet verilmiştir:

Öne Çıkan Özellik: 10 bit HDR:

  • Kolayca muhteşem HDR fotoğraflar ve videolar çekin.
  • HLG ve 10 bit HEVC kodlamayı destekler.
  • 10 bit HDR önizlemeden yararlanabilir ve cihaz özelliklerini sorgulayabilirsiniz.
  • Giderek daha fazla cihazda UltraHDR resimler ve HDR videolarla çalışır.

Diğer ilgi çekici özellikler:

  • Kotlin Uzantıları: takePicture ve awaitInstance askıya alma işlevleri eklendi.
  • Gerçek Zamanlı Efektler: Filigran ve nesne vurgulama gibi efektler uygulayabilirsiniz.
  • CameraController API: Video yakalama yapılandırması için yeni kontroller.
  • Önizleme stabilizasyonu: Cihazın kapasitesini sorgulayın ve stabilizasyonu etkinleştirin.
  • VideoCapture İyileştirmeleri: Kalite üzerinde daha hassas kontrol ve daha yüksek çözünürlüklere erişim.
  • CameraX Extensions entegrasyonu: VideoCapture ve yeni ImageCapture özellikleriyle sorunsuz entegrasyon.
  • Shutter Sound API: Bölgesel deklanşör sesi şartlarını kolayca kontrol edin.
  • Yanıp sönen ekran ışığı: Ön kameralar için düşük ışıkta çekilen fotoğraflar iyileştirildi.
  • Camera Extensions Metadata API'leri: Uzantıların gücünü ayarlamak ve ExtensionMode#AUTO uygulamasındaki mevcut uzantı moduyla ilgili bildirim almak için destekleyici API'ler. Beta ve RC duyurularımızda daha fazla hata düzeltmesi bulabilirsiniz.

Sürüm 1.4.0-rc04

16 Ekim 2024

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

Hata Düzeltmeleri

  • Bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlıyken (akış paylaşımı) PreviewView.getMeteringPointFactory ile startFocusMetering çağrıldığında doğru sensör koordinatlarının alınmaması sorunu 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 kayıtları içerir.

Hata Düzeltmeleri

  • CameraEffect ile resim yakalama için flaş/fener/3A işlevleri eklendi. CameraEffect ile yapılan Resim Yakalama işlemleri, artık CameraEffect olmadan yapılan Resim Yakalama işlemleriyle aynı yakalama öncesi ve sonrası işlemlere (ör. flaş tetikleyici, 3A yakınsama vb.) sahip olmalıdır. (I5ff30)
  • PreviewView uygulamasında iki parmakla yakınlaştırma akıcılığı optimize edildi (I04ffc)
  • Ultra HDR desteği için artık cihazların 10 bit çıkış özelliğine sahip olması gerekmediğinden Ultra HDR'yi 10 bit çıkış özelliğinden ayı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 kayıtları içerir.

Hata Düzeltmeleri

  • bindToLifecycle, imha edilmiş bir LifecycleOwner ile çağrıldığında oluşan kilitlenme sorunu düzeltildi. (I6e6d8)
  • ScreenFlash#apply için ScreenFlashView 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ı geçersiz kılınarak yakınlaştırma 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 kayıtları içerir.

Yeni özellikler

  • Kullanım alanlarını kameraya bağlamaya gerek kalmadan belirli kamera bilgilerini sağlamak için deneysel CameraInfo.getCameraInfo eklendi. (I550d1)

API Değişiklikleri

  • ScreenFlashView'nin açıkça eklenmediği durumlar için PreviewView.getScreenFlash ve PreviewView.setScreenFlashOverlayColor API'leri eklendi. (I43945)

Hata Düzeltmeleri

  • VideoCapture kullanım alanı bağlıyken düşük ışıkta flaş açık olarak çekilen Resim Yakalama'daki pozlama ve renk tonu sorunları düzeltildi. (Ic9814)
  • Uzantılar etkinken bir takePicture isteğinin kesintiye uğraması nedeniyle sonuç alınamaması ve sonraki takePicture isteğinin çalışmaması sorunu düzeltildi. (Iae78f)
  • Uzantılar etkinleştirildiğinde ortaya çıkan bellek sızıntısı sorunu düzeltildi. (Iab276)
  • Pixel 7/8 ve Samsung Galaxy S24 serisi gibi cihazlarda CameraX uzantılarının çalışmaması sorunu düzeltildi. Sürüm modundaki bir Camera2OutputConfigImpl dönüştürme sorunundan kaynaklanan bu sorun, AGP'yi 8.5.1 sürümüne yükseltip sadeleştirmeyi etkinleştirdikten sonra ortaya çıktı. (I99598, b/354824993)

Sürüm 1.4.0-beta02

12 Haziran 2024

androidx.camera:camera-*:1.4.0-beta02 yayınlandı. 1.4.0-beta02 sürümü bu kayıtları içerir.

API Değişiklikleri

  • VideoCapture öğesine benzer şekilde, önizleme kullanım alanı için setMirrorMode ekleyin. API 33 ve sonraki sürümlerde OutputConfiguration.setMirrorMode aracılığıyla önizleme akışı için ayna modunun AÇIK ve KAPALI olmasını destekler. Eski API'lerde ise işlem yapılmaz. (I821f4)

Hata Düzeltmeleri

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

Sürüm 1.4.0-beta01

14 Mayıs 2024

androidx.camera:camera-*:1.4.0-beta01 yayınlandı. 1.4.0-beta01 sürümü bu commit'leri içerir.

API Değişiklikleri

  • Yakınlaştırma hareketinin durumlarını kapsüllemek için ZoomGestureDetector.ZoomEvent eklendi. (I84cdf)

Hata Düzeltmeleri

  • Fotoğraf çekme ve odaklamak için dokunma özelliklerinin, tekrarlanan istek FPS/stabilizasyon modu değerlerini kullanmamasına neden olan bir hata düzeltildi. Bu hata, çekim oturumunu yeniden oluşturarak bazı cihazlarda gecikme sorunlarına veya önizlemenin donmasına neden olabiliyordu. (I7dc0b)
  • Bazı cihazlarda CameraEffect etkinleştirildiğinde yüksek çözünürlüklerin seçilememesine yol açan hata düzeltildi. (ör. Samsung A32 5G'de 4000x3000). (Ie3ed3, b/337336152)
  • Pixel 4XL API29'da önizleme, ImageCapture ve VideoCapture(UHD) bağlıyken fotoğraf çekildiğinde oluşan kilitlenme sorunu düzeltildi. (I5b288)
  • Sanal cihazları destekleme: ProcessCameraProvider yöntemine iletilen bağlam, sanal cihaz ortamında işlevselliği sağlamak için cihaz kimliğini korur. (I5ba48)

Sürüm 1.4.0-alpha05

17 Nisan 2024

androidx.camera:camera-*:1.4.0-alpha05 yayınlandı. 1.4.0-alpha05 sürümü bu commit'leri içerir.

Yeni özellikler

  • ProcessCameraProvider, Kotlin uygulamasına dönüştürüldü. (I46d4f)
  • Kotlin'e özgü bir şekilde çağrılabilmesi için ImageCapture.takePicture askıya alma işlevleri eklendi. (I920be)

API Değişiklikleri

  • ImageCapture sınıfına çıkış biçimi API'leri ekleyin ve cihaz özelliklerini sorgulamak için ImageCaptureCapabilities sınıfına getSupportedOutputFormats yöntemini ekleyin. Varsayılan çıkış biçimi değeri OUTPUT_FORMAT_JPEG olup SDR resimleri JPEG biçiminde yakalar. Cihaz Ultra HDR'yi desteklediğinde ve çıkış biçimi OUTPUT_FORMAT_JPEG_ULTRA_HDR olarak ayarlandığında CameraX, JPEG/R resim biçimini kullanarak Ultra HDR sıkıştırılmış resimler çeker. Bu biçim, SDR JPEG biçimiyle geriye dönük 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 destekleyecek şekilde güncellenen uygulama ve cihazlarda ise resimlerin 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 koyun. Sabitin değeri aynı kalır. Bu, tüm sabitleri tek bir yerde birleştirmek içindir. (I890bb)
  • Yeni RetryPolicy API, geliştiricilerin CameraX başlatma için yeniden deneme davranışını özelleştirmesine olanak tanır. (I36dd2)
  • Test edilebilirliğe yardımcı olmak için ImageCaptureLatencyEstimate nesnesinin oluşturulmasını etkinleştirme (Iaba99)
  • ImageAnalysis#COORDINATE_SYSTEM_SENSOR ekleyin. Bu kullanıldığında MlKitAnalyzer, kamera sensörü koordinat sistemindeki koordinatları döndürür. (I3ec61)
  • Uzantı meta verileri API'si kullanıma sunuldu. Yeni CameraExtensionsInfo ve CameraExtensionsControl arayüzleri, uygulamaların 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 alabilir. (I28e1a)
  • ProcessCameraProvider.getInstance'in askıya alma sürümü olan ProcessCameraProvider.awaitInstance eklendi (Ib22b9)
  • PreviewView#getSensorToViewTransform() API'si ekleyin. Matris, kamera sensörü koordinatlarından PreviewView koordinatlarına dönüşümü temsil eder. Bu, koordinatları bir UseCase değerinden diğerine dönüştürmek için kullanılabilir. Örneğin, ImageAnalysis içinde algılanan nesnelerin koordinatlarını PreviewView yer paylaşımına dönüştürme. (I947ab)
  • camera-viewfinder-core API'sini daha genel hale getirerek camera-viewfinder ve camera-viewfinder-compose tarafından kullanılabilmesini sağlayın. (I1e295)
  • ViewfinderSurfaceRequest öğesine getSurface işlevini ekleyin. (I781a0)
  • camera-viewfinder içinde camera-viewfinder-core kullanın ve ViewfinderSurfaceRequest ile CameraViewfinder öğelerini kullanımdan kaldırın. (I6198c)
  • Özellikle yakınlaştırmak için sıkıştırma etkinliği için yapılandırılmış ölçeklendirme hareketlerini yorumlayan ZoomGestureDetector eklendi. (Ifafbf)

Hata Düzeltmeleri

  • ImageAnalysis'ın analizör varsayılan hedef çözünürlük ayarıyla ilgili çözünürlük seçimi sorunu düzeltildi: Uygulamalar farklı bir analizör varsayılan çözünürlük ayarı belirlemiş olsa bile hedef çözünürlük yanlış bir şekilde 640x480 olarak tutuluyordu. Uygulamalar bu sorunla (1.3.0 ~ 1.3.2) karşılaşırsa ve çözümü içeren daha yeni sürümlere yükseltilemiyorsa tercih edilen çözünürlüğe sahip bir ResolutionSelector ve eşleşen bir AspectRatioStrategy değerini doğrudan ImageAnalysis UseCase olarak ayarlayarak bu sorunu çözebilirsiniz. (I81f72, b/330091012)
  • Mevcut istek başarısız olursa sıraya alınan takePicture isteğinin çalıştırılamamasına neden olan sorun düzeltildi. (Ie0801)
  • Geçersiz JPEG veri kontrolünün Vivo X60 ve X60 Pro cihazlara uygulanmasını sağlayın. Bu işlem, söz konusu cihazlardaki anormal derecede büyük resim sorununu düzeltebilir. (I82247, b/288828159)
  • Samsung A24 cihazlarda JPEG resim meta verilerinin yanlış olması sorunu düzeltildi. Düzeltme sayesinde CameraX, JPEG görüntüsünü 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ün tüm Samsung cihazlara uygulanmasını sağlayın. Bu sayede Samsung cihazlarda anormal derecede büyük resim sorunu düzeltilebilir. (Ic2a65, b/288828159)
  • Birçok OEM'in uzantı uygulamaları ImageAnalysis ile iyi çalışmadığından ve tutarsız sorunlara neden olabileceğinden CameraX uzantılarında ImageAnalysis desteği kaldırıldı. (I2d926)

Sürüm 1.4.0-alpha04

24 Ocak 2024

androidx.camera:camera-*:1.4.0-alpha04 yayınlandı. 1.4.0-alpha04 sürümü bu kayıtları 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 kullanılan 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 kullanılır. Bu sayede uygulama, kamera çıkışlarına filigran ekleyebilir 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 sayede, yalnızca önizleme için HLG10 gibi HDR dinamik aralıkları kullanılabilir. Her kameranın hangi dinamik aralıkları desteklediğini sorgulamak için CameraInfo içinde yeni API'ler de mevcuttur.

API Değişiklikleri

  • ScreenFlashUiCompleter, ScreenFlashListener olarak yeniden adlandırıldı ve ScreenFlashUiCompleter#getExpirationTimeMillis, ScreenFlash#apply parametresinin expirationTimeMillis parametresine taşındı. (I13944)
  • Önizleme kullanım alanında dinamik aralığın ayarlanmasına ve her kameranın desteklediği dinamik aralıkların sorgulanmasına olanak tanıyan yeni API'ler eklendi. Bu sayede, HLG10 gibi HDR dinamik aralıkları yalnızca önizleme kullanım alanıyla kullanılabilir ve artık aynı anda bir VideoCapture bağlanması gerekmez. (If25e3)
  • getMirroring(), isMirroring() olarak yeniden adlandırıldı (I47063)
  • CameraX'e gerçek zamanlı fotoğraf çekme gecikme süresi tahmini desteği eklendi. Kamera uzantıları, uygulamaların çekimin ne kadar süreceğini tahmin eden bir API kullanmasına olanak tanır. Tahmin, mevcut ortam koşullarını ve kamera durumunu dikkate alır. Ayrıca, çok kareli yakalama isteklerini işlemek için harcanan süreyi ve gerekirse işlenen arabellekleri kodlamak için gereken ek süreyi içerir. (I05c3a)
  • ScreenFlashUiControl, ScreenFlash olarak; ScreenFlashUiControl#applyScreenFlashUi, ScreenFlash#apply olarak; ScreenFlashUiControl#clearScreenFlashUi, ScreenFlash#clear olarak yeniden adlandırıldı ve SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS doğrudan gösterilmek yerine getScreenFlashUiApplyTimeoutSeconds yöntemi eklendi. (Iccdd0)

Hata Düzeltmeleri

  • Uzantılar etkinleştirildiğinde etkinliklerin veya parçaların yayınlanmamasına neden olan bir bellek sızıntısı düzeltildi (I14215).
  • Artan bir yakınlaştırma oranı uygulanırken getZoomRatio özelliğinin yanlışlıkla daha düşük bir değer döndürmesi sorunu düzeltildi. (I4aa0d, b/317543616)
  • ImageCapture#ScreenFlash#clear etkinliği, ImageCapture bağlantısı kaldırıldığında veya kamera kapatıldığında hemen çağrılır. Ayrıca, bu senaryolardaki yakalamaların düzgün şekilde tamamlanmaması nedeniyle etkinliğin hiç çağrılmadığı bazı hatalar da düzeltildi. (If99f9)
  • takePicture isteği tamamlanmadan önce yaşam döngüsü durdurulduğunda meydana gelen kilitlenme sorunu düzeltildi (Idf017, b/306202751).
  • Bazı cihazlarda uzantılar etkinleştirildiğinde kamera önizlemesinin siyah olmasına neden olan sorun 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ınlandı. 1.4.0-alpha03 sürümü bu kayıtları içerir.

Yeni özellikler

  • Bölgesel kısıtlamalara göre deklanşör sesinin çalınıp çalınmayacağı bilgisini sağlamak için CameraInfo.mustPlayShutterSound eklendi. (Ifda84)
  • Kameranın bir kareyi pozlamaya başladığını bildirmek için OnImageCapturedCallback.onCaptureStarted ve OnImageSavedCallback.onCaptureStarted eklendi. Bu noktada deklanşör sesini veya deklanşör animasyonunu oynatmanız önerilir. (Ic49b3)
  • CameraX'te ön kamerayla resim yakalama için yanıp sönen ekran ışığı özelliği desteği eklendi. CameraX, çerçeve tarafındaki API işlemeyi üstlenir ve zamanlamayı uygulamanın kullanıcı arayüzü değişiklikleriyle gerektiği şekilde senkronize eder (ör. uygulama ekranı rengi/parlaklığı değiştikten sonra AE ön yakalama tetikleyicisi). Uygulamaların yalnızca CameraX'e sağlanan ScreenFlashUiControl arayüzüne kullanıcı arayüzü tarafındaki uygulamalarını eklemesi gerekir. (I8ae84)
  • CameraX'te, yanıp sönen ekran ışığı özelliğinin kullanıcı arayüzü tarafındaki uygulama desteği eklendi. Uygulamalar, PreviewView veya yeni eklenen ScreenFlashView üzerinden temel bir ImageCapture.ScreenFlashUiControl uygulaması alabilir. Bu uygulama, yanıp sönen ekran ışığıyla fotoğraf çekimi sırasında tek renkli bir yer paylaşımı görünümü ekler ve ekran parlaklığını artırır. (I1810e)

API Değişiklikleri

  • Yeni uzantı özelliklerini(görüntüleme sonrası ve yakalama işlemi ilerleme durumu) destekler: Uygulamaların, görüntüleme sonrası ve yakalama işlemi ilerleme durumu geri çağırma işlevinin özelliklerini sorgulaması için ImageCapture#getImageCaptureCapabilities() API'leri eklendi. Uygulamalar, ImageCapture.Builder#setPostviewEnabled() kullanarak görüntüleme sonrası özelliğini etkinleştirebilir. Görüntüleme sonrası boyutu ImageCapture.Builder#setPostviewResolutionSelector() kullanılarak seçilebilir. takePicture() çağrılırken onPostviewBitmapAvailable ve onCaptureProcessProgressed, destekleniyorsa görüntüleme sonrası ve işlem ilerleme durumu bildirimini almak için OnImageSavedCallback veya OnImageCapturedCallback içinde uygulanabilir. (I5cd88)
  • Sensörden mevcut arabelleğe koordinat dönüşümünü hesaplayan API'ler, Surface'ın kamera yönü bilgilerini içerip içermediğini gösteren bir işaretle birlikte sunulur. (I59096)
  • UseCase önizlemesinde PreviewCapabitlity sorgulamak için API'yi kullanıma sunun. (Ie5b6c)
  • VideoCapture için daha fazla kaliteyi destekleyen API'ler eklendi. Recorder.Builder#setVideoCapabilitiesSource(int), VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES ile birlikte kullanılarak VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE'ten daha fazla kaliteyi destekleyen bir Recorder örneği oluşturulabilir. Yaygın kullanım alanlarından biri, uygulamanın mümkün olduğunda UHD video kaydetmeye çalıştığı ancak codec'in UHD video kaydedebilmesine rağmen cihazın CamcorderProfile ayarlarında UHD ayarlarının bulunmadığı durumlardır. (Iedbe2, b/263961771)
  • CameraController öğesine ImageAnalysis çıkış biçimi alıcısı/ayarlayıcısı 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ürecinin optimize edilmesidir. En iyi sonuçlar, belirli UseCase kombinasyonlarına ve hedef cihazlar için desteklenen çıkış boyutlarının sayısına göre değişir. (I454f2)
  • Uzantılar etkinleştirildiğinde VideoCapture kullanımına izin verin. (I91f32)
  • Samsung A71 ve M51 serisi cihazlarda yakalanan büyük JPEG resim sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Çekilen görüntülerin dosya boyutunun çok büyük olmasına neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I01afc, b/288828159)
  • Pixel'de, desteklenen boş olmayan ImageAnalysis boyutlarını yanlışlıkla döndüren hatayı önlemek için Pixel'lerde ImageAnalysis desteğini devre dışı bırakın. (I7ec31)
  • Uzantılar etkinleştirildiğinde CPU yüklemesinin ve güç tüketiminin artmasına neden olan performans sorunu düzeltildi. (Ibdccb)
  • Snapdragon 480, CameraUseInconsistentTimebaseQuirk listesine eklendi. Bu güncelleme, bu yonga setini kullanan cihazlarda Android 12'de görülen ve kayıtlardaki sesin, cihazın askıya alınma süresi kadar kaymasına neden olan bir sorunu düzeltir. (I58010)

Sürüm 1.4.0-alpha02

18 Ekim 2023

androidx.camera:camera-*:1.4.0-alpha02 yayınlandı. 1.4.0-alpha02 sürümü bu kayıtları 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 kapasitesini sorgulamak ve video/önizleme sabitlemeyi etkinleştirmek için API'ler ekleme. (I87544)
  • Kameranın açılmasını yeniden deneme için maksimum zaman aşımı süresini özelleştiren API sağlar. (I0c642)
  • İşlem kamerası sağlayıcısının, testler arasında CameraX'i farklı şekillerde ilk kullanıma hazırlaması gerekebilecek test paketlerinde kullanılabilmesi için ProcessCameraProvider.shutdownAsync, herkese açık bir test API'si olarak yayınlandı. (I9eca7)
  • Video yakalama dinamik aralığını, kare hızını ve ayna modunu yapılandırmak için API'ler ekleyin. (Ifb8f7)
  • OutputSize desteğini sonlandırıp ResolutionSelector ile değiştirin. ResolutionSelector, çözünürlükleri seçmenin daha kapsamlı bir yoludur ve camera-core API ile tutarlıdır. (I93abd, b/286801438)

Hata Düzeltmeleri

  • Samsung Galaxy S23 Ultra 5G'de, arka kamerada ImageAnalysis ile Bokeh veya Yüz Rötuşu uzantıları etkinleştirildiğinde ortaya çıkan siyah önizleme sorunu düzeltildi. (I2e8b1)
  • Moto E5 Play'de ö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ınlandı. 1.4.0-alpha01 sürümü bu kayıtları 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şlatmayı kaldırma etkinliklerinin doğru sırada tetiklenmesini sağlayarak uzantıların kararlılığını artırın. (Ib3b8e)
  • Dahili olarak fazladan yinelenen yüzey eklenmesi nedeniyle desteklenen yüzey kombinasyonunun aşılmasıyla ilgili yakalama oturumu yapılandırma hatası düzeltildi. (Id718c)
  • Vivo S16 cihazda yakalanan büyük JPEG resim sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Çekilen görüntülerin dosya boyutunun büyük olmasına neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I79505, b/299069235)
  • Bazı cihazlarda belirli uzantı modları etkinleştirildiğinde ImageAnalysis, ImageCapture ve Önizleme ile birlikte bağlanamama sorunu düzeltildi. Düzeltme, uygulamalar ExtensionsManager#isImageAnalysisSupported() üzerinden ImageAnalysis kullanılabilirliğini sorguladığında doğru değeri döndürür. (I7d538)
  • JavaDoc'u davranışla eşleşecek şekilde güncelleyin. #setZoomRatio, #setLinearZoom ve #enableTorch hemen tamamlanmak yerine kamera hazır olana kadar bekler. Ayrıca #takePicture API ile maksimum görüş alanının nasıl elde edileceği hakkında bilgi 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 commit'leri içerir.

Hata Düzeltmeleri

  • Artan bir yakınlaştırma oranı uygulanırken getZoomRatio özelliğinin yanlışlıkla daha düşük bir değer döndürmesi sorunu düzeltildi. (I4aa0d, b/317543616)
  • Fotoğraf çekme/odaklamak için dokunma özelliğinin, tekrarlanan istek FPS/stabilizasyon modu değerlerini kullanmaması sorunu düzeltildi. Bu sorun, çekim oturumunun yeniden oluşturulmasına ve bazı cihazlarda gecikme sorunlarına veya önizlemenin donmasına neden olabiliyordu. (I7dc0b)
  • setTargetFrameRate, FRAME_RATE_RANGE_UNSPECIFIED ile çağrıldığında kare hızının daha düşük bir değere ayarlanması sorunu düzeltildi. (I78c61)

Sürüm 1.3.3

17 Nisan 2024

androidx.camera:camera-*:1.3.3 yayınlandı. 1.3.3 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • ImageAnalysis'ın analizör varsayılan hedef çözünürlük ayarıyla ilgili çözünürlük seçimi sorunu düzeltildi: Uygulamalar farklı bir analizör varsayılan çözünürlük ayarı belirlemiş olsa bile hedef çözünürlük yanlış bir şekilde 640x480 olarak tutuluyordu. 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 kullanmak için yükseltme yapamazsa tercih edilen çözünürlükle doğrudan bir ResolutionSelector ve ImageAnalysis UseCase ile eşleşen bir AspectRatioStrategy ayarlamak bu sorunu çözebilir. (I81f72, b/330091012)

Sürüm 1.3.2

6 Mart 2024

androidx.camera:camera-*:1.3.2 yayınlandı. 1.3.2 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Samsung A24 cihazlardaki JPEG meta veri sorunu düzeltildi. CameraX artık görüntüleri doğru şekilde kaydediyor ve ImageProxy.toBitmap() işlevi doğru Bitmap nesnelerini döndürüyor. (I8d6eb, b/309005680)
  • Sorunlar nedeniyle Redmi Note 9 Pro cihazlarda 9280x6944 çözünürlük seçeneği kaldırıldı. (Ia23da)

Sürüm 1.3.1

13 Aralık 2023

androidx.camera:camera-*:1.3.1 yayınlandı. 1.3.1 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

ProcessCameraProvider#bindToLifecycle() performansı iyileştirildi. En önemli değişiklik, UseCases için en uygun boyut kombinasyonlarını belirleme sürecinin optimize edilmesidir. En iyi sonuçlar, belirli UseCase kombinasyonlarına ve hedef cihazlar için desteklenen çıkış boyutlarının sayısına göre değişir. (I454f2)

Çeşitli senaryolar için bazı referans sonuçları aşağıda verilmiştir:

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

    • Google Pixel 7: Yaklaşık 430 ms - 60 ms
    • Samsung Galaxy S23 Ultra: Yaklaşık 540 ms'den 45 ms'ye
    • 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 - 12 ms
  • Snapdragon 480, CameraUseInconsistentTimebaseQuirk listesine eklendi. Bu güncelleme, bu yonga setini kullanan cihazlarda Android 12'de görülen ve kayıtlardaki sesin, cihazın askıya alınma süresi kadar kaymasına neden olan bir sorunu düzeltir. (I58010)

Sürüm 1.3.0

18 Ekim 2023

androidx.camera:camera-*:1.3.0 yayınlandı. 1.3.0 sürümü bu commit'leri içerir.

1.2.0 sürümünden sonra yapılan ö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 kayıtları içerir.

Hata Düzeltmeleri

  • Başlatma ve başlatmayı kaldırma etkinliklerinin doğru sırada tetiklenmesini sağlayarak 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 belirli uzantı modları etkinleştirildiğinde ImageAnalysis, ImageCapture ve Önizleme ile birlikte bağlanamama sorunu düzeltildi. Düzeltme, uygulamalar ExtensionsManager#isImageAnalysisSupported() üzerinden ImageAnalysis kullanılabilirliğini sorguladığında 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ınlandı. 1.3.0-rc01 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Kaydedici'nin bağlı olduğu VideoCapture yeniden bağlandığında kaydın kesintisiz devam etmesi için PendingRecording.asPersistentRecording eklendi. (I517c6)

Hata Düzeltmeleri

  • Bir akış hem VideoCapture hem de Önizleme ile paylaşıldığında yaşanan kilitlenme sorunu düzeltildi. Ayrıca, akış paylaşımı etkinleştirildiğinde LEGACY cihazlarda görülen siyah ekran sorunu da düzeltildi.
  • Samsung S7 (SM-G930T, SM-G930V) serisi cihazlarda büyük JPEG resimlerin yakalanmasıyla ilgili sorun düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Çekilen görüntülerin dosya boyutunun büyük olmasına neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I407b0, b/288828159)
  • Samsung S22 (SM-S901B, SM-S901B/DS) ve S22+ (SM-S906B) serisi cihazlarda yakalanan JPEG resimlerin büyük olması sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. S22 SM-S901B/DS cihazda çekilen resimlerin dosya boyutunun yaklaşık 13 MB olmasına neden oluyor. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I73be9, b/288828159)
  • Samsung A5, A52, A70 ve A72 serisi cihazlarda yakalanan büyük JPEG resim sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Bu durum, çekilen resimlerin dosya boyutunun çok büyük olmasına (ör. yaklaşık 32 MB, hatta 96 MB) neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I97c4d, b/288828159)
  • Uzantılar etkinken fotoğraf çekildiğinde yerel kilitlenme sorunu düzeltildi (I698f5).

Sürüm 1.3.0-beta02

26 Temmuz 2023

androidx.camera:camera-*:1.3.0-beta02 yayınlandı. 1.3.0-beta02 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Düşük ışıkta çekim kalitesini iyileştirmek için Pixel 4 ve 5 varyantlarında flaş olarak el fenerini kullanın (I56ff5, b/280221967)
  • Samsung A5 (2017) serisi cihazlarda yakalanan büyük JPEG resim sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Bu ayar, çekilen resimlerin dosya boyutunun yaklaşık 32 MB olmasına neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I29837, b/288828159)
  • CaptureFailedRetryQuirk bölümünde belirtilen sorunlu cihazlarda yakalama hatası durumunda yeniden denemenin düzgün şekilde tetiklenmemesi sorunu düzeltildi. (I7b589)

Sürüm 1.3.0-beta01

21 Haziran 2023

androidx.camera:camera-*:1.3.0-beta01 yayınlandı. 1.3.0-beta01 sürümü bu kayıtları içerir.

API Değişiklikleri

  • ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) işlevinin adı setAllowedResolutionMode olarak, ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON sabitleri ise 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 çıkış olarak Yüksek Dinamik Aralıklı biçimleri seçmek için kullanılabilir. (Ib0377)
  • ExtensionsManager için bir isImageAnalysisSupported API'si eklendi. Bu API sayesinde uygulamalar, Uzantılar etkinleştirildiğinde bir ImageAnalysis kullanım alanının Önizleme ve ImageCapture ile birlikte bağlanıp bağlanamayacağını belirleyebilir. (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 sınıfının getSupportedQualities() ve isQualitySupported() yöntemlerinin desteği sonlandırılıyor. Lütfen bunun yerine VideoCapabilities'nin getSupportedQualities() ve isQualitySupported() yöntemlerini kullanın. (I04014)
  • CameraController#setVideoCaptureTargetQuality(), setVideoCaptureQualitySelector olarak yeniden adlandırıldı ve video kalitesi ayarları için daha fazla esneklik sağlayan QualitySelector bağımsız değişkenini alır. CameraController#getVideoCaptureTargetQuality(), buna göre getVideoCaptureQualitySelector olarak değiştirilir. (I520ed)
  • Video özellikleriyle ilgili deneysel ek açıklama kaldırıldı. Video özellikleri artık kararlı sürümde. (I1a113)

Hata Düzeltmeleri

  • Samsung SM-A320 modellerinde, düşük ışıkta hızı ve çekilen resim kalitesini artırmak için flaş olarak el fenerini kullanın. (I6a022, b/286190938)
  • ImageProxy.toBitmap() için ImageFormat.JPEG biçim desteği ekleyin. JPEG bayt dizisinin kodu çözülemezse UnsupportedOperationException hatası verilir. (I81958, b/282057603)

1.3.0-alpha07 sürümü

24 Mayıs 2023

androidx.camera:camera-*:1.3.0-alpha07 yayınlandı. 1.3.0-alpha07 sürümü bu kayıtları içerir.

Yeni özellikler

  • Yeni VideoCapture.Builder# setTargetFrameRate(Range) API'si, video kayıtlarının cihaz varsayılanı dışındaki kare hızlarında kaydedilmesine olanak tanır. Kayıtlar için kullanılabilen kare hızları, yeni CameraInfo#getSupportedFrameRates() API'si aracılığıyla sorgulanabilir.

API Değişiklikleri

  • ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON sabitleri ALLOWED_RESOLUTIONS_NORMAL/SLOW olarak yeniden adlandırıldı ve oluşturucu setHighResolutionEnabledFlag işlevinin adı setAllowedResolutionMode olarak değiştirildi. (Iae817)
  • CameraInfo#getSupportedFrameRateRanges(), aralıkların sıralanmadığını daha iyi göstermek için artık List yerine Set döndürüyor. (I02f43)
  • Düzeltilemeyen hataları (Ice471) işlemek için CameraEffect öğesine bir hata işleyici ekleyin.
  • Daha iyi test edilebilirlik için ResolutionInfo sınıfına herkese açık kurucu ekleyin (If6d1c)
  • setTargetRotationDegrees kullanımının yerini alacak ve ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) ve VideoCapture.setTargetRotationDegrees(int) API'lerinin desteğini sonlandıracak bir API UseCase.snapToSurfaceRotation(int) sağlandı. (Ia9010)
  • Önizleme kullanım alanında hedef kare hızını ayarlamak ve almak için yeni API Preview#getTargetFrameRate ve Preview.Builder#setTargetFrameRate eklendi (If4f22)
  • Recording nesnesi, çöp 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ı boş olduğunda NullPointerException düzeltildi. (Idf124, b/282025204)
  • Preview.setSurfaceProvider(null) tuşunun, Uzantılar'da önizlemeyi duraklatmaması sorunu düzeltildi (Ia903e).
  • VideoCapture bağlıyken kamera açılırken ConcurrentModificationException hatasının oluşmasına neden olan sorun düzeltildi. (Ic8ac4)

Sürüm 1.3.0-alpha06

19 Nisan 2023

androidx.camera:camera-*:1.3.0-alpha06 yayınlandı. 1.3.0-alpha06 sürümü bu kayıtları içerir.

Yeni özellikler

  • Eşzamanlı kamera, Android 11'de kullanıma sunulan yeni bir özelliktir. Kamera cihazlarının eşzamanlı akışını destekler. Örneğin, bir cihazın hem ön hem de arka kameralarının aynı anda çalışmasına olanak tanır. CameraX şu anda yalnızca iki kameranın aynı anda çalışmasına olanak tanıyan çift eşzamanlı kamerayı destekler. Her biri için en fazla iki {@link UseCase} bağlıdır. Maksimum çözünürlük 720p veya 1440p'dir. Daha fazla bilgi için aşağıdaki bağlantıyı inceleyin: CameraManager#getConcurrentCameraIds()
  • Aşağıdaki özellikleri içeren 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 belirleyebilir.
    • Tüm boyutlar ve en-boy oranı parametreleri, kamera cihazı sensörünün koordinatlarıyla ifade edilir.
    • Uygulamalar, desteklenen boyutları istenen sırada düzenlemek için özel bir çözünürlük filtresi uygulayabilir.
    • Uygulamalar, daha yüksek çözünürlüklü görüntüler elde etmek için yüksek çözünürlüklü yakalamayı da etkinleştirebilir. Ancak yüksek çözünürlük kullanmanın yakalama sürelerini uzatabileceğini unutmayın.
    • VideoCapture yansıtma API'leri eklendi. VideoCapture tarafından kaydedilen videolar varsayılan olarak yansıtılmaz. Ancak kamera önizlemesi, ön kamerada varsayılan olarak yansıtılır. VideoCapture yansıtma API'leri, ön kamerayı kullanırken kamera önizlemesiyle hizalamayı mümkün kılar. Üç MirrorMode, OFF, ON ve ON_FRONT_ONLY var. Kamera önizlemesiyle hizalamak için ON_FRONT_ONLY kullanılması önerilir. Bu, yansıtmanın arka kamera için etkinleştirilmediği ancak ön kamera için 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 kurallarla veya özel bir çözünürlük filtresiyle en boy oranı ve çözünürlük stratejileri belirtebilir. Uygulamalar, yüksek çözünürlüklü yakalamayı etkinleştirmek için bir işaret belirtebilir. Bu sayede CameraX, fotoğraf veya video çekerken daha yüksek çözünürlükler seçebilir. Ancak yüksek çözünürlük kullanmanın yakalama sürelerini uzatabileceğini unutmayın. (Ibed95)
  • AE algoritması tarafından desteklenen FPS aralıkları artık CameraInfo#getSupportedFrameRateRanges() üzerinden sorgulanabilir. (Iaa67f)
  • Tüm kare hızı yöntemlerinin adlarını "FrameRate" olarak birleştirin. VideoCapture#getTargetFrameRate() (I83304) dosyasındaki javadoc hatasını düzeltin.
  • Eski setTargetAspectRatio ve setTargetResolution API'nin desteği sonlandırıldı. Lütfen bunun yerine yeni ResolutionSelector API'yi kullanın. (I542c3)
  • Eşzamanlı çift kamera için herkese açık API'ler eklendi. Bunlar arasında şunlar yer alır:
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() ve ConcurrentCameraConfig, SingleCameraConfig ve ConcurrentCamera (Iab1c1)
  • ImageProcessor.Response#getOutputImage NonNull yapıldı (Ib9c60)
  • VideoCapture.Builder.setMirrorMode(int) ve VideoCapture.getMirrorMode() dahil olmak üzere VideoCapture yansıtma API'leri eklendi. API'ler, video kaydının yaygın kamera önizleme davranışıyla tutarlı olmasını gerektiren uygulamalar için kullanışlıdır. Örneğin, arka kamera önizlemesi yansıtılmaz ancak ön kamera önizlemesi yansıtılır. (I713b6, b/194634656)
  • VideoCapture.Builder'e setTargetFrameRate() API'si ve VideoCapture'e getTargetFramerate() API'si eklendi (I109d4)
  • SurfaceOutput'yi Closable'ı genişletecek şekilde ayarlayın ve SurfaceOutput.Event'nin herkese açık kurucusunu gizleyin. (I60ea8)
  • İşlenmekte olan bir kaydın sesini dinamik olarak kapatmak veya açmak için Recording.mute eklendi. İşleme sırasındaki kayıt açıkça sessize alındığında RecordingStats, AudioStats.AUDIO_STATE_MUTED değerini içerir. (Ie17fc)
  • #setEffects() parametresi boş olmayan bir değer olarak ayarlandı. Efektleri temizlemek için #clearEffects() API'si eklendi. Uygulama, efektleri kaldırmak için #clearEffects() yöntemini çağırmalıdır. (I4b4d9)
  • Kopya oluşturucu için 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ılırken kilitlenmesine neden olan sorun düzeltildi (Ib27e5).
  • VideoCapture uygulamasının bazı cihazlarda ön kamerayla çalışamaması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 alanındaki herkese açık klasörde Dosya'yı kullanarak fotoğraf çekmenin her zaman başarısız olmasına neden olan sorun düzeltildi. Android 10'da, harici depolama alanındaki herkese açık klasörde Dosya'yı kullanarak fotoğraf çekmek için uygulama etiketinde requestLegacyExternalStorage değerinin "true" olarak ayarlanması gerektiğini lütfen unutmayın. (I11b2c)
  • DefaultSurfaceProcessor uygulamasında RejectedExecutionException kilitlenme sorunu düzeltildi. Kilitlenme, VideoCapture bağlıyken 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ınlandı. 1.3.0-alpha05 sürümü bu kayıtları 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) da eklenir. (Id3ffe, b/205242781)
  • Efekt hedefi olarak VIDEO_CAPTURE ve PREVIEW|VIDEO_CAPTURE'e izin verin. VIDEO_CAPTURE hedefleyen efektler VideoCapture UseCase'e uygulanır. PREVIEW|VIDEO_CAPTURE hedefleyen efektler, Önizleme ve VideoCapture akışına kopyalanmadan önce paylaşılan bir akışa uygulanır. (Iee6f3)

Hata Düzeltmeleri

  • Kamera 1.2.2: Pixel gibi bazı cihazlarda proguard etkinleştirildiğinde CameraX uzantılarının düzgün çalışmaması sorunu düzeltildi (I90aa2).
  • Uygulama, ekran yönünü kendisi yönetiyorsa döndürme sırasında önizlemenin bozulmasına neden olan bir PreviewView hatası düzeltildi. Bu durum yalnızca belirli cihazlarda yaşanır. Pixel 4a, Pixel 5 ve Pixel 6a'da yeniden üretilebilir. (I14340, b/223488673)

Sürüm 1.3.0-alpha04

22 Şubat 2023

androidx.camera:camera-*:1.3.0-alpha04 yayınlandı. 1.3.0-alpha04 sürümü bu commit'leri içerir.

Yeni özellikler

Bir akışı birden fazla UseCase ile paylaşarak daha önce desteklenmeyen Surface kombinasyonlarını destekleyen yeni bir özellik.

  • Daha önce, "Preview, VideoCapture, ImageAnalysis"i FULL ve altındaki kamera donanım seviyesine veya "Preview, VideoCapture, ImageCapture"ı LEGACY donanım seviyesine bağlarken CameraX, IllegalArgumentException hatası veriyordu.
  • Yeni davranış, bağlamaların istisna oluşturmadan çalışmasıdır. Bunun yerine CameraX, paylaşılan bir akışı hem Önizleme'ye hem de VideoCapture'a kopyalamak için OpenGL'yi kullanır.
  • Arabellek kopyasının maliyeti nedeniyle uygulamada gecikme ve güç tüketimi artabilir.

API Değişiklikleri

  • ImageProxy değerini Bitmap değerine dönüştürmek için API ekleyin. Desteklenen ImageProxy biçimi ImageFormat.YUV_420_888 ve PixelFormat.RGBA_8888'dir. Biçim geçersizse IllegalArgumentException hatası verilir. (Ic7110)
  • Kotlin'de askıya alma işlevlerini kullanarak vizör yapılandırmayı desteklemek için CoroutineCameraViewfinder ekleyin. (I657bc)
  • ViewfinderSurfaceRequest için yeni bir herkese açık kurucu ekleyin. Kullanıcı CameraCharacteristics sağlayamadığında esneklik sunar. (Ie6549)

Hata Düzeltmeleri

  • Uygulama çok hızlı bir şekilde duraklatılıp devam ettirildiğinde bazı Samsung cihazlarda meydana gelen uzantı kilitlenmesi düzeltildi (Iaca26).

Sürüm 1.3.0-alpha03

25 Ocak 2023

androidx.camera:camera-*:1.3.0-alpha03 yayınlandı. 1.3.0-alpha03 sürümü şu taahhütleri içerir:

API Değişiklikleri

  • Varsayılan kameraya göre görüş açısı bilgisi sağlamak için CameraInfo.getIntrinsicZoomRatio eklendi. (Ib300c)
  • Lens yönü bilgilerini sağlamak için CameraInfo.getLensFacing eklendi. Harici kameraları seçmek için deneysel bir özellik olarak CameraSelector#LENS_FACING_EXTERNAL eklendi. (Icaf3e)
  • Kamera çıkışına efekt eklemeye olanak tanıyan #setEffect() özelliğini CameraController cihazına ekleyin. (I1d21f)
  • SurfaceRequest için invalidate() yöntemi eklendi. Yüzey sağlayıcı, daha önce sağlanan yüzeyin artık geçerli olmadığını bildirebilir. (Idc649)
  • ImageProcessor API'si ekleyin. Bu arayüz, son işleme efektlerini ImageCapture ardışık düzenine eklemek için kullanılır. (I575c6)
  • Daha fazla video çözünürlüğünü desteklemek için QualitySelector ile birleştirilebilen API Recorder.Builder.setAspectRatio() eklendi. (I8a082)
  • Hedef Video Kodlama'yı BitRate ayarlamak için Recorder.Builder#setTargetVideoEncodingBitRate ve Hedef Video Kodlama Bit Hızı'nı almak için Recorder#getTargetVideoEncodingBitRate eklendi. (I5984d)

Hata Düzeltmeleri

  • Flaş birimi olmadığında ve flaş modu açıkken ImageCapture işleminin başarısız olması sorunu düzeltildi. (I9e8b4, b/263391112)
  • Bazı Samsung Android 12 cihazlarda Exif konum verileri yazılırken JPEG resimlerin bozulması sorunu düzeltildi. (Ib7086, b/263747161, b/263289024)
  • Kamera başlatma işlemi tamamlanmadan önce fener/yakınlaştırma önceliği ayarlanırken (ör. CameraController#enableTorch çağrılırken) bekleyen işlem önbelleğe alınır ve başlatma işlemi tamamlandıktan sonra gönderilir. (I11e92, b/264157663)

Sürüm 1.3.0-alpha02

7 Aralık 2022

androidx.camera:camera-*:1.3.0-alpha02 yayınlandı. 1.3.0-alpha02 sürümü bu kayıtları 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. Sesin gerekli olmadığı durumlarda gereksiz izin isteklerini önlemek için @RequiresPermission ek açıklaması, startRecording işlevlerinden AudioConfig işlevlerine taşındı. (I28755)
  • Yeni video yakalama API'si uygulandıktan sonra artık kullanılmayan Metadata, 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'yi 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ırma Bokeh desteği, Resim Yakalama ve önizlemenin devam etmemesiyle ilgili sorunlar nedeniyle, Kamera Uzantıları v1.1.0 ve daha eski sürümleri kullanan Motorola cihazlarda kamera uzantıları devre dışı bırakıldı. (Id3ce3)
  • Eski cihazlarda ViewPort üzerinden video kırpma etkinleştirildiğinde meydana gelen yerel kilitlenme sorunu düzeltildi. (I16b8a, b/251357665)

Sürüm 1.3.0-alpha01

9 Kasım 2022

androidx.camera:camera-*:1.3.0-alpha01 yayınlandı. 1.3.0-alpha01 sürümü bu kayıtları içerir.

Yeni özellikler

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

API Değişiklikleri

  • Video süresi sınırının ayarlanmasına izin vermek için OutputOptions.setDurationLimit eklendi. Belirtilen süre sınırı aşıldığında kayıt otomatik olarak tamamlanır. (I902a0)
  • Video kaydı ses hatası durumu AudioStats.AUDIO_STATE_SOURCE_ERROR eklendi. Ses kaynağı kurulumu başarısız olduğunda veya bir hata oluştuğunda gönderilir. (I37410)

Hata Düzeltmeleri

  • Sorunlu bazı cihazların, yakalama hatalarıyla karşılaştığında yakalama işlemini bir kez daha denemesine olanak tanıyan bir özellik eklendi. (Id4795)
  • ViewPager2 cihazında PreviewView SurfaceView uygulamasının siyah ekran sorununu düzeltme Düzeltme kapsamında, istenen çözünürlük değiştirilmezse PreviewView, SurfaceView değerini yeniden kullanır. (Ib3f27)
  • ViewPort veya CameraController API'si kullanıldığında video kırpma (WYSIWYG özelliği) desteklenir. (Ifbba8, b/201085351)
  • Huawei P40 lite'ta ön kamerayla çekilen sabit 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ınlandı. 1.2.3 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

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

Sürüm 1.2.2

22 Mart 2023

androidx.camera:camera-*:1.2.2 yayınlandı. 1.2.2 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Pixel gibi bazı cihazlarda ProGuard etkinleştirildiğinde CameraX uzantılarının düzgün çalışmaması sorunu düzeltildi (I90aa2).

Sürüm 1.2.1

25 Ocak 2023

androidx.camera:camera-*:1.2.1 yayınlandı. 1.2.1 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

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

Sürüm 1.2.0

7 Aralık 2022

androidx.camera:camera-*:1.2.0 yayınlandı. 1.2.0 sürümü bu commit'leri içerir.

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

  • Yeni kitaplık camera-mlkit-vision. CameraX'i barkod tarama, yüz algılama, metin algılama gibi birçok MLKit özelliğiyle kolayca entegre edin. MLKitAnalyzer yeni API'ler olarak eklendi.
  • Yeni deneysel sıfır deklanşör gecikmesi API'si. Yakalama hattını, iyi resim kalitesini korurken daha iyi gecikme süresi sağlayacak şekilde optimize eder. Yakalama modu CAPTURE_MODE_ZERO_SHUTTER_LAG olarak ayarlandığında, deklanşör düğmesinin tıklanması ile fotoğrafın çekilmesi arasındaki gecikmenin diğer yakalama modlarına kıyasla en aza indirilmesi beklenir. ZERO_SHUTTER_LAG özelliğini desteklemeyen cihazlarda CAPTURE_MODE_MINIMIZE_LATENCY kullanılır.
  • android.camera.core.VideoCapture desteği sonlandırıldı.
  • setStreamUseCase(), herkese açık bir Camera2Interop API olarak eklendi.
  • setOutputImageRotationEnabled için API düzeyi şartı eklendi.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride(), ImageAnalysis.Analyzer#getDefaultTargetResolution() olarak yeniden adlandırıldı.
  • Kaydedilen videoya konum meta verilerini ayarlamak için API eklendi.
  • 16:9 en boy oranıyla VideoCapture ve önizleme kullanım alanları kullanılırken görülen düşük kare hızı sorunu düzeltildi.
  • Bazı Samsung cihazlarda BOKEH uzantısı etkinleştirildiğinde ve kullanıcı kameralar arasında geçiş yaptığında ortaya çıkan siyah önizleme sorunu düzeltildi.
  • API düzeyi 27 cihazlarda Samsung J7 Prime (SM-G610M) ve J7 (SM-J710MN) Preview/VideoCapture uzatılmış sorunu düzeltildi.
  • 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ı.

Sürüm 1.2.0-rc01

24 Ekim 2022

androidx.camera:camera-*:1.2.0-rc01 yayınlandı. 1.2.0-rc01 sürümü bu kayıtları içerir.

API Değişiklikleri

  • OutputConfiguration için setStreamUseCase API'sini ekleyin. Kullanıcı, akış oturumu için Akış Kullanım Alanı'nı belirtebilir ve CameraX'in Akış Kullanım Alanı'nı seçmek için kullandığı dahili mantığı geçersiz kılarak ihtiyacına göre optimizasyon yapabilir. (Ib1a95)

Hata Düzeltmeleri

  • API düzeyi 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 resimlerin uzatılmasına neden olur. Görüntünün uzaması sorununu önlemek için Önizleme veya VideoCapture için 1920x1080 çözünürlüğün seçilmemesiyle ilgili geçici çözüm eklendi. (I0e04e)
  • Bazı Huawei cihazlarda 16:9 en boy oranıyla VideoCapture ve önizleme kullanım alanları kullanılırken görülen düşük kare hızı sorunu düzeltildi. (If8c88, b/223643510)
  • Önizleme'nin SurfaceProvider değeri ayarlanmadığında kameranın açılmaması sorunu düzeltildi. Düzeltme kapsamında, SurfaceProvider ayarlanmamış önizleme artık kamera yakalama 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 kayıtları içerir.

API Değişiklikleri

  • setOutputImageRotationEnabled için API düzeyi şartı eklendi (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 arasında geçiş yaptığında ortaya çıkan 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ınlandı. 1.2.0-beta01 sürümü bu kayıtları içerir.

Yeni özellikler

  • Yeni kitaplık camera-mlkit-vision. CameraX'i barkod tarama, yüz algılama, metin algılama gibi birçok MLKit özelliğiyle kolayca entegre edebilirsiniz. Örnek kodu burada bulabilirsiniz.
  • Yeni deneysel Zero-Shutter Lag API. Yakalama hattını, iyi resim kalitesini korurken daha iyi gecikme süresi sağlayacak şekilde optimize eder. Yakalama modu CAPTURE_MODE_ZERO_SHUTTER_LAG olarak ayarlandığında, deklanşör düğmesinin tıklanması ile fotoğrafın çekilmesi arasındaki gecikmenin diğer yakalama modlarına kıyasla en aza indirilmesi beklenir. ZERO_SHUTTER_LAG'i desteklemeyen cihazlarda CAPTURE_MODE_MINIMIZE_LATENCY'ye geri döner.
  • ImageAnalysis.Analyzer ve MLKitAnalyzer resmi API'ler olarak kullanıma sunuldu.
  • Konum meta verilerini kaydedilen videoya ayarlamak için API kullanıma sunuldu.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride() adlı öğeyi ImageAnalysis.Analyzer#getDefaultTargetResolution() olarak yeniden adlandırın.

Hata Düzeltmeleri

  • Alps k61v1_basic_ref Resim Yakalama sorunu düzeltildi. HAL'den yakalanan JPEG resimlerde yanlış Exif meta verileri var. Exif meta verilerinde, ExifInterface uygulamasının özellikleri doğru şekilde ayrıştırmasını sağlayacak 0xffd9 veya 0xffda etiketi yok. Bu sorunu çözmek için görüntüleri YUV biçiminde yakalayıp JPEG çıkış görüntülerine sıkıştırın. (I45abb)

Sürüm 1.2.0-alpha04

27 Temmuz 2022

androidx.camera:camera-*:1.2.0-alpha04 yayınlandı. 1.2.0-alpha04 sürümü bu kayıtları içerir.

API Değişiklikleri

  • ImageAnalysis.Analyzer#getTargetResolutionOverride() adlı öğeyi ImageAnalysis.Analyzer#getDefaultTargetResolution() olarak yeniden adlandırın. Davranış da bu yöntem tarafından döndürülen değerin ImageAnalysis#setTargetResolution() değeriyle geçersiz kılınabileceği şekilde değiştirildi. (If1d36)
  • Konum meta verilerini kaydedilen videoya ayarlamak için API kullanıma sunuldu. android.location.Location nesnesi, yeni API androidx.camera.video.OutputOptions.Builder.setLocation(Location) aracılığıyla ayarlanabilir. (I313a0, b/204197544)

Hata Düzeltmeleri

  • Bağlantısız önizlemeyle fotoğraf çekme sorunu düzeltildi (Ie70b6, b/235119898)
  • Ses kaynağı kullanılamıyorken kayıt yapmaya çalışıldığında Recorder uygulamasının kilitlenmesine neden olan sorun düzeltildi. (I9f652)

Sürüm 1.2.0-alpha03

29 Haziran 2022

androidx.camera:camera-*:1.2.0-alpha03 yayınlandı. 1.2.0-alpha03 sürümü bu kayıtları 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 AF kısmı bu süre içinde birleşmezse AF kısmını isFocusSuccessful false ile tamamlayacak 5.000 ms'lik otomatik odaklama varsayılan zaman aşımı eklendi. (Ibc2e3)
  • Bağlantısız önizlemeyle fotoğraf çekme sorunu düzeltildi (I1d3a2, b/235119898)
  • Gelişmiş genişletici uygulaması etkinleştirildi ve CameraX destek uzantıları arayüzü sürümü 1.2'ye güncellendi (I92256).

Sürüm 1.2.0-alpha02

1 Haziran 2022

androidx.camera:camera-*:1.2.0-alpha02 yayınlandı. 1.2.0-alpha02 sürümü bu kayıtları içerir.

Yeni özellikler

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

API Değişiklikleri

  • ImageCapture içinde yeni yakalama modu CAPTURE_MODE_ZERO_SHUTTER_LAG ve cihaz özelliğini sorgulamak için CameraInfo içinde isZslSupported eklendi. CAPTURE_MODE_ZERO_SHUTTER_LAG modu, anında çekim için minimum gecikme süresi sağlamayı amaçlar. Bu özellik, kullanıcı fotoğraf çekmek için düğmelere bastığında daha sonra yeniden işlenmek üzere ara çekim sonuçlarını önbelleğe alan bir halka arabelleğe göre uygulanır. {@link VideoCapture} bağlıysa veya flaş modu KAPALI değilse ya da OEM Uzantısı AÇIK ise bu mod otomatik olarak devre dışı bırakılır. (I9ae74)
  • ImageAnalysis.getBackgroundExecutor() yöntemi ekle (Icc945)

Hata Düzeltmeleri

  • Bildirilen cihazlarda ImageCapture takePicture yönteminin feneri kapatması sorunu düzeltildi. (Ib5eb5, b/228272227)
  • CONTROL_ZOOM_RATIO_RANGE özelliği alınırken AssertionError hatasının işlenmemesine neden olan 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ınlandı. 1.2.0-alpha01 sürümü şu taahhütleri içerir:

Yeni özellikler

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

Hata Düzeltmeleri

  • Yedek strateji etkinleştirildiğinde QualitySelector uygulamasının UHD video kaydetmemesi sorunu düzeltildi. Bu sorun, VideoCapture, ImageCapture ile bağlıyken ve FULL veya daha yüksek donanım seviyesine sahip bir kamera cihazında önizleme yapıldığında ortaya çıkar. QualitySelector yedek stratejisi, VideoCapture cihazının yanlışlıkla FHD çözünürlük almasına neden oluyor. UHD çözünürlük, bu kullanım alanı kombinasyonu için desteklenir ve kullanılmalıdır. (I0e788, b/230651237)
  • ImageCapture.takePicture() tarihinde NullPointerException sabitlendi. (I92366, b/230454568, b/229766155)
  • androidx.camera.video.Recorder öğesinin eşzamansız duraklatma davranışını düzeltme (Ia8ce8)

Camera-Camera2, Camera-Core, Camera-Lifecycle ve Camera-Video 1.1.0 sürümü

Sürüm 1.1.0

29 Haziran 2022

androidx.camera:camera-*:1.1.0 yayınlandı. 1.1.0 sürümü bu commit'leri içerir.

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

  • View, Extension ve Video Capture kitaplıkları ilk RC sürümü olarak kullanıma sunuldu. 1.1.0-beta01 sürümünden itibaren tüm CameraX kitaplıkları aynı sürüm numarasını kullanacaktır. Bu sayede geliştiriciler, sürümleri çok daha kolay takip edebilecek ve büyük sürüm uyumluluk matrislerinin karmaşıklığı azalacak.
  • Aşağıdakiler de dahil olmak üzere yeni herkese açık API'ler ve özellikler kullanıma sunuldu:
  • Video çekimi kullanım alanlarını desteklemek için resmi camera-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'si eklendi.
  • Kullanılabilir kameralar hakkında doğrudan bilgi almak için bir API ProcessCameraProvider.getAvailableCameraInfos() eklendi.
  • Uzantılar etkinleştirildiğinde ImageCapture#OnImageCapturedCallback için JPEG biçiminde çıkış yap.
  • CameraInfo içinde, uygulamaların belirli bir FocusMeteringAction değerinin mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyan bir API isFocusMeteringSupported eklendi.
  • Önizleme, ImageCapture ve ImageAnalysis için çözünürlük bilgilerini sağlayan getResolutionInfo API'si 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 ölçütüne 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'i harici görüntü işleme kitaplıklarıyla (ör. MLKit) kullanmak için deneysel bir API eklendi.
  • Kamerasına özgü bir CameraSelector döndüren deneysel API CameraInfo#getCameraSelector() eklendi.
  • Birkaç deneysel API, resmi herkese açık API'lere yükseltildi.
  • Deneysel API'lerdeki @Experimental ek açıklaması @RequiresOptIn ile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılan androidx.annotation.experimental.UseExperimental yerine androidx.annotation.OptIn'i kullanın.
  • CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler() deneysel API'leri resmi API'lere yükseltildi.
  • @ExperimentalCameraFilter API'leri
  • deneysel pozlama telafisi API'leri.
  • camera-core, camera-lifecycle ve camera-video için deneysel UseCaseGroup API'yi yükseltti. Görüntü alanını özelleştirmek için ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection ve ViewPort.Builder#setScaleType eklendi.
  • ExperimentalUseCaseGroupLifecycle, resmi herkese açık API'lere yükseltildi.
  • Mevcut API'lerde yapılan değişiklikler
  • Renamed MediaStoreOutputOptions.getCollection MediaStoreOutputOptions.getCollectionUri kullanıcısına haklar atanırken hata oluştu.
  • "ActiveRecording" ifadesi, daha kısa olması için "Kayıt" olarak değiştirildi.
  • QualitySelector oluşturucu API'si, liste tabanlı bir API olarak değiştirildi.

Hata Düzeltmeleri

  • Uzantı modu etkinleştirildiğinde ve ImageCapture#CAPTURE_MODE_MAX_QUALITY modu ayarlandığında ortaya çıkan YuvToJpegProcessor EOFException sorunu düzeltildi.
  • Video kaydı kapatıldığı için codec yapılandırmasının başarısız olması sorunu düzeltildi.
  • FHD çözünürlükte kayıt yaparken önizleme/video en-boy oranının uzatılması sorunu düzeltildi.
  • Bazı cihazlarda duraklatma ve devam ettirme işleminden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi.
  • Düşük ışıklı ortamlarda flaş modu otomatik veya her zaman açık olarak ayarlandığında, dokunarak odaklama (startFocusAndMetering) sırasında flaşın tetiklenmesi sorunu düzeltildi.

Sürüm 1.1.0-rc02

1 Haziran 2022

androidx.camera:camera-*:1.1.0-rc02 yayınlandı. 1.1.0-rc02 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

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

Sürüm 1.1.0-rc01

11 Mayıs 2022

androidx.camera:camera-*:1.1.0-rc01 yayınlandı. 1.1.0-rc01 sürümü bu commit'leri 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> bağlantısı kaldırıldığında video codec'inin serbest bırakılmaması nedeniyle, özellikle API 21-22 cihazlarda VideoCapture<Recorder>'nin sonraki kullanımlarında MediaCodec.CodecException ile kaydetme işleminin başarısız olmasına neden olan bir sorun düzeltildi. (Ie7f68)
  • ImageCaptureTest uygulamasında CameraExtensionsActivity ile çekilen resimlerin silinmemesi sorunu düzeltildi.

1.1.0-beta03 sürümü

6 Nisan 2022

androidx.camera:camera-*:1.1.0-beta03 yayınlandı. 1.1.0-beta03 sürümü bu kayıtları içerir.

API Değişiklikleri

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

Hata Düzeltmeleri

  • Çoklu pencerede cihazlar döndürüldükten sonra etkinlik yeniden başlatılmadığında PreviewView uygulamasında önizlemenin yan dönmesine neden olan sorun düzeltildi. (I1ea36, b/223488673)
  • (1) Önceliği yüksek başka bir uygulama farklı bir kamera açtığında ve (2) cihaz Samsung Android 12 olduğunda, odak tekrar uygulamaya döndüğünde kameranın devam ettirilememesine neden olan çoklu pencere sorunu düzeltildi. (I7e9f2)
  • Flaşın kullanılabilirliği kontrol edilirken kilitlenen cihazlar için geçici çözüm eklendi. Bu cihazlarda el feneri kullanılamaz. (If26a3, b/216667482)
  • Uygulamalar uzantıları kullanırken ve ProGuard'ı etkinleştirirken oluşan AbstractMethodError sorunu düzeltildi. (I7cbaf, b/222726805)
  • Motorola razr 5G cihazda bokeh uzantı modunu zorunlu olarak devre dışı bırakma. Bu mod, önizleme ekranının siyah görünmesine neden olur. (I35d49)
  • API 29 öncesi bazı Samsung cihazlarda duraklatma ve devam ettirme işleminden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi. (I64622, b/202798609, b/202798572)
  • Sony G3125'te duraklatma ve devam ettirme işleminden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi. (I2a1a5, b/202799148)
  • Kaydedici'nin InvalidConfigException ile karşılaştığında kilitlenmesine neden olan sorun düzeltildi. Ancak bu düzeltme yalnızca uygulamanın kilitlenmesini önler, InvalidConfigException hatasının nedenini çözmez. Recorder hâlâ yapılandırılamıyorsa uygulamalar, kayıt başlatıldığında hata geri çağırma işlevi 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ınlandı. 1.1.0-beta02 sürümü bu kayıtları içerir.

API Değişiklikleri

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

Hata Düzeltmeleri

  • Oppo Find N'de önizlemenin uzatılması sorunu düzeltildi (I7d004).
  • Galaxy J7 Prime'da önizlemenin bozuk görünmesine neden olan 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ınlandı. 1.1.0-beta01 sürümü bu kayıtları içerir.

Yeni özellikler

  • 1.1.0-beta01 sürümünden itibaren tüm CameraX kitaplıkları aynı sürüm numarasını kullanacaktır. Bu sayede geliştiriciler sürümleri çok daha kolay takip edebilir ve büyük sürüm uyumluluk matrisinin karmaşıklığı azalı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 kaydederken oluşan kilitlenme sorunu düzeltildi. (I88fdf, b/212328261)
  • Samsung cihazlarda ön kamerada cameraControl#startFocusAndMetering() kullanılırken ortaya çıkan yanlış AF bölgesi sorunu düzeltildi (Ifbf59, b/210548792).
  • Karanlıkta hızı ve çekilen resim kalitesini artırmak için Pixel 3a/Pixel 3a XL'de flaş olarak el fenerini kullanma (Ib12b6, b/211474332)
  • Çoklu pencere modunda kamera daha yüksek öncelikli başka bir uygulama tarafından kesintiye uğratıldığında ve odak tekrar uygulamaya döndüğünde uygulamaların kamerayı devam ettirmesi sağlandı. Çerçeveyle ilgili bir sorun nedeniyle odak değişiklikleri ile kameranın yeniden açılması arasında bir miktar 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ınlandı. 1.1.0-alpha12 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Dahili sınıflardan/arayüzlerden gereksiz @RequiresApi(21) ek açıklamaları kaldırıldı. (I8e286, b/204917951)
  • QualitySelector sınıfının kalite sabitleri ve yedek strateji sabitleri, sınıf nesneleriyle temsil edilecek şekilde değiştirildi. Örneğin, QualitySelector.QUALITY_HD, Quality.HD olarak değiştirilir ve QualitySelector.FALLBACK_STRATEGY_LOWER, FallbackStrategy.lowerQualityOrHigherThan(Quality) tarafından döndürülen örnek olarak değiştirilir. QualitySelector oluşturmak için kullanılan API, liste tabanlı bir API olarak değiştirildi. Yeni API QualitySelector.fromOrderedList(List<Quality>), QualitySelector.Procedure tarafından oluşturulan sıra yerine giriş kalitesi listesinin sırasını referans alır. QualitySelector.Procedure sınıfı kaldırıldı. (I43343)
  • PendingRecording.withEventListener() kaldırıldı ve etkinlik işleyici artık PendingRecording.start() öğesine iletilmelidir. Bu etkinlik işleyici şartı, VideoRecordEvent.Finalize etkinliğinde bildirilen eşzamansız hataların işlenmesini teşvik etmek için tasarlanmıştır. (I1e71d)
  • ActiveRecording, daha kısa olması 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 ortamlarda az pozlanmasına neden olan sorun düzeltildi (I13f19, b/205373142).
  • Önizlemeyi belirlemek için her zaman en yeni görüntü boyutunu kullanın Resolution. (I4a694)
  • REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE özelliği olmayan kameralar filtrelendi. REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE içeren kameralar, her kamera cihazının desteklediği minimum özellik grubuna sahiptir. REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE olmayan kamera, özel işlevleri destekleyen bir kamera olabilir ve standart renk çıkışını desteklemez. CameraX, bu kameralar için Preview, ImageCapture, ImageAnalysis veya VideoCapture kullanım alanlarını destekleyemez. Bu nedenle, yanlış kullanımı önlemek için bu kameralar filtrelenmelidir. (Ib8cda)
  • CameraSelector#filter, sonuç kümesi boş olduğunda artık IllegalArgumentException hatası vermiyor. (I27804)
  • OEM tarafından belirtilen profillere göre kodlayıcı ayarlarını seçmek için artık daha akıllı sezgisel yöntemler kullanılıyor. (Iaeef0)
  • Pixel 1'de UHD video kaydı başlatıldıktan sonra önizlemede geçişli renk çizgileri görünmesi sorunu düzeltildi. (I833c6, b/205340278)

Sürüm 1.1.0-alpha11

17 Kasım 2021

androidx.camera:camera-*:1.1.0-alpha11 yayınlandı. 1.1.0-alpha11 sürümü bu kayıtları içerir.

API Değişiklikleri

  • CameraSelector'a dayalı bir CameraInfo listesini filtrelemek için herkese açık API'ye CameraSelector#filter eklendi. (I105d0)
  • ImageAnalysis yapılandırması için setOutputImageRotationEnabled API'si eklendi. Kullanıcı, YUV/RGB görüntü arabelleği için döndürmeyi etkinleştirebilir. Döndürme derecesi, görüntüyü önde tutmak için sensör dönüşüne ve hedef dönüşe göre hesaplanan göreceli bir dönüş değeridir.

  • ImageAnalysis yapılandırması için setOutputImageRotationEnabled API'si eklendi. Kullanıcı, YUV/RGB görüntü arabelleği için döndürmeyi etkinleştirebilir. Döndürme derecesi, görüntüyü önde tutmak için sensör dönüşüne ve hedef dönüşe göre hesaplanan göreceli bir döndürmedir.

    ImageInfo'ya getSensorToBufferTransformMatrix API'si eklendi. Döndürülen matris, sensör koordinatlarından arabellek koordinatlarına (yani CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE değerinden (0, 0, image.getWidth, image.getHeight) değerine) bir eşlemedir. Matris, koordinatları bir {UseCase} öğesinden diğerine eşlemek için kullanılabilir. Örneğin, ImageAnalysis ile algılanan yüzün koordinatlarını Preview ile eşleme. (I9ff1e)

  • Fotoğraf çekerken çıkış JPEG resim sıkıştırma kalitesinin değiştirilmesine olanak tanıyan yeni bir API ImageCapture.Builder#setJpegQuality eklendi. (I8dcf4)

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

Hata Düzeltmeleri

  • Düşük ışıklı ortamlarda flaş modu otomatik veya her zaman açık olarak ayarlandığında, odaklamak için dokunma (startFocusAndMetering) sırasında flaşın tetiklenmesiyle ilgili sorun 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ınlandı. 1.1.0-alpha10 sürümü bu commit'leri 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ı. Daha sonraki sürümlerde düzeltilecek bilinen birkaç sorun vardır.

API Değişiklikleri

  • Tüm CameraX sınıflarına @RequiresApi(21) ek açıklaması eklendi ve AndroidManifest.xml dosyasından minSdkVersion kaldırıldı. Bu sayede camera-core, minSdkVersion'si 21'den küçük olan ancak API 21 ve sonraki sürümleri temel alan kod yollarını koşullu olarak kullanmak isteyen uygulamalara kolayca entegre edilebilir. minSdkVersion 21 veya daha yüksek olan uygulamalarda bu değişiklik için herhangi bir işlem yapılması gerekmez. (Ie7f2e, b/200599470)

Hata Düzeltmeleri

  • Uygulamanın, CameraCharacteristics oluşturulurken meydana gelen AssertionError'ı düzgün bir şekilde işleyebilmesi için InitializationException oluşturun. (Ibec79)

Sürüm 1.1.0-alpha09

29 Eylül 2021

androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09 ve androidx.camera:camera-lifecycle:1.1.0-alpha09 yayınlandı. 1.1.0-alpha09 sürümü bu kayıtları 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ıyla ilgili sorun düzeltildi. (I173a9, b/193823892)
  • Samsung Galaxy J5'te, karanlık ortamda flaş açık/otomatik olarak fotoğraf çekildikten sonra kameranın takılması sorunu düzeltildi (I3aab9).
  • ImageCapture için kırpma gerektiğinde, kırpılan çıkış görüntüsünü ayarlanan yakalama moduna göre belirtilen JPEG kalite seviyesiyle sıkıştırır. Yakalama modu CAPTURE_MODE_MINIMIZE_LATENCY ise JPEG sıkıştırma kalitesi 95 olur. Yakalama 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 kayıtları içerir.

Yeni özellikler

  • Görüntü analizi yapılandırması için setOutputImageFormat API'si eklendi. 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ığından ExperimentalUseCaseGroupLifecycle ek açıklaması kaldırıldı. (I17b85)

Hata Düzeltmeleri

  • Huawei P20 Lite'ta önizleme ekranının çok parlak olması sorunu düzeltildi. Bu sorun yalnızca belirli özel önizleme çözünürlükleri büyük bir yakınlaştırma değeriyle birlikte kullanıldığında ortaya çıkar. (Idefce, b/192129158)
  • Flaş modu FLASH_MODE_ON olarak ayarlandıktan kısa bir süre sonra fotoğraf çekildiğinde bazı cihazlarda flaşın çalışmaması sorunu düzeltildi. (Ieb49b)
  • VideoCapture, ImageCapture ve Preview bağlıyken fotoğraf çekildiğinde Preview'un bir süre duraklamasına neden olan sorun düzeltildi. (I56197, b/193864120)
  • ImageAnalysis'in 1080p'den daha yüksek bir çözünürlük seçmesine olanak tanır. LIMITED düzeyinin üzerindeki bir cihaz, Önizleme ve ImageCapture ile birlikte bağlandığında ImageAnalysis için RECORD boyutunda çözünürlüğü destekleyebilir. Bunun karşılığında, ImageCapture için seçilen çözünürlüğün de RECORD boyutunda bir çözünürlük olması gerekir. ImageAnalysis için RECORD boyutunda bir çözünürlük seçmek istiyorsanız hem ImageCapture hem de ImageAnalysis'te RECORD boyutunda bir hedef çözünürlük ayarlanmalıdır. Bu, uygulamanın ödün vermeyi açıkça anladığını ve ImageCapture'ın MAKSİMUM çözünürlüğe sahip olması yerine ImageAnalysis'in daha büyük bir çözünürlüğe sahip olmasını tercih ettiğini gösterir. KAYIT, MAKSİMUM boyutlar ve daha fazla bilgi için https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture adresini ziyaret edin. KAYIT boyutu, CamcorderProfile tarafından belirlenen, kamera cihazının desteklediği maksimum kayıt çözünürlüğünü ifade eder. MAKSİMUM boyut, kamera cihazının StreamConfigurationMap.getOutputSizes(int) yönteminden gelen biçim veya hedef için maksimum çıkış çözünürlüğünü ifade eder. (I1ee97, b/192911449)
  • Çekilen resme Exif bilgilerini ekleyin. (I01ff0, b/193342619)
  • ImageCapture'da, kaydetme konumu Dosya ise kaydedilen resmin URI'sini döndürün. (Ib5b49, b/149241379)
  • Birçok cihazda flaşla çekilen görüntülerin karanlık olmasına neden olan sorun düzeltildi. (I4e510)

Sürüm 1.1.0-alpha07

21 Temmuz 2021

androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07 ve androidx.camera:camera-lifecycle:1.1.0-alpha07 yayınlandı. 1.1.0-alpha07 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Samsung Galaxy Note 5'te, karanlık ortamda flaş açık/otomatik olarak fotoğraf çekildikten sonra kameranın takılmasına neden olan sorun 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 kayıtları içerir.

API Değişiklikleri

  • camera-core için deneysel pozlama telafisi API'lerini tanıtma (I08ee8)
  • CameraInfo'ya, 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 getResolutionInfo API'si kullanıma sunuldu. (I2b613, b/188600718)
  • Aşağıdaki deneysel API'ler resmi API'lere yükseltildi: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
  • Bir dizi kameraya erişim sağlamak için CameraProvider arayüzü kullanıma sunuldu. (I1a7b1)
  • 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 yayınlandı. 1.1.0-alpha05 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Camera2CameraFilter sınıf kaldırıldı. Kamerayı CameraFilter'a göre seçmenizi ve gerekirse Camera2CameraInfo aracılığıyla CameraCharacteristics veya Camera2 ile ilgili diğer bilgileri almanızı öneririz. (Ib887c)
  • ExperimentalCameraFilter API'leri artık deneysel aşamadan çıktı ve resmi API'ler haline geldi. Ek açıklamalı OptIn olmadan kullanılabilirler. (I4bc94)
  • CameraInfo#getCameraState() üzerinden sunulan kamera durumu API'si eklendi. (Ia86b4)
  • Kamerasına özel 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 tamamlanamaması sorunu düzeltildi (I716d7).
  • Kamera geçişini hızlandırma ve kamera cihazının hata oranını azaltma (I34c99)
  • ExperimentalUseCaseGroupLifecycle, ExperimentalUseCaseGroup ile değiştirildi. (I3b2ef, b/159033688)

Sürüm 1.1.0-alpha04

21 Nisan 2021

androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04 ve androidx.camera:camera-lifecycle:1.1.0-alpha04 yayınlandı. 1.1.0-alpha04 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Birden fazla iş parçacığının aynı koleksiyona aynı anda erişmesinden kaynaklanan bellek sızıntısı düzeltildi. Bellek sızıntısı, etkinliğin veya parçanın bir önizleme örneği tarafından saklanmasına neden olabilir. (I7b4b8)
  • Deneysel API'lerdeki @Experimental ek açıklaması @RequiresOptIn ile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılan androidx.annotation.experimental.UseExperimental yerine androidx.annotation.OptIn kullanın. (Iff226)
  • Samsung Galaxy S7'de flaş açık/otomatik olarak ayarlandığında ImageCapture'ın 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 kayıtları içerir.

Hata Düzeltmeleri

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

API Değişiklikleri

  • Mevcut kameralar hakkında doğrudan bilgi almak için bir API ProcessCameraProvider.getAvailableCameraInfos() eklendi. Bu kameralar, cihazın tüm kameraları veya CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector) içinde sağlanan CameraSelector tarafından seçilen kameralardır. (Ieac08)

Hata Düzeltmeleri

  • CameraX artık ilk denemede kamerayı zorla açmaya çalışır. Bu durum, CameraX'in uygulaması daha yüksek önceliğe sahip olduğunda kamerayı diğer kamera istemcilerinden çalmasına neden olabilir. (Iab069, b/175820568)
  • CameraXConfig'de setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olmasına neden olan sorun düzeltildi. (Ice307)
  • Bu değişiklik, ImageAnalysis'te resim sırası dolduğunda 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). (Ic12da, b/175851631)
  • Yalnızca Preview veya ImageCapture bağlıyken hataları bildirmek için ExtensionsErrorListener düzeltildi. (I5ae39)
  • Resim çekmeden önce resmin kaydedildiği konumun doğrulanması kaldırıldı. Böylece ImageCapture performansındaki gerileme düzeltildi. Bu değişiklik yapıldıktan sonra, kaydetme 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ü OutputFileOptions ile ImageCapture performans gerilemesi düzeltildi. (I5164a, b/177061560)
  • Dokümanlar, kitaplık kodundan ProcessCameraProvider.configureInstance(...) kullanılmamasını önerecek şekilde güncellendi. (Ib8a9f)

Sürüm 1.1.0-alpha01

27 Ocak 2021

androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01 ve androidx.camera:camera-lifecycle:1.1.0-alpha01 yayınlandı. 1.1.0-alpha01 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • SM-G930T arka kamerasındaki JPEG'lerde aralıklı olarak bozuk görüntü verileri için geçici çözüm eklendi. (I52001, b/159831206)
  • Önizleme için desteklenen tüm boyutların 640x480'den küçük ve ekran boyutunun 640x480'den büyük olduğu durumlarda ortaya çıkan IllegalArgumentException sorunu düzeltildi. (I2a63c, b/150506192)
  • Açıkça beyan edilmiş herkese açık kaynakları olmayan kitaplıklardaki kaynaklar (ör. public.xml aracılığıyla) artık varsayılan olarak gizlidir. (Ia1dcc, b/170882230)

Camera-Camera2, Camera-Core ve Camera-Lifecycle 1.0.2 sürümü

Sürüm 1.0.2

29 Eylül 2021

androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2 ve androidx.camera:camera-lifecycle:1.0.2 yayınlandı. 1.0.2 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • MAXIMIZE_QUALITY modunda çekilen fotoğrafların bulanık olmasıyla ilgili sorun düzeltildi. (I173a9, b/193823892)
  • Birçok cihazda flaşla çekilen görüntünün karanlık olması sorunu düzeltildi. (I4e510)

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

Sürüm 1.0.1

21 Temmuz 2021

androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1 ve androidx.camera:camera-lifecycle:1.0.1 yayınlandı. 1.0.1 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

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

  • Bazı cihazlarda kameranın kapanma durumunda takılı kalmasına ve siyah önizlemeye neden olan sorun düzeltildi. (I34c99)

Camera-Camera2, Camera-Core ve Camera-Lifecycle 1.0.0 sürümü

Sürüm 1.0.0

5 Mayıs 2021

androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0 ve androidx.camera:camera-lifecycle:1.0.0 yayınlandı. 1.0.0 sürümü bu commit'leri 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 ile kamera yaşam döngüsünü yönetir.
  • CameraX, Android Kamera Ekosistemi'ndeki birçok sorunu düzelten bir uyumluluk katmanı sağlamayı amaçlar.

Bilinen Sorunlar

Sürüm 1.0.0-rc05

21 Nisan 2021

androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05 ve androidx.camera:camera-lifecycle:1.0.0-rc05 yayınlandı. 1.0.0-rc05 sürümü şu commit'leri içerir:

Hata Düzeltmeleri

  • Samsung Galaxy S7'de flaş açık/otomatik olarak ayarlandığında ImageCapture'ın 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 kayıtları 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 kayıtları içerir.

Hata Düzeltmeleri

  • ProcessCameraProvider#getInstance belgesindeki biçim hatasını düzeltin
  • CameraXConfig'de setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olmasına neden olan sorun düzeltildi.
  • Fotoğraf çekmeden önce resmin kaydedildiği konumun doğrulanması kaldırıldı. Böylece ImageCapture performansındaki gerileme düzeltildi. Bu değişiklik yapıldıktan sonra, kaydetme 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 resim sırası dolduğunda 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 kamerasındaki JPEG'lerde aralıklı olarak bozuk görüntü verileri için geçici çözüm eklendi. (I52001, b/159831206)
  • Bu değişiklik, ImageAnalysis'te resim sırası dolduğunda 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). (Ic12da, b/175851631)
  • CameraXConfig'de setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olmasına neden olan sorun düzeltildi. (Ice307)
  • Resim çekmeden önce resmin kaydedildiği konumun doğrulanması kaldırıldı. Böylece ImageCapture performansındaki gerileme düzeltildi. Bu değişiklik yapıldıktan sonra, kaydetme 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ü OutputFileOptions ile ImageCapture performans gerilemesi düzeltildi. (I5164a, b/177061560)

Sürüm 1.0.0-rc02

27 Ocak 2021

androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02 ve androidx.camera:camera-lifecycle:1.0.0-rc02 yayınlandı. 1.0.0-rc02 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Önizleme için desteklenen tüm boyutlar 640x480'den küçük ve ekran boyutu 640x480'den büyük olduğunda ortaya çıkan IllegalArgumentException sorunu düzeltildi. (b/150506192)
  • Kamerayı yeniden açma denemelerinin sayısını sınırlayın. Kamera açılırken belirli sorunları düzeltmeye çalışan CameraX, artık kamerayı süresiz olarak yeniden açmaya çalışmaz. Bunun yerine, 10 saniye boyunca yeniden denedikten sonra durur.I435d2

  • Önizleme için desteklenen tüm boyutların 640x480'den küçük ve ekran boyutunun 640x480'den büyük olduğu durumlarda 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 kayıtları içerir.

API Değişiklikleri

  • CameraFilter ve Camera2Filter, CameraInfo'yu alacak şekilde değiştirildi. (I6883d)
  • Camera2 API'leriyle dinamik olarak birlikte çalışmayı sağlamak 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'si eklendi. (I6cf88)
  • CameraX günlükleri için minimum günlük kaydı düzeyinin ayarlanmasına olanak tanıyan deneysel yöntem CameraXConfig.Builder#setMinimumLoggingLevel() eklendi. Ayarlanmadığında varsayılan olarak Log#DEBUG değerine ayarlanır. (Ic3245)

Hata Düzeltmeleri

  • SM-G930V arka kamerasındaki JPEG'lerde aralıklı olarak bozuk görüntü verileri 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 çekildiğinde sonuç alınamaması sorunu düzeltildi. (If98b2, b/172036589)
  • Preview.setSurfaceProvider(null) çağrılarak önizlemenin durdurulamaması sorunu düzeltildi. (I3ac18)
  • Bazı cihazlarda 4:3 oranında resim çekerken yaşanan yön sorunu düzeltildi. (I0e3fb, b/171492111)

Camera Camera2, Core ve Lifecycle 1.0.0-beta12 sürümü

11 Kasım 2020

androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12 ve androidx.camera:camera-lifecycle:1.0.0-beta12 yayınlandı. 1.0.0-beta12 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Samsung A3 cihazlarda otomatik flaş AE moduyla fotoğraf çekerken yaşanan kilitlenme sorununu düzeltmek için otomatik flaş devre dışı bırakıldı. (Ia5fe3, b/157535165)
  • Android L (API düzeyi 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 uygulaması artık resmi kapatmıyor. Bu, geliştiricilerin beklenmedik davranışlarla karşılaşmasını önlemek içindir. Geliştiriciler, görüntüyü kapatmak için super.onCaptureSuccess'i kullanmamalıdır. (Ifbf9c)
  • Experimental ek açıklamasının androidx varyantı, Kotlin ile eşitlik sağlamak için kullanımdan kaldırıldı. Bu ek açıklamanın yerini RequiresOptIn 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ınlandı. 1.0.0-beta11 sürümü bu kayıtları içerir.

Yeni özellikler

  • Geçerli CONTROL_ZOOM_RATIO_RANGE içeren Android 11 veya sonraki sürümlere sahip cihazlarda yakınlaştırma için Android 11 CONTROL_ZOOM_RATIO API'sini destekler. (I62cc6)

Hata Düzeltmeleri

  • Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda ortaya çıkan NumberFormatException sorunu düzeltildi. (Ib2228)
  • CameraX başlatma ve bindToLifecycle gecikmesi iyileştirildi (I61dc5).
  • UseCases oluşturmak için CameraX'in başlatılması gerekmez. Uygulamaya özel tüm yapılandırmalar, herkese açık API için ProcessCameraProvider.bindToLifecycle() olan bir Camera örneğine eklendikten sonra UseCase'de ayarlanır. (Ia5411)
  • <UseCase>.getTargetRotation(), Builder veya UseCase'de bir targetRotation ayarlanmadığı sürece bir Camera ö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-beta11

14 Ekim 2020

androidx.camera:camera-core:1.0.0-beta11 yayınlandı. 1.0.0-beta11 sürümü bu kayıtları içerir.

Yeni Özellikler - Geçerli CONTROL_ZOOM_RATIO_RANGE içeren Android 11 veya sonraki sürümlerin yüklü olduğu cihazlarda yakınlaştırma için Android 11 CONTROL_ZOOM_RATIO API'sini destekler. (I62cc6)

Hata Düzeltmeleri

  • Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda ortaya çıkan NumberFormatException sorunu düzeltildi. (Ib2228)
  • UseCases oluşturma işleminin tamamlanması için CameraX'in başlatılması gerekmez. Uygulamaya özel tüm yapılandırmalar, herkese açık API için ProcessCameraProvider.bindToLifecycle() olan bir Camera örneğine eklendikten sonra UseCase'de ayarlanır. (Ia5411)
  • <UseCase>.getTargetRotation(), Builder veya UseCase'de bir targetRotation ayarlanmadığı sürece bir Camera ö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ınlandı. 1.0.0-beta10 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Resim yakalama için dosya kaydetme hedefinin doğrulanmasındaki 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ınlandı. 1.0.0-beta10 sürümü bu kayıtları 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 kayıtları içerir.

API Değişiklikleri

  • Camera2CameraInfo, statik yöntemler sağlamak yerine, Camera2 ile ilgili bilgileri almak için oluşturulduğunda bir CameraInfo örneği alır. (I5b844)

Hata Düzeltmeleri

  • Tablet cihazlardaki hedef en-boy oranı sorunu düzeltildi. Hedef en boy oranı AspectRatio.RATIO_16_9 olarak ayarlandığında 16:9 boyut seçilmelidir. (Ib7fcf, b/151969438)
  • Uygulamanın, CameraCharacteristics oluşturulurken meydana gelen AssertionError'ı düzgün bir şekilde işleyebilmesi için InitializationException oluşturun. (I89c8c, b/160524721)
  • ExposureCompensation 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ınlandı. 1.0.0-beta09 sürümü bu kayıtları içerir.

API Değişiklikleri

  • UseCaseGroup'ta görüntü alanının boş değil olarak işaretlenmesine neden olan hata düzeltildi. Geliştiriciler, görüntü alanı ayarlamadan görüntü alanı oluşturabilmelidir. (Ie3d2e)
  • ExposureCompensation için deneysel arayüzler eklendi (If96c7)
  • Önizleme için rastgele hedef rotasyonuna izin ver. Dönüşüm bilgileri hesaplanır ve yeni bir TranformationInfoListener geri çağırma işlevi aracılığıyla kullanıcıya anında döndürülür. (I21470)

Hata Düzeltmeleri

  • Bazı cihazlarda flaşın kapanmaması sorunu düzeltildi. Bu sorun, flaş modu fotoğraf çekmek için FLASH_MODE_ON olarak ayarlandığında ve flaş patladığında FLASH_MODE_OFF olarak değiştirildiğinde ortaya çıkıyordu. Belirti, fener modunun etkinleştirilmesi gibidir. (Ib4451, b/162568128)
  • Uzantı efekti etkinse ve tedarikçi firma kitaplığı uygulamasının çıkış yüzeyinde özel bir işlem yapması gerekiyorsa PreviewView, TextureView'u kullanmaya zorlandı. (I0c3cc)
  • Bir etkinlik/parça bağlamı ProcessCameraProvider.getInstance(Context) öğesine iletildiğinde etkinlik/parça sızıntısı düzeltildi.

Bilinen Sorunlar

  • ViewPort ayarlandığında, HAL'de görüntü arabelleğini döndüren cihazlarda ImageCapture'ın kırpma dikdörtgeni yanlış olabilir. Bu sorun, sonraki sürümde düzeltilecektir.

Camera-Camera2 Sürüm 1.0.0-beta08

19 Ağustos 2020

androidx.camera:camera-camera2:1.0.0-beta08 yayınlandı. 1.0.0-beta08 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • bindToLifecycle, ana iş parçacığında hızlı çalışacak şekilde optimize edildi. (I1d57e)
  • DisplayOrientedMeteringPointFactory, CameraSelector yerine CameraInfo örneği alır. Bu sayede, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir. DisplayOrientedMeteringPointFactory kullanan tüm sınıflar, CameraSelector yerine CameraInfo örneği de alır. (I400c1)
  • Hedef çözünürlük ayarı 2016x1080 olduğunda ve desteklenen başka bir 1920x1080 16:9 boyut olduğunda 16:9 mod16 boyutunun (864x480) seçilmesiyle ilgili otomatik çözünürlük en boy oranı boyutu gruplandırma sorunu düzeltildi. (I53167, b/159363774)
  • CameraControl'ün yarışma durumu nedeniyle çalışamaması sorunu düzeltildi (I2279f, b/152333890, b/160714166).

Camera-Core Sürüm 1.0.0-beta08

19 Ağustos 2020

androidx.camera:camera-core:1.0.0-beta08 yayınlandı. 1.0.0-beta08 sürümü bu kayıtları içerir.

API Değişiklikleri

  • 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 CameraInfo örneği de alır. (I400c1)

Hata Düzeltmeleri

  • Resim yakalama için meta verilerdeki yatay çevirme işaretini kamera yönüne göre üzerine yazın. (I28499)
  • Context.getApplicationContext() yönteminden bir Application nesnesi döndürmeyen bir Context kullanıldığında başlatma işlemi artık kilitlenmeyecek. (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 kayıtları içerir.

Hata Düzeltmeleri

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

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

22 Temmuz 2020

androidx.camera:camera-core:1.0.0-beta07 yayınlandı. 1.0.0-beta07 sürümü bu kayıtları içerir.

API Değişiklikleri

  • FIT_CENTER, FIT_START ve FIT_END kesim stilini FIT ile birleştirin. FIT, dö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örebilmelidir. (I142a4)

Hata Düzeltmeleri

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

Camera-Camera2 Sürüm 1.0.0-beta06

24 Haziran 2020

androidx.camera:camera-camera2:1.0.0-beta06 yayınlandı. 1.0.0-beta06 sürümü bu kayıtları içerir.

API Değişiklikleri

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

Hata Düzeltmeleri

  • startFocusAndMetering'in Samsung Galaxy S7'de başarıyla odaklanamamasına neden olan sorun düzeltildi. (If3be7, b/159039233)
  • Uygulamadan çıkıldıktan sonra kameranın kapatılamaması sorunu düzeltildi. (I7a7b3)
  • PreviewView'un SurfaceView uygulamasını kullanırken tekrarlanan kamera geçişinin önizlemeyi bozması sorunu düzeltildi (I920ce).
  • Belirtilen MeteringPoint'lerden hiçbiri geçerli ölçüm dikdörtgenleri oluş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ınlandı. 1.0.0-beta06 sürümü bu kayıtları içerir.

API Değişiklikleri

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

Hata Düzeltmeleri

  • CameraX artık ProcessCameraProvider#getInstance() çağrılmadan önce ProcessCameraProvider#configureInstance() ile yapılandırılabilir. Bu sayede, uygulamanın Application sınıfında CameraXConfig.Provider uygulamanız gerekmeden 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-Camera2 Sürüm 1.0.0-beta05

10 Haziran 2020

androidx.camera:camera-camera2:1.0.0-beta05 yayınlandı. 1.0.0-beta05 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında yaşanan kilitlenme sorunu düzeltildi. InitializationException, uygulamanın kilitlenmesi yerine başlatma sonucunun ListenableFuture değerine ayarlanacak bir CameraUnavailableException içerir. (I9909a, b/149413835)
  • CONTROL_AF_STATE değerinin boş olduğu cihazlarda startFocusAndMetering çağrılırken oluşan 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ınlandı. 1.0.0-beta05 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında yaşanan kilitlenme sorunu düzeltildi. CameraUnavailableException içeren bir InitializationException, uygulamanın kilitlenmesine neden olmak 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 1.0.0-beta04 sürümü

27 Mayıs 2020

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

Hata Düzeltmeleri

  • Uygulamaların, kilitlenmeye neden olmadan Camera2Interop aracılığıyla herhangi bir camera2 yakalama isteği parametresi ayarlamasına izin verildi. Parametreleri geçersiz kılma nedeniyle sorunlar ortaya çıkabilir. Camera2Interop kullanılarak parametreler geçersiz kılındığında kararlılık ve davranış garanti edilmez. (Ibe5a1, b/149103700)
  • Sözde yerel ayar kullanan bir cihazda uygulama kullanılırken otomatik başlatma düzeltildi. (I3bef3, b/154767663)
  • Bağlantısı kesilen kullanım alanıyla ilgili hata günlüğü, Camera2CameraImpl'de hata ayıklama günlüğüne dönüştürüldü. (I1a565, b/154422490)
  • Flaş kullanılmasına rağmen çekilen resmin bazen çok karanlık olmasıyla ilgili sorun düzeltildi. (I5d9fa, b/149729613)
  • ImageCapture kaynağından ImageProxy içindeki arabelleğin geri sarılmamasıyla ilgili hata düzeltildi (I0c455, b/153249512).
  • Yalnızca ImageCapture bağlandığında ortaya çıkan şu sorunlar düzeltildi: (1) MAX_QUALITY ile fotoğraf çekilemiyordu; (2) Otomatik pozlama çalışmadığı için resim kalitesi kötü oluyordu. (I17782, b/145326998)
  • CameraX'in bağlantısı başka bir işlem veya kamerayı kullanan kod yolu tarafından kesildiğinde kamerayı yeniden açma güvenilirliği iyileştirildi (I1fbc3, b/153714651).

Camera-Core Sürüm 1.0.0-beta04

27 Mayıs 2020

androidx.camera:camera-core:1.0.0-beta04 yayınlandı. 1.0.0-beta04 sürümü bu kayıtları içerir.

API Değişiklikleri

  • CameraX kamera yığını tarafından dahili olarak kullanılan işleyiciyi ayarlamak için deneysel bir API olan 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ğlamalıdır. (I7bf32, b/121160431)

Hata Düzeltmeleri

  • ImageReaderProxy kapatıldıktan sonra ImageProxy öğesine erişilen ImageAnalysis uygulamasındaki kilitlenme sorunu düzeltildi. Bu işlem, ImageReaderProxy kapatılmadan önce Analyzer tarafından alınan tüm ImageProxy öğelerinin kapatılmasını da zorunlu kılar. (I4b299, b/145956416, b/154155377, b/156357269)
  • CameraInfo parametresi PreviewView#createSurfaceProvider() öğesinden kaldırıldı. PreviewView artık bu parametreyi dahili olarak SurfaceRequest öğesinden alıyor. (If18f0, b/154652477)
  • Sözde yerel ayar kullanan bir cihazda uygulama kullanılırken otomatik başlatma düzeltildi. (I3bef3, b/154767663)
  • Flaş kullanılmasına rağmen çekilen resmin bazen çok karanlık olmasıyla ilgili sorun düzeltildi. (I5d9fa, b/149729613)
  • Birden fazla setAnalyzer/clearAnalyzer çağrısının, analizörün analiz edilecek görüntüleri almamasına neden olduğu ImageAnalysis ile ilgili sorun düzeltildi. (I6169f, b/151605317, b/153514544)
  • ImageCapture kaynağından ImageProxy içindeki arabelleğin geri sarılmamasıyla ilgili hata düzeltildi (I0c455, b/153249512).
  • CameraManager tarafından desteklenen listedeki ilk kameranın her zaman 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 sorunu 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ınlandı. 1.0.0-beta03 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • camera-core sürümünü desteklemek için yapılan düzeltmeler

Camera-Core Sürüm 1.0.0-beta03

15 Nisan 2020

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

Hata Düzeltmeleri

  • Beta03'te, sıfır UseCase ile bindToLifecycle() çağrıldığında istisna oluşturulmasına neden olan gerileme düzeltildi. Bu, UseCase bağlamadan Camera alınmasını engelliyordu.

Camera-Camera2 Sürüm 1.0.0-beta02

1 Nisan 2020

androidx.camera:camera-camera2:1.0.0-beta02 yayınlandı. 1.0.0-beta02 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • ImageCapture tarafından üretilen ImageProxy içindeki ImageInfo.getRotationDegrees(), EXIF yönlendirme rotasyonel değeriyle eşleşecek şekilde düzeltildi. (Id4281, b/150802561)
  • Varsayılan CameraX/Camera2 uygulamasını kullanmak için artık build.gradle içinde CameraX bağımlılıklarının açıkça sıralanması gerekmez. Katı bağımlılıkların bildirilmesi gereken durumlarda, tüm CameraX bağımlılıkları artık derleme dosyasına dahil edilebilir. (I46e88)
  • Ekran boyutu 640x480'den küçük olan cihazlarda görülen IllegalArgumentException sorunu düzeltildi. (Ife3f2, b/150506192)
  • bindToLifecycle, yalnızca başarıyla bağlandığında UseCase'i değiştirecek şekilde düzeltildi. Daha önce, çözünürlük hesaplamaları yapmak için bindToLifecycle çağrıldığında UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'i güncellemesi gerekmiyor (I78d9e).

Camera-Core Sürüm 1.0.0-beta02

1 Nisan 2020

androidx.camera:camera-core:1.0.0-beta02 yayınlandı. 1.0.0-beta02 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • ImageCapture tarafından üretilen ImageProxy içindeki ImageInfo.getRotationDegrees(), EXIF yönlendirme rotasyonel değeriyle eşleşecek şekilde düzeltildi. (Id4281, b/150802561)
  • bindToLifecycle, yalnızca başarıyla bağlandığında UseCase'i değiştirecek şekilde düzeltildi. Daha önce, çözünürlük hesaplamaları yapmak için bindToLifecycle çağrıldığında UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'i güncellemesi gerekmiyor (I78d9e).
  • Preview.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üncellenmemesine neden olan sorun düzeltildi.

Camera-Camera2 Sürüm 1.0.0-beta01

26 Şubat 2020

androidx.camera:camera-camera2:1.0.0-beta01 yayınlandı. 1.0.0-beta01 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • SurfaceRequest.setSurface(Surface), SurfaceRequest.provideSurface(Surface) olarak; SurfaceRequest.setWillNotComplete() ise SurfaceRequest.willNotProvideSurface() olarak yeniden adlandırıldı. (I224fe)
  • ImageCapture.setTargetRotation() kullanarak hedef döndürme değerini değiştirdikten sonra kaydedilen bir resmin en boy oranının doğru olmamasıyla ilgili sorun düzeltildi. (I474ea, b/148763432)
  • Varsayılan CameraXConfig sağlayıcıyı ayarlayan işaret korunarak ProGuard etkinleştirilmiş uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)

Camera-Core 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 kayıtları içerir.

API Değişiklikleri

  • SurfaceRequest.provideSurface() tarihli ListenableFuture, Executor ve Callback ile değiştirildi. Bu sayede, provideSurface() üzerinde istisnaların işlenmesi gerekmediğinden API basitleştirilir ve provideSurface() geri çağırma işlevinin iptal edilemeyeceği zorunlu kılınır. Bu, yüzeylerin erken yayınlanması nedeniyle eski cihazlarda kilitlenmeleri önlemek için yapılır. SurfaceRequest.Result nesnesi artık bir SurfaceRequest öğesinin, sağlanan Surface öğesini nasıl kullandığını izlemek için kullanılıyor. (I7854b)
  • SurfaceRequest.setSurface(Surface), SurfaceRequest.provideSurface(Surface) olarak ve SurfaceRequest.setWillNotComplete(), SurfaceRequest.willNotProvideSurface() olarak yeniden adlandırıldı. (I224fe)

Hata Düzeltmeleri

  • ImageCapture.setTargetRotation() kullanarak hedef döndürme değerini değiştirdikten sonra kaydedilen bir resmin en boy oranının doğru olmamasıyla ilgili sorun düzeltildi. (I474ea, b/148763432)
  • Varsayılan CameraXConfig sağlayıcıyı ayarlayan işaret korunarak ProGuard etkinleştirilmiş uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)
  • Flaş modu API'leriyle ilgili dokümanlar, olası değerleri içerecek şekilde güncellendi. (I4a3ec)

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

10 Şubat 2020

androidx.camera:camera-camera2:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü şu taahhütleri içerir.

Hata Düzeltmeleri

  • Surface öğelerinin yalnızca Camera2 tarafından kullanım süresi boyunca saklanması sağlanarak INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY cihazlarda kararlılık artırıldı. (I9dac2)
  • CONTROL_AE_TARGET_FPS_RANGE düzgün şekilde ayarlanarak ESKİ cihazlardaki az pozlanmış ö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ü şu taahhütleri içerir.

API Değişiklikleri

  • ImageCapture, resimlerin Uri ve OutputStream uygulamalarına kaydedilmesine izin verecek şekilde güncellendi. Aşırı yüklenmiş 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 artık geliştiricilerin kendi ListenableFuture öğelerini oluşturmasını gerektirmiyor ve Surface sağlamak artık yeni bir SurfaceRequest nesnesi aracılığıyla yapılıyor. Preview.getPreviewSurfaceProvider() yöntemi, Preview diğer sınıflarla (ör. PreviewView) eşlendiğinde kötüye kullanılma potansiyeli nedeniyle kaldırıldı. (I20105)
  • getTargetRotation() ve getTargetName(), Preview listesine eklendi. (Iceee7)
  • getTargetRotation(), getBackpressureStrategy() ve getImageQueueDepth(), ImageAnalysis tarihinde eklendi. (I9d6d9)
  • ImageCapture() (I5bc17) sürümüne getTargetRotation() ve getCaptureMode() eklendi.
  • Daha önce ImageCapture.OnImageSavedCallback.onError() ve ImageCapture.OnImageCapturedCallback.onError() içinde iletilen bağımsız değişkenler, daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişkenle (ImageCaptureException) değiştirildi.
  • Daha önce ImageCapture.OnImageSavedCallback.onImageSaved() içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2)
  • Preview ve ImageCapture sınıfları artık nihai olarak işaretlendi. (I2500b)
  • API güncellendi. CameraInfo sınıfının getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() ve getLinearZoom() yöntemleri, ZoomState örneği döndüren getZoomState() yöntemiyle birleştirildi. (Ib19fe)
  • Yalnızca dahili kitaplık kullanımı için tasarlandıklarından OPTION_TARGET_CLASS ve OPTION_TARGET_NAME API alanları CameraXConfig sınıfından kaldırıldı. CameraXConfig.Builder için yapıcı kaldırıldı. (I96912)
  • CameraX'i başlatmak için uygulamanın Application sınıfını genişletmesi şartı kaldırıldı. Uygulamanın build.gradle dosyasına camera-camera2 yapısı 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ınlandı. 1.0.0-alpha09 sürümü şu 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 üzerinden kamera kimliğini çıkarabilirsiniz. Aşağıdaki kod örneğinde bunun nasıl kullanılacağı gösterilmektedir:

    Camera camera = provider.bindToLifecycle(...);
    String cameraId =
        Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
    

    Camera2CameraInfo sınıfı, ExperimentalCamera2Interop markerClass'ı gerektirir.

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ü şu 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, FocusMeteringAction.Builder() oluşturucularıyla değiştirildi.
  • DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float) kaldırıldı. Uygulamalar, Display parametresini alan ve geçerli ekranı ileten oluşturucuyu kullanmalıdır.
  • MeteringMode ve 3A işaretleri ile ilgili odak ve ölçüm API'leri için Javadoc iyileştirmeleri ve Display parametresinin kullanımı.
  • setZoomRatio ve setLinearZoom için referans dokümanları genişletildi.

Hata düzeltmeleri

  • Kameralar kapatılıp açıldığında "Ön koşul" kontrolünün başarısız olmasına neden olan sorunlar düzeltildi.
  • Fener ve yakınlaştırma API'leri kullanılırken oluşabilen bir ConcurrentModificationException düzeltildi.
  • Mod16 boyutları mevcut olduğunda istenen çözünürlüğe daha yakın çözünürlüklerin seçilmesiyle ilgili sorun düzeltildi.
  • startFocusMetering ve cancelFocusMetering API'leri artık belgelendiği şekilde çalışıyor, doğru zamanlamayla ve hata oluştuğunda hata döndürü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 mümkün olduğunda, orijinal isteği sınırlamak için yeterli çözünürlüğe sahip, kırpılmamış bir boyut seçilecek.

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

18 Aralık 2019

androidx.camera:camera-camera2:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu kayıtları içerir.

Bilinen Sorunlar

  • Camera2 birlikte çalışabilirliği kullanılırken tüm Camera2 yakalama isteği seçenekleri çalışmaz. İstenen seçenek desteklenmiyorsa oturum başlatılamaz ve şu şekilde bir hata oluşabilir: 09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination

Hata Düzeltmeleri

  • API düzeyi 21 ve 22 için kamera döndürüldükten veya değiştirildikten sonra önizlemede siyah ekran görünmesine neden olan sorun düzeltildi.

API Değişiklikleri

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

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

18 Aralık 2019

androidx.camera:camera-core:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu kayıtları içerir.

Bilinen Sorunlar

  • PreviewView veya CameraView kullanan uygulamaların en boy oranı önizlemesi yanlış 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 sınıfına taşındı.

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

4 Aralık 2019

androidx.camera:camera-camera2:1.0.0-alpha07 yayınlandı. camera-camera2'nin 1.0.0-alpha07 sürümü şu taahhütleri içerir

  • Camera2Config artık CameraX için Camera2 tabanlı bir uygulamayı başlatmak ve yapılandırmak amacıyla kullanılabilir. Bunun başlatma işleminde 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 (androidx.camera.camera2.interop.) taşındı.

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

4 Aralık 2019

androidx.camera:camera-core:1.0.0-alpha07 yayınlandı. camera-core'un 1.0.0-alpha07 sürümü şu commit'leri içerir

Beta sürümüne hazırlanırken bu alfa sürümünde bazı önemli değişiklikler yapıldığını unutmayın. Değişiklikleri incelemenizi ve geri bildirimlerinizi CameraX Google Grubu'nda 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 öğesini uygulamalı ve androidx.camera.camera2 tarafından sağlanan varsayılan Camera2Config öğesini 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 üzerinden kullanılabilir.

  • ProcessCameraProvider öğesinin işlem başına örneği, statik yöntem ProcessCameraProvider.getInstance() kullanılarak eşzamansız olarak elde edilir. Bu yöntem, tamamlandığında ProcessCameraProvider öğesini sağlayan dinlenebilir bir gelecek döndürür. Burada, tipik bir kullanım için onCreate() cinsinden gösterilir. Başlatma gecikmesini daha sonraki bir zamana (ör. bir kullanıcı işlemi kamera kullanıcı arayüzünü açtığında) ertelemek için etkinliğin yaşam döngüsünün ilerleyen aşamalarında getInstance() çağrıları yapabilirsiniz.

    import androidx.camera.lifecycle.ProcessCameraProvider
    import com.google.common.util.concurrent.ListenableFuture
    
    class MainActivity : AppCompatActivity() {
       private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider>
       override fun onCreate(savedInstanceState: Bundle?) {
           cameraProviderFuture = ProcessCameraProvider.getInstance(this);
      }
    
  • getInstance() tarafından döndürülen ListenableFuture öğesine bir dinleyici eklenebilir. Bu sayede kamera sağlayıcı, Future.get() üzerinde engelleme olmadan Future üzerinden alınabilir.

    cameraProviderFuture.addListener(Runnable {
      val cameraProvider = cameraProviderFuture.get()
      cameraProvider.bindToLifecycle(...)
    }, ContextCompat.getMainExecutor(this))
    
  • Kamera seçimi artık kullanım alanına göre değil, kamera seçici tarafından yapılır.

    val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
    
  • CameraProvider.bindToLifecycle, yaşam döngüsü sahibine, kamera seçiciye ve kullanım alanlarına 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 kullanım alanlarını doğrudan oluşturun. Örneğin:

    preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
    
  • Önizleme kullanım alanı, Android ile ilgili en iyi uygulamalara uyulması için uygulama tarafından oluşturulan ve yönetilen bir yüzeyi kabul edecek şekilde güncellendi. camera-view paketinde sağlanan PreviewView görünüm sınıfını kullanmanız önemle tavsiye edilir.

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

  • Önemli: ImageAnalysis Analyzer yönteminin uygulanması, alınan resimlerin kullanımı bittiğinde 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 durabilir. Ayrıntılar için referans belgelerine bakın.

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

  • ImageProxy.getImage(), deneysel olarak işaretlenmiştir. Uygulamalar, kullanımı örneğin @androidx.camera.core.ExperimentalGetImage aracılığıyla açıklamalıdır.

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

  • Analizör kaldırmak için ImageAnalysis.clearAnalyzer() işlevi eklendi.

  • Birden fazla yöntemi olan dinleyiciler Geri Çağırma olarak yeniden adlandırıldı:

    • ImageCapture.OnImageCapturedListener adlı bankanın yeni adı ImageCapture.OnImageCapturedCallback
    • ImageCapture.OnImageSavedListener, ImageCapture.OnImageSavedCallback olarak değiştirilmiştir
    • VideoCapture.OnVideoSavedListener adlı bankanın yeni adı VideoCapture.OnVideoSavedCallback
  • Numaralandırmalar IntDef olarak değiştirildi

  • Yakınlaştırma kontrolleri eklendi:

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

  • CameraInfo.isFlashAvailable() kaldırıldı. Fener, flaş işlevini geçersiz kılar. Referans belgelerinde daha fazla ayrıntı bulabilirsiniz.

  • ImageCapture.Metadata alanları, get/set/is erişimcileriyle değiştirildi.

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

  • MeteringPoints artık ölçüm işlemlerini gerçekleştiren ve fabrikalar tarafından üretilen araçlar olarak işlev görüyor. Uygulamalar, özel fabrikalar yerine mevcut fabrikaları kullanmalıdır.

Düzeltilen sorunlar

  • Devam ettirildiğinde (önceki bir duraklatma işleminde tamamlanmayı bekleyen resim çekme işlemleri varsa) resim çekmeyle ilgili sorun düzeltildi.
  • Bilinen Sorun: CameraControl.enableTorch() işlevsel ancak döndürülen ListenableFuture<Void>, flaş birimi olmasa bile her zaman hemen complete(success) gelecektir. Gelecekteki sürümlerde bu durum düzeltilerek nihai davranışa geçilecek: Flaş birimi olmadığında enableTorch(true) hemen başarısız olur (CaptureSession için istek göndermez) ve TorchState kapalı kalır.
  • Bilinen Sorun: startFocusAndMetering ve cancelFocusAndMetering, odak ölçümünü başlatıp iptal eder ancak belgelenen davranışı temsil etmeyen, hemen completed (success) bir gelecek döndürür. ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() tarafından döndürülen FocusMeteringResult, isFocusSuccessful() ve her zaman "false" değerini döndüren sahte bir sonuçtur. Bu, amaçlanan ve belgelenen davranıştan farklıdır.
  • Bilinen Sorun: PreviewView dokunma etkinlikleriyle kullanılacak bir ölçüm noktası fabrikası geliştiriliyor. Şu an için özel yönetilen yüzeyleri bağlayan uygulamalar mevcut ölçüm noktası fabrikalarını kullanabilir. Aksi takdirde PreviewView için dokunarak odaklama işlevi kullanılamaz.

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

9 Ekim 2019

androidx.camera:camera-camera2:1.0.0-alpha06 ve androidx.camera:camera-core:1.0.0-alpha06 yayınlandı. Bunlar camera-camera2:1.0.0-alpha06 içinde yer alan commit'ler, bunlar ise camera-core:1.0.0-alpha06 içinde yer alan commit'ler.

Yeni özellikler

En-boy oranlarını ayarlama konusunda yapılan değişiklikler:

  • setTargetAspectRatioMode() eklendi ve bir enum bağımsız değişkeni kabul ediyor. Bu, rastgele bir en boy oranı yerine RATIO_4_3 veya RATIO_16_9 seçenekleriyle en boy oranı modunu ayarlar. Bu, kameradan herhangi bir rastgele oran yerine yalnızca belirli en-boy oranlarının sağlandığı gerçeğini daha iyi yansıtır.
    • Şu anda yalnızca 16:9 ve 4:3 oranları kullanılabilir. 1:1 oranında ise yalnızca belirli cihazlarda kameradan bu oran kullanılabilir ve bu durumda yalnızca sınırlı çözünürlükler kullanılabilir. 1:1 arayüz veya işleme tasarlayan uygulamalar, daha esnek olan 16:9 veya 4:3 seçeneklerini kullanmalı ve ekranı kırpmalı ya da bir alt bölgeyi işlemelidir.
    • Bu en boy oranları, maksimum sensör alanını kullanacak şekilde ayarlanmıştır.
  • getTargetAspectRatio(), kullanım alanı yapılandırma API'lerine eklendi ve kullanım alanı çıkışının hedeflendiği en boy oranını döndürür.
  • ImageCapture için setTargetAspectRatio(Rational aspectRatio) yöntemi setTargetAspectRatioCustom(Rational aspectRatio) olarak değiştirildi. Bu değer ayarlandığında ImageCapture çıkışı buna göre kırpılır.

Executor 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. İlgili 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

Flaş Kullanılabilir ve Sensör Dönüşü API'lerini kontrol eden CameraInfo eklendi

  • CameraInfo ve getCameraInfo yöntemi eklendi. Bu yöntem, uygulamaların lense bakan CameraInfo'nun ve bu kamerada flaşın mevcut olup olmadığını kontrol etmesine olanak tanır. Örneğin:

    try {
        CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing);
        LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable();
        flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE);
    } catch (CameraInfoUnavailableException e) {
        Log.w(TAG, "Cannot get flash available information", e);
        flashToggle.setVisibility(View.VISIBLE);
    }
    
  • CameraInfo.getSensorRotationDegrees() eklendi. Kamera sensörünün yönünü cihazın doğal yönüne göre veya kolaylık sağlamak için Surface dönüşüyle açıklanan bir yöne göre (doğal yöne göre bir yönü açıklar) 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() yöntemlerinden birini çağırmalıdır. Aynı oluşturucuda her ikisini de çağırmak hataya neden olur.
    • Genel olarak, uygulamanın kullanıcı arayüzü tasarımına göre setTargetAspectRatio() kullanılması önerilir. Belirli çözümler kullanım alanına bağlıdır. Örneğin, önizleme ekran çözünürlüklerine yakındır ve Resim Yakalama yüksek çözünürlüklü fotoğraflar sağlar. Daha fazla bilgi için otomatik çözünürlükler tablosuna bakın.
    • Minimum (hesaplamadan tasarruf etmek için) veya maksimum çözünürlük (ayrıntıları işlemek için) gerektiğinde olduğu gibi daha spesifik durumlarda setTargetResolution() kullanın.
  • Executor API: Kullanım alanı yapılandırma API'lerinden setCallbackHandler() çağrısı kaldırıldı. Bunun yerine uygulamalar, geri çağırma ayarlayan diğer çeşitli API'lerde yürütücüyü 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'den küçük) çözünürlüklerin seçilerek önizleme görüntüsünün pikselli veya bulanık olmasına neden olan sorun düzeltildi. Özellikle daha küçük çözünürlüklere ihtiyaç duyan uygulamalar bunları açıkça talep edebilir.
  • Başka bir kamera uygulamasını başlatan bir intent'ten döndükten sonra kameranın siyah ekran göstermesine (kamera başlatılamadı) neden olan sorun düzeltildi.
  • Uygulamalar tekrar tekrar başlatıldığında veya durdurulduğunda şu hatanın gösterilmesine neden olan bir hata düzeltildi: java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
  • ImageAnalysis devre dışı bırakılırken oluşan şu hata düzeltildi: java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
  • Kamera bağlantısını kesme akışı için ek testler eklendi.
  • Arka arkaya kamera testleri çalıştırılırken test sisteminin sağlamlığı artırıldı.

Camera-Camera2 ve Camera-Core 1.0.0-alpha05 sürümü

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 commit'ler ve bunlar, camera-core:1.0.0-alpha05 sürümüne dahil edilen commit'lerdir.

  • API Değişikliği: Kullanım alanı hata değişkenleri yeniden adlandırıldı:

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

    • Lens yönüne göre seçilen bir kamera için CameraX'ten CameraControl almayı sağlayan API eklendi:

      CameraX.getCameraControl(LensFacing lensFacing)

    • MeteringPointFactory, MeteringPoint, MeteringMode ve FocusMeteringAction, Dokun ve Odakla özelliğini çalıştıracak şekilde 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 Metering Point Factory'ler için API'ler eklendi:

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

  • Aşağıdaki yöntemlerin ana (kullanıcı arayüzü) iş parçacığında çağrılmasını zorunlu kılar. Çağrılmadıkları durumlarda IllegalStateException hatası verir. Gelecekteki sürümler, diğer mesaj dizilerinde kullanıma izin verecek ve serileştirmeyi sağlayacak.

    • CameraX.bindToLifecycle()
    • CameraX.unbind()
    • CameraX.unbindAll()
    • ImageAnalysis.setAnalyzer()
    • ImageAnalysis.getAnalyzer()
    • ImageAnalysis.removeAnalyzer()
    • Preview.removePreviewOutputListener()
    • Preview.getOnPreviewOutputUpdateListener()
    • Preview.setOnPreviewOutputUpdateListener()
  • Çeşitli yapılandırma ayarları artık boş parametreleri kabul ediyor ve ilgili alıcılar boş değer döndürebiliyor.

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

  • Resim analiz edilirken döndürme sırasında kilitlenmeye neden olan hata düzeltildi.

  • Başlangıçta (kamera verisi yok), döndürme işleminden sonra veya ön ve arka kameralar arasında geçiş yapıldıktan sonra önizlemenin siyah görünmesine neden olan hata düzeltildi.

  • Aynı anda birden fazla görüntü analizi kullanım alanının test edilmesi kaldırıldı. Uyumluluğu sağlamak için uygulamalar yalnızca tek bir görüntü analizi kullanım alanı eklemelidir.

  • Kamera test paketine (WIP) sahte kamera için ilk robolectric testleri eklendi.

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

Camera-Camera2 ve Camera-Core 1.0.0-alpha04 sürümü

7 Ağustos 2019

androidx.camera:camera-camera2:1.0.0-alpha04 ve androidx.camera:camera-core:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü şu 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 yakalama oturumu başlatmak için cihazın kapasitesine göre çözünürlük/en boy oranlarından ödün verdiği ve bu nedenle tam isteklerin yerine getirilemeyebileceği anlamına gelir. Bunun nedeni şunlardan biri olabilir:

  • İstenen çözünürlüğü desteklemeyen cihazlar
  • Doğru şekilde çalışması için belirli çözünürlüklerin kullanılması gereken ESKİ cihazlardaki uyumluluk sorunları
  • Bazı cihazlarda belirli biçimler yalnızca belirli en-boy oranlarında kullanılabilir.
  • JPEG veya video kodlama için "en yakın mod16" tercihi. CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP sayfasına bakın.

Oturumu CameraX 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 ayarlamanız gerekir.

Çözünürlük ve en boy oranlarını ayarlamak için API'yi daha net hale getirmeyi amaçlayan bazı değişiklikler yapıldı:

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

ImageAnalysis Engelleyici Olmayan Mod

  • ImageReaderMode.ACQUIRE_LATEST_IMAGE artık engelleme yapmıyor. Sıradaki en son görüntüyü alır ancak kamera ardışık düzeninin engellenmesini önlemek için kullanılmayan görüntüleri sürekli olarak siler.
  • Analizör, ardışık düzeni durdurmadan tek bir görüntüyü süresiz olarak tutabilir.
  • Uygulama, daha sonra engelleyen bir yürütücü sağlarsa ImageAnalysis kullanım alanı engellenir.
  • Dahili olarak ayarlanan varsayılan yürütücü, engelleyici olmayan bir yürütücü olarak davranır.

Hata Düzeltmeleri

  • Otomatik odaklama, otomatik pozlama ve otomatik beyaz dengesi olmayan cihazlarda görüntü yakalarken 3A yakınsama için bekleme sırasında yaşanan zaman aşımı sorunları düzeltildi.
  • ImageCapture ile hızlı bir şekilde fotoğraf çekildiğinde ortaya çıkan sorun düzeltildi. Hata düzeltmeleri: 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 ile sonuçlanan sorun düzeltildi.
  • LEGACY cihazın maksimum JPEG çözünürlüğü olarak belirli bir en-boy oranı gerektirmesiyle ilgili sorun düzeltildi.
  • Kamera açılırken uygulama arka plana alındığında karşılaşılan sorun düzeltildi.
  • API < 25'teki sorun düzeltildi, checkAndUpdateEglState: invalid current EGLDisplay hatası kaldırıldı
  • Uzantılar etkinleştirilip başlatıldıktan sonra önizlemenin bağlantısı kaldırılırken karşılaşılan sorun düzeltildi.
  • camera-view ve camera-extensions için derleme yapıları artık alfa sürümleri olarak yayınlanıyor.

Camera-Camera2 ve Camera-Core 1.0.0-alpha03 sürümü

2 Temmuz 2019

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

API Değişiklikleri

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

Camera-Core

  • Hızlı açma/kapama veya bağlama/bağlantıyı kesme işlemlerinde yapılandırılmamış giriş/çıkış yüzeyinin kilitlenmesi sorunu düzeltildi.
  • Yeni Futures uygulamalarına geçiş
  • Daha kapsamlı testler için test düzeltmeleri
  • Temel entegrasyon testi artık fotoğrafların çekim zamanını gösteriyor
  • Yürütücüler için dahili uyumluluk sınıfı geliştirildi.
  • Zamanlama testi uygulaması, görüntü yakalamak için önceki işlemin tamamlanmasını bekler ve daha iyi kararlılık sağlar.

Uzantılar

  • Sürüm oluşturma kontrolleri eklendi
  • Ek test kapsamı: uzantı etkinliği geri çağırmaları
  • Dahili olarak karşılık gelen resim ve meta verilerle ilgili iyileştirmeler
  • Test uygulamasında mod değiştirme ile ilgili düzeltmeler

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

5 Haziran 2019

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

Hata düzeltmeleri

  • Emülatör kullanılırken karşılaşılan sıfıra bölme sorunu düzeltildi.
  • Kullanım alanlarının bağlantısı hızlı bir şekilde kaldırılıp yeniden bağlanırken hızlıca fotoğraf çekildiğinde bazı cihazlarda oluşan NullPointerException/Surface Abandoned hatası düzeltildi.
  • Ödeme alma isteği güncellemelerinin tüm platformları tutarlı bir şekilde etkilemesini sağlamak için dahili sorun düzeltildi.
  • Yeni uygulama örneklerinde kullanım alanları yeniden başlatılırken kararlılık iyileştirmeleri
  • API'de yürütücü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 enstrümantasyon testi 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 kayıtları içerir.

Camera-Lifecycle Sürüm 1.0.0-beta11

14 Ekim 2020

androidx.camera:camera-lifecycle:1.0.0-beta11 yayınlandı. 1.0.0-beta11 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • <UseCase>.getTargetRotation(), Builder veya UseCase'de bir targetRotation ayarlanmadığı sürece bir Camera örneğine eklenmeden önce çağrılırsa Surface.ROTATION_0 değerini 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ınlandı. 1.0.0-beta10 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

Camera-Lifecycle Sürüm 1.0.0-beta09

16 Eylül 2020

androidx.camera:camera-lifecycle:1.0.0-beta09 yayınlandı. 1.0.0-beta09 sürümü bu kayıtları 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ı. 1.0.0-beta08 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Context.getApplicationContext() yönteminden bir Application nesnesi döndürmeyen bir Context kullanıldığında başlatma işlemi artık 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ınlandı. 1.0.0-beta07 sürümü bu kayıtları içerir.

Camera-Lifecycle Sürüm 1.0.0-beta06

24 Haziran 2020

androidx.camera:camera-lifecycle:1.0.0-beta06 yayınlandı. 1.0.0-beta06 sürümü bu kayıtları içerir.

API Değişiklikleri

  • 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'ı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ınlandı. 1.0.0-beta05 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında yaşanan kilitlenme sorunu düzeltildi. CameraUnavailableException içeren bir InitializationException, uygulamanın kilitlenmesine neden olmak yerine başlatma sonucunun ListenableFuture değerine ayarlanır. (I9909a, b/149413835)

Camera-Lifecycle Sürüm 1.0.0-beta04

27 Mayıs 2020

androidx.camera:camera-lifecycle:1.0.0-beta04 yayınlandı. 1.0.0-beta04 sürümü bu kayıtları içerir.

Camera-Lifecycle Sürüm 1.0.0-beta03

15 Nisan 2020

androidx.camera:camera-lifecycle:1.0.0-beta03 yayınlandı. 1.0.0-beta03 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Beta03'te, sıfır UseCase ile bindToLifecycle() çağrıldığında istisna oluşturulmasına neden olan gerileme düzeltildi. Bu, UseCase bağlamadan Camera alınmasını engelliyordu.
  • camera-core sürümünü desteklemek için yapılan düzeltmeler

Camera-Lifecycle Sürüm 1.0.0-beta01

26 Şubat 2020

androidx.camera:camera-lifecycle:1.0.0-beta01 yayınlandı. 1.0.0-beta01 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • İlk kullanıma hazırlama sırasında ProcessCameraProvider alınırken varsayılan bir yapılandırmanın kullanıldığını ve Application'i genişletmenin isteğe bağlı olduğunu belirten dokümanlar düzeltildi. (I5e395)

Camera-Lifecycle Sürüm 1.0.0-beta02

1 Nisan 2020

androidx.camera:camera-lifecycle:1.0.0-beta02 yayınlandı. 1.0.0-beta02 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • camera-camera2:1.0.0-beta02 ve camera-core:1.0.0-beta02 yapılarındaki hata düzeltmelerini destekleyecek şekilde güncellendi.

Camera-Lifecycle Sürüm 1.0.0-alpha10

10 Şubat 2020

androidx.camera:camera-lifecycle:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü şu taahhütleri 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ınlandı. 1.0.0-alpha03 sürümü bu kayıtları içerir.

Güncellemeler

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

Camera-Lifecycle 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ü şu taahhütleri içerir.

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

  • androidx.camera:camera-core:1.0.0-alpha08 kullanılacak şekilde güncellendi.

Camera-Lifecycle Sürüm 1.0.0-alpha01

4 Aralık 2019

androidx.camera:camera-lifecycle:1.0.0-alpha01 yayınlandı. camera-lifecycle 1.0.0-alpha01 sürümü şu commit'leri içerir:

API notları

  • camera-lifecycle yapısı eklendi. Bu yapı, LifeCycleCameraProvider arayüzünü ve ProcessCameraProvider adlı bir uygulamayı sağlar. Bu uygulama, önceki CameraX sınıfının temel işlevlerinin çoğunu sağlar ve getInstance() yöntemiyle elde edilir.
  • Uygulamaların CameraX'i kullanabilmesi için camera-lifecycle kitaplığını içermesi gerekir.
  • ProcessCameraProvider kullanarak CameraX'i nasıl başlatacağınızı öğrenmek için camera-core bölümündeki notlara bakın.

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

Sürüm 1.0.0-alpha32

15 Aralık 2021

androidx.camera:camera-extensions:1.0.0-alpha32 ve androidx.camera:camera-view:1.0.0-alpha32 yayınlandı. 1.0.0-alpha32 sürümü bu commit'leri 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ı için API dosyalarını güncelleme (If683a, b/161377155)

Hata Düzeltmeleri

  • VideoCapture bağlandığında uygulamanın uzantı modlarını etkinleştirmesine izin verme. CameraX uzantıları yalnızca ImageCapture ve Preview dillerini destekler. VideoCapture henüz desteklenmiyor. Uygulama VideoCapture bağlar ve herhangi bir uzantı modunu etkinleştirirse IllegalArgumentException hatası verilir. (I0d87b)
  • CameraSelector#filter, sonuç kümesi boş olduğunda artık IllegalArgumentException hatası vermiyor. (I27804)
  • ListenableFuture döndürdüğü için ExtensionsManager#getInstance API'si getInstanceAsync olarak yeniden adlandırıldı. İşlev adının Async son eki, işlevin 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 bilemediğinden ve döndürülen gecikme bilgisinin maksimum yakalama çıkış boyutu için mi yoksa giriş çözünürlüğü parametresi için mi olduğunu ayırt edemediğinden çözünürlük parametresini ExtensionsManager#getEstimatedCaptureLatencyRange API'sinden kaldırın. (I74bb2)
  • ExtensionsManager işlevlerinin CameraProvider parametresini getInstance() API'sine taşıyın. Böylece kullanıcıların ExtensionsManager işlevlerini her çağırdığında CameraProvider parametresini girmesi gerekmez. (Ic7e48)

1.0.0-alpha31 sürümü

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 kayıtları içerir.

API Değişiklikleri

  • CameraSelector'a dayalı bir CameraInfo listesini filtrelemek için herkese açık API'ye CameraSelector#filter eklendi. (I105d0)

Hata Düzeltmeleri

  • Belirli cihazlarda uzantı modu hızlı bir şekilde değiştirilirken yaşanan kilitlenme sorunu 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 kayıtları içerir.

API Değişiklikleri

  • Tüm CameraX sınıflarına @RequiresApi(21) ek açıklaması eklendi ve AndroidManifest.xml dosyasından minSdkVersion kaldırıldı. Bu sayede camera-core, minSdkVersion'si 21'den küçük olan ancak API 21 ve sonraki sürümleri temel alan kod yollarını koşullu olarak kullanmak isteyen uygulamalara kolayca entegre edilebilir. minSdkVersion 21 veya daha yüksek olan uygulamalarda bu değişiklik için 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 yayınlandı. 1.0.0-alpha29 sürümü bu kayıtları 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(...) politikasını kullanın. (Id9d4a)
  • RotationReceiver sınıfı güncellendi: set/clear Listener, add/remove/removeAll olarak değiştirildi, varsayılan olarak ana iş parçacığını kullanan setListener varyasyonu kaldırıldı ve yöntemlerin ek açıklaması eklendi. (Ib1669)

Hata Düzeltmeleri

  • Uzantı modunun ne yaptığını doğru şekilde göstermek için ExtensionMode#BEAUTY, FACE_RETOUCH olarak yeniden adlandırıldı. (I61f54, b/198515274)
  • Tek bir etkinlikte birden fazla CameraController ve PreviewView kullanıldığında kameranın beklenmedik şekilde kapanmasına neden olan sorun düzeltildi. (Ibfd18, b/197539358)

Sürüm 1.0.0-alpha28

18 Ağustos 2021

androidx.camera:camera-extensions:1.0.0-alpha28 ve androidx.camera:camera-view:1.0.0-alpha28 yayınlandı. 1.0.0-alpha28 sürümü bu kayıtları içerir.

API Değişiklikleri

  • API'ler artık deneysel olmadığından ExperimentalUseCaseGroupLifecycle ek açıklaması kaldırıldı. (I17b85)
  • RotationListener yeniden düzenlendi ve RotationProvider olarak yeniden adlandırıldı. Aynı özelliği biraz farklı bir API ile sunmaya devam eder. (Idffc5)
  • TAP_TO_FOCUS_UNSUCCESSFUL, TAP_TO_FOCUS_NOT_FOCUSED olarak ve TAP_TO_FOCUS_SUCCESSFUL, TAP_TO_FOCUS_FOCUSED olarak yeniden adlandırıldı. OutputSize final yapıldı (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 kayıtları içerir.

API Değişiklikleri

  • Görüntü alanı API'si deneysel aşamadan çıkarı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

  • Compose kullanıcı arayüzüyle birlikte kullanıldığında PreviewView PERFORMANCE modunun uzaması sorunu düzeltildi. (Ie1137, b/183864890)

Sürüm 1.0.0-alpha26

30 Haziran 2021

androidx.camera:camera-extensions:1.0.0-alpha26 ve androidx.camera:camera-view:1.0.0-alpha26 yayınlandı. 1.0.0-alpha26 sürümü bu commit'leri içerir.

API Değişiklikleri

  • En son dokunarak odaklama sonucunu gösteren yeni bir yöntem CameraController#getTapToFocusState() ekleyin. (Iaccb0)
  • CameraController'a daha fazla kamera çekirdeği özelliği ekleme: hedef en boy oranı, hedef çözünürlük, yakalama modu, CameraControl ve özel yürütücüler için alıcılar/ayarlayıcılar. (Iea8f2)
  • Yüzey rotasyonu değişikliklerini alan bir RotationReceiver sınıfı ekleyin. Bu, cihaz sabit dikey/yatay moddayken hedef dönüşü ayarlamak için kullanılabilir. (Ib278f)
  • ExtensionsManager sınıfında yeni getEstimatedCaptureLatencyRange herkese açık API'leri kullanıma sunuldu. (I6a8ec)
  • ExtensionsErrorListener desteği sonlandırıldı. Şu anda bu arayüz yalnızca, uzantı modları etkinleştirilirken Preview veya ImageCapture'ın eksik olup olmadığını izlemek için kullanılır. CameraX, uzantı işlevlerinin düzgün çalışması için otomatik olarak ek bir Önizleme veya ImageCapture ekler. Bu tarihten sonra bu arayüz üzerinden hata bildirilmeyecektir. (I47d9e)
  • Yeni ExtensionsManager getInstance, isExtensionAvailable ve getExtensionEnabledCameraSelector herkese açık API'leri kullanıma sunuldu ve eski <EffectName><UseCase>Extender sınıfları ile ilgili API'ler kullanımdan kaldırıldı. (I329e6)

Sürüm 1.0.0-alpha25

2 Haziran 2021

androidx.camera:camera-extensions:1.0.0-alpha25 ve androidx.camera:camera-view:1.0.0-alpha25 yayınlandı. 1.0.0-alpha25 sürümü şu taahhütleri içerir:

API Değişiklikleri

  • ExperimentalCameraFilter API'leri artık deneysel aşamadan çıktı ve resmi API'ler haline geldi. Ek açıklamalı OptIn olmadan kullanılabilirler. (I4bc94)
  • Kullanım alanları arasında koordinatları 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. Geçiş işleminin nasıl yapılacağını öğrenmek için lütfen geçiş rehberini inceleyin. (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 kayıtları içerir.

Hata Düzeltmeleri

  • Deneysel API'lerdeki @Experimental ek açıklaması @RequiresOptIn ile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılan androidx.annotation.experimental.UseExperimental yerine androidx.annotation.OptIn kullanın. (Iff226)
  • Samsung J5 Prime'da PreviewView'un uzatılması sorunu düzeltildi (Ib10b6).

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

24 Mart 2021

androidx.camera:camera-extensions:1.0.0-alpha23 ve androidx.camera:camera-view:1.0.0-alpha23 yayınlandı. 1.0.0-alpha23 sürümü şu commit'leri içerir:

API Değişiklikleri

  • CameraView kullanımdan kaldırılıyor. Lütfen bunun yerine LifecycleCameraController politikasını kullanın. Geçiş rehberine (Idac2c) bakın.
  • setLinearZoom() işlevine FloatRange ek açıklaması eklendi (I69971)

Hata Düzeltmeleri

  • Kamera görünümü bağımlılıkları, 1.0.0 yapılarını kullanacak şekilde sabitlendi. camera-view'a bağlı olmak, Gradle'ın bağımlılık çözümlemesinin camera-core, camera-camera2 ve camera-lifecycle'ı otomatik olarak en son 1.1.0 yapılarına yükseltmesine neden olmaz. Ancak camera-view, 1.1.0'ı kullanacak şekilde açıkça ayarlanmışsa bu yapılarla uyumludur. (Ic8fa1, b/181599852)
  • PreviewView'da Samsung A3'ün uzatılmış önizlemesi düzeltildi. (Iacb30, b/180121821)
  • Kamera başlatılmadan önce kamera seçicinin ayarlanamamasına neden olan sorun düzeltildi. (Ic8bd0)

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

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 commit'leri içerir.

API Değişiklikleri

Hata Düzeltmeleri

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

Camera Extensions ve View 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 yayınlandı. 1.0.0-alpha21 sürümü bu kayıtları içerir.

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

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

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ınlanıyor.

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 kayıtları içerir.

Hata Düzeltmeleri

  • Kamera görünümüne @ExperimentalVideo ek açıklaması eklendi. Bu ek açıklama, deneysel video işlevlerini sunan API'leri işaretler. Bu işlevler, özellikler tam olarak geliştirildikçe değişebilir. Bu API'leri kullanan tüm yöntemler, markerClass olarak ExperimentalVideo ile @UseExperimental ek açıklamasını kullanmalıdır. (I6d729)

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

14 Ekim 2020

androidx.camera:camera-extensions:1.0.0-alpha18 yayınlandı. 1.0.0-alpha18 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

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

Camera-View Sürüm 1.0.0-alpha18

14 Ekim 2020

androidx.camera:camera-view:1.0.0-alpha18 yayınlandı. 1.0.0-alpha18 sürümü şu commit'leri içerir:

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

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

23 Eylül 2020

androidx.camera:camera-extensions:1.0.0-alpha17 yayınlandı. 1.0.0-alpha17 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

Camera-View Sürüm 1.0.0-alpha17

23 Eylül 2020

androidx.camera:camera-view:1.0.0-alpha17 yayınlandı. 1.0.0-alpha17 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

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

16 Eylül 2020

androidx.camera:camera-extensions:1.0.0-alpha16 yayınlandı. 1.0.0-alpha16 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Kamera örneklerinde uzantıları etkinleştirmek ve sorgulamak için kullanılan Extensions nesnesini almak üzere ExtensionsManager yöntemini ekledik (I4fb7e).

Camera-View Sürüm 1.0.0-alpha16

16 Eylül 2020

androidx.camera:camera-view:1.0.0-alpha16 yayınlandı. 1.0.0-alpha16 sürümü bu commit'leri içerir.

API Değişiklikleri

  • PreviewView#setDeviceRotationForRemoteDisplayMode() ve PreviewView#getDeviceRotationForRemoteDisplayMode() kaldırıldı. İki yöntem, istenen rotasyon ekran rotasyonu olmadığında (ör. uzaktan ekran) önizleme rotasyonunu özelleştirmek için kullanılır. Ekran dışı önizleme rotasyonunu şimdi işlemek için Preview#setTargetRotation() ve yeni eklenen PreviewView#getViewPort(targetRotation) ile istediğiniz rotasyonu ayarlayın. (Ib62cc)
  • createSurfaceProvider(), getSurfaceProvider() olarak yeniden adlandırıldı. Yöntem her zaman Preview.SurfaceProvider'ın aynı örneğini döndürür. (Iff83c)

Hata Düzeltmeleri

  • Uzantı efekti etkinse ve tedarikçi firma kitaplığı uygulamasının çıkış yüzeyinde özel bir işlem yapması gerekiyorsa PreviewView, TextureView'u kullanmaya zorlandı. (I0c3cc)
  • Önizleme için rastgele hedef rotasyonuna izin ver. Dönüşüm bilgileri hesaplanır ve yeni bir TranformationInfoListener geri çağırma işlevi aracılığıyla kullanıcıya anında döndürülür. (I21470)

Bilinen Sorunlar

  • PreviewView'da, son kullanıcı PreviewView'u tıkladığında OnClickListener#onClick() çağrılmaz. Dokunma etkinliği, PreviewView#onTouchEvent() tarafından yanlışlıkla kullanılıyor. Bu sorun, sonraki sürümde düzeltilecektir.
  • ViewPort, PreviewView ile birlikte kullanılıyorsa PreviewView#getMeteringPointFactory() öğesinden alınan MeteringPoint yanlış olabilir.

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

19 Ağustos 2020

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

Hata Düzeltmeleri

  • ExtensionsManager.init() yöntemi artık 0 bağımsız değişken yerine parametre olarak bir Context alır. (Ife754)
  • Context.getApplicationContext()'dan bir Application nesnesi döndürmeyen bir Context kullanıldığında başlatma işlemi artık kilitlenmeyecek. (I3d3c9, b/160817073)

    Camera-View Sürüm 1.0.0-alpha15

    19 Ağustos 2020

androidx.camera:camera-view:1.0.0-alpha15 yayınlandı. 1.0.0-alpha15 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • 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 CameraInfo örneği de alır. (I400c1)
  • TextureViewMeteringPointFactory kaldırıldı. PreviewView, TextureView veya SurfaceView kullanıp kullanmadığına bakılmaksızın bir ölçüm noktası fabrikası oluşturmak için herkese açık bir API (createMeteringPointFactory()) sağlar. (Ide693)
  • PreviewView'un SURFACE_VIEW/TEXTURE_VIEW uygulama modlarını PERFORMANCE/COMPATIBLE olarak yeniden adlandırın. PERFORMANCE eski SURFACE_VIEW modu, COMPATIBLE ise eski TEXTURE_VIEW modudur. (I0edc2)
  • Resim yakalama için meta verilerdeki yatay çevirme işaretini kamera yönüne göre üzerine yazın. (I28499)

Kamera Uzantıları 1.0.0-alpha14 sürümü

22 Temmuz 2020

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

Camera-View Sürüm 1.0.0-alpha14

22 Temmuz 2020

androidx.camera:camera-view:1.0.0-alpha14 yayınlandı. 1.0.0-alpha14 sürümü bu kayıtları içerir.

Camera-Extensions Sürüm 1.0.0-alpha13

24 Haziran 2020

androidx.camera:camera-extensions:1.0.0-alpha13 yayınlandı. 1.0.0-alpha13 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

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

Camera-View Sürüm 1.0.0-alpha13

24 Haziran 2020

androidx.camera:camera-view:1.0.0-alpha13 yayınlandı. 1.0.0-alpha13 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • CameraView, Lifecycle'ı bağlandıktan kısa bir süre sonra DESTROYED durumuna geçen bir LifecycleOwner'a bağlanırken artık IllegalArgumentException ile kilitlenmiyor. DESTROYED durumundaki bağlama yaşam döngüleri, kamerayı açmaya çalışmaz. (I7c2b8)
  • PreviewView StreamState artık CameraView.getPreviewStreamState() (I21a2b) üzerinden kullanılabilir.

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

10 Haziran 2020

androidx.camera:camera-extensions:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında yaşanan kilitlenme sorunu düzeltildi. CameraUnavailableException içeren bir InitializationException, uygulamanın kilitlenmesine neden olmak yerine başlatma sonucunun ListenableFuture değerine ayarlanır. (I9909a, b/149413835)

Camera-View Sürüm 1.0.0-alpha12

10 Haziran 2020

androidx.camera:camera-view:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü şu commit'leri içerir:

Hata Düzeltmeleri

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

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

27 Mayıs 2020

androidx.camera:camera-extensions:1.0.0-alpha11 yayınlandı. 1.0.0-alpha11 sürümü bu kayıtları içerir.

Camera-View Sürüm 1.0.0-alpha12

10 Haziran 2020

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

Yeni özellikler

API Değişiklikleri

Hata Düzeltmeleri

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

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

27 Mayıs 2020

androidx.camera:camera-view:1.0.0-alpha11 yayınlandı. 1.0.0-alpha11 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Uygulamaların önizlemenin yayınlanıp yayınlanmadığını gözlemlemesine olanak tanıyan PreviewView#getPreviewStreamState API'si eklendi. PreviewView, TEXTURE_VIEW modundayken STREAMING durumu, önizleme resminin görünür olmasını da garanti eder. (Ic0906, b/154652477)
  • Uygulama, uzak ekran modunda çalışıyorsa dönüşüm hesaplamaları için cihaz döndürme özelliği sağlayan PreviewView#setDeviceRotationForRemoteDisplayMode() API'si eklendi. (I59b95, b/153514525)

Hata Düzeltmeleri

  • Android 7.0 ve önceki sürümleri çalıştıran FULL/LIMITED/LEVEL_3 kameralarda önizleme bozulması sorunu düzeltildi. Android sürümü 7.0 veya daha eski olduğunda ImplementationMode#TEXTURE_VIEW modu zorunlu olarak kullanılır. (I83e30, b/155085307)
  • CameraInfo parametresi PreviewView#createSurfaceProvider() öğesinden kaldırıldı. PreviewView artık bu parametreyi dahili olarak SurfaceRequest öğesinden alıyor. (If18f0, b/154652477)
  • VideoCapture'ın CameraView'daki varsayılan en-boy oranı 16:9 olarak düzeltildi. (Ie6a7b, b/153237864)
  • ViewPager2'de PreviewView parçası kaydırılarak kapatılıp tekrar kaydırılarak açıldığında oluşan Preview siyah ekran sorunları düzeltildi. Ayrıca removeView(previewview) ve ardından addView(previewView) ile ilgili sorun da düzeltildi. (Iab555, b/149877652, b/147354615)
  • Resimlerin Uri ve OutputStream uygulamalarına kaydedilmesine izin vermek için CameraView#takePicture() API'sini güncelleyin. Test uygulamasını, standart örnek olarak Uri kullanacak şekilde güncelleyin. (Ia2459, b/153607583)
  • ScaleType özelliğini ayarlayarak PreviewView'un ölçek türünü bir XML düzeninden ayarlayabilirsiniz. (I08565, b/153015659)
  • CameraView.ScaleType kaldırıldı. Bunun yerine, CameraView ile bir ölçek türü ayarlamak/almak için PreviewView.ScaleType kullanın. (Ia8974, b/153014831)
  • PreviewView öğesine varsayılan olarak bir arka plan rengi verin (henüz yoksa). Bu sayede, önizleme yayını başlamadan önce arkasındaki içerik görünmez. (I09fad)

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

15 Nisan 2020

androidx.camera:camera-extensions:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

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

Camera-View Sürüm 1.0.0-alpha10

15 Nisan 2020

androidx.camera:camera-view:1.0.0-alpha010 yayınlandı. 1.0.0-alpha010 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

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

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

1 Nisan 2020

androidx.camera:camera-extensions:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü bu kayıtları 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 kayıtları içerir.

Bilinen Sorunlar

  • ImplementationMode.SURFACE_VIEW ile PreviewView kullanımı bazı cihazlarda iyi çalışmayabilir. Bunun nedeni, önizleme için kullanılan SurfaceView'nin, içinde bulunduğu pencerenin yaşam döngüsü durdurulduğunda yüzeyini geçersiz kılmasıdır. Yeniden başlatıldığında kamera tekrar açılır ve SurfaceView'nin yüzeyi tekrar geçerli olmadan önce önizlemeyi devam ettirmeye çalışabilir. Şimdilik ImplementationMode.TEXTURE_VIEW kullanmanız gerekir.

API Değişiklikleri

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

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

    Şu anda aşağı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() öğesine eklendi. Bu, ana ileti dizisinden ç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 alır.

  • PreviewView.getScaleType() eklendi.

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

  • PreviewView içindeki (x, y) değerlerinin MeteringPoint değerine dönüştürülmesini desteklemek için PreviewView'a createMeteringPointFactory() API'si eklendi. (Ib36d7)

Hata Düzeltmeleri

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

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

26 Şubat 2020

androidx.camera:camera-extensions:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü şu commit'leri içerir.

Camera-View Sürüm 1.0.0-alpha08

26 Şubat 2020

androidx.camera:camera-view:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • SurfaceRequest.provideSurface() tarihli ListenableFuture, Executor ve Callback ile değiştirildi. Bu sayede, provideSurface() üzerinde istisnaların işlenmesi gerekmediğinden API basitleştirilir ve provideSurface() geri çağırma işlevinin iptal edilemeyeceği zorunlu kılınır. Bu, yüzeylerin erken yayınlanması nedeniyle eski cihazlarda kilitlenmeleri önlemek için yapılır. SurfaceRequest.Result nesnesi artık bir SurfaceRequest öğesinin, sağlanan Surface öğesini nasıl kullandığını izlemek için kullanılıyor. (I7854b)
  • SurfaceRequest.setSurface(Surface), SurfaceRequest.provideSurface(Surface) olarak ve SurfaceRequest.setWillNotComplete(), SurfaceRequest.willNotProvideSurface() olarak yeniden adlandırıldı. (I224fe)
  • Varsayılan CameraXConfig sağlayıcıyı ayarlayan işaret korunarak ProGuard etkinleştirilmiş 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ınlandı. 1.0.0-alpha07 sürümü şu 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, daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişkenle (ImageCaptureException) değiştirildi.
  • Daha önce ImageCapture.OnImageSavedCallback.onImageSaved() içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2)

Camera-View Sürüm 1.0.0-alpha07

10 Şubat 2020

androidx.camera:camera-view:1.0.0-alpha07 yayınlandı. 1.0.0-alpha07 sürümü şu commit'leri içerir.

API Değişiklikleri

  • PreviewView öğesinin TextureView uygulaması, artık TextureView boyutunu kamera sensörü çıkış boyutuna ayarlar ve ardından üst öğesi PreviewView'i dolduracak şekilde ölçeklendirir. Kamera önizlemesinin kullanıcı arayüzünün bir bölümünü (örneğin, tüm ekranı) doldurmasını istiyorsanız PreviewView boyutunu sabit bir değere ayarlamamanız veya içeriğini sarmalamasını sağlamamanız gerekir (örneğin, "wrap_content" özelliğini kullanarak). Bu durum, kamera önizlemesinin PreviewView öğesinin yalnızca bir kısmını doldurmasına neden olabilir (kamera sensörü çıkış boyutu daha küçükse). Bunun yerine, PreviewView öğesini üst öğesi kadar büyük olacak şekilde ayarlamanız gerekir (örneğin, "match_parent" özelliğini kullanarak). (1204869)

Hata Düzeltmeleri

  • ImageCapture, resimlerin Uri ve OutputStream uygulamalarına kaydedilmesine izin verecek şekilde güncellendi. Aşırı yüklenmiş 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 artık geliştiricilerin kendi ListenableFuture öğelerini oluşturmasını gerektirmiyor ve Surface sağlamak artık yeni bir SurfaceRequest nesnesi aracılığıyla yapılıyor. Preview.getPreviewSurfaceProvider() yöntemi, Preview diğer sınıflarla (ör. PreviewView) eşlendiğinde kötüye kullanılma potansiyeli nedeniyle kaldırıldı. (I20105)
  • Daha önce ImageCapture.OnImageSavedCallback.onError() ve ImageCapture.OnImageCapturedCallback.onError() içinde iletilen bağımsız değişkenler, daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişkenle (ImageCaptureException) 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 sınıfının getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() ve getLinearZoom() yöntemleri, ZoomState örneği döndüren getZoomState() yönteminde birleştirildi. (Ib19fe)

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

22 Ocak 2020

androidx.camera:camera-extensions:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü şu commit'leri içerir.

Güncellemeler

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

Camera-View Sürüm 1.0.0-alpha06

22 Ocak 2020

androidx.camera:camera-view:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü şu commit'leri içerir.

Güncellemeler

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

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

18 Aralık 2019

androidx.camera:camera-extensions:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü şu taahhütleri içerir.

Hata Düzeltmeleri

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

Camera-View Sürüm 1.0.0-alpha05

18 Aralık 2019

androidx.camera:camera-view:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü bu kayıtları 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 1.0.0-alpha04 sürümü

4 Aralık 2019

androidx.camera:camera-extensions:1.0.0-alpha04 yayınlandı. camera-extensions 1.0.0-alpha04 sürümü şu commit'leri içerir

API değişiklikleri

  • Bir uzantının kullanılabilirliğini ve etkinleştirilmesini kontrol etmek için artık giriş parametresi olarak CameraSelector kullanılır. Bu, kullanım alanını bağlamak için kullanılan CameraSelector ile aynı olmalıdır.

    val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
    val builder = ImageCapture.Builder()
    val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder)
    if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) {
        bokehImageCaptureExtender.enableExtension(cameraSelector)
    }
    val imageCapture = builder.build()
    mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
    
  • Uzantı kitaplığını kullanmadan önce uzantıları başlatmanız gerekir.

    val availability = ExtensionsManager.init()
    Futures.addCallback<ExtensionsManager.ExtensionsAvailability>(
       availability,
       object : FutureCallback<ExtensionsManager.ExtensionsAvailability> {
           override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) {
               // Ready to make extensions calls
           }
           override fun onFailure(throwable: Throwable) {
               // Extensions could not be initialized
           }
       },
       Executors.newSingleThreadExecutor()
    )
    

Camera-View Sürüm 1.0.0-alpha04

4 Aralık 2019

androidx.camera:camera-view:1.0.0-alpha04 yayınlandı. camera-view'un 1.0.0-alpha04 sürümü şu commit'leri içerir:

API değişiklikleri

  • Önizleme kullanım alanından elde edilen çıkışın bir uygulamada kolayca gösterilmesi için PreviewView sınıfı sağlanır.
  • Düzen, PreviewView 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" olarak adlandırılıyor

  • Bazı yöntem parametrelerinin null değer alabilme özelliği değişti

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

9 Ekim 2019

androidx.camera:camera-extensions:1.0.0-alpha03 ve androidx.camera:camera-view:1.0.0-alpha03 yayınlandı. Bunlar camera-extensions:1.0.0-alpha03 içinde yer alan commit'ler, bunlar ise camera-view:1.0.0-alpha03 içinde yer alan commit'ler.

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ı. camera-extensions:1.0.0-alpha02 sürümüne dahil edilen commit'ler ve camera-view:1.0.0-alpha02 sürümüne dahil edilen commit'ler bunlardır.

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

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

7 Ağustos 2019

androidx.camera:camera-extensions:1.0.0-alpha01 ve androidx.camera:camera-view:1.0.0-alpha01 yayınlandı. camera-extensions:1.0.0-alpha01 sürümüne dahil edilen commit'ler ve camera-view:1.0.0-alpha01 sürümüne dahil edilen commit'ler bunlardır.

  • Desteklenen cihazlarda efektlere erişmek için gelecekteki Kamera Uzantıları'na yönelik yeni kitaplık. Bu kitaplık henüz geliştirme aşamasındadır.
  • Yeni Camera View sınıfı. Bu kitaplık henüz geliştirme aşamasındadır.