CameraX
Bu tabloda, androidx.camera
grubundaki tüm yapı taşları listelenir.
Yapı | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
kamera-kamera2 | 1.4.1 | - | - | 1.5.0-alpha04 |
camera-core | 1.4.1 | - | - | 1.5.0-alpha04 |
camera-compose | - | - | - | 1.5.0-alpha04 |
camera-effects | 1.4.1 | - | - | 1.5.0-alpha04 |
camera-extensions | 1.4.1 | - | - | 1.5.0-alpha04 |
camera-feature-combination-query | - | - | - | 1.5.0-alpha04 |
camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha04 |
camera-lifecycle | 1.4.1 | - | - | 1.5.0-alpha04 |
camera-mlkit-vision | 1.4.1 | - | - | 1.5.0-alpha04 |
kamera-görünümü | 1.4.1 | - | - | 1.5.0-alpha04 |
kamera-vizör | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
camera-video | 1.4.1 | - | - | 1.5.0-alpha04 |
Cihaz testi
CameraX, laboratuvarımızda birçok cihazda test edilir. Şu anda laboratuvarda bulunan cihazların listesini görmek için CameraX laboratuvar testine tabi tutulan cihazlar başlıklı makaleyi inceleyin.
Bağımlılıkları beyan etme
CameraX bağımlılığı eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanızın veya modülünüzün build.gradle
dosyasına 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.5.0-alpha03" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.5.0-alpha03" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Kamera Vizörü Oluşturma 1.0 sürümü
Sürüm 1.0.0-alpha02
12 Haziran 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02
yayınlanır. 1.0.0-alpha02 sürümü bu taahhütleri içerir.
Sürüm 1.0.0-alpha01
14 Mayıs 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01
yayınlanır. 1.0.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Yeni kitaplık. Bu kitaplık, CameraX ve Camera2 ile kullanılabilen bir Compose yerel vizör bileşeni sunar. Derlenebilir Vizör, farklı en boy oranlarını ve dokunma etkinliklerinin işlenmesini destekler.
Kamera Vizörü 1.4 sürümü
Sürüm 1.4.0-alpha07
12 Haziran 2024
androidx.camera:camera-viewfinder:1.4.0-alpha07
ve androidx.camera:camera-viewfinder-core:1.4.0-alpha07
yayınlandı. 1.4.0-alpha07 sürümü bu taahhütleri içerir.
Sürüm 1.4.0-alpha06
14 Mayıs 2024
androidx.camera:camera-viewfinder:1.4.0-alpha06
ve androidx.camera:camera-viewfinder-core:1.4.0-alpha06
yayınlandı. 1.4.0-alpha06 sürümü bu taahhütleri içerir.
API Değişiklikleri
Viewfinder
'ninImplementationMode
enum'lerini temel uygulamaları daha iyi yansıtacak şekilde yeniden adlandırın veTransformationInfo.sourceRotation
için sabit sabitler ekleyin. (Ic6149)- Yakınlaştırma hareketinin durumlarını kapsayacak şekilde
ZoomGestureDetector.ZoomEvent
eklendi. (I84cdf)
Kamera sürümü 1.5
Sürüm 1.5.0-alpha04
11 Aralık 2024
androidx.camera:camera-*:1.5.0-alpha04
yayınlanır. 1.5.0-alpha04 sürümü bu taahhütleri içerir.
API Değişiklikleri
ImageCapture.Builder#setOutputFormat
veImageCaptureCapabilities#getSupportedOutputFormats
'yi kararlı API'ler olarak kullanıma sundu (Ieb04a)- Bir
VideoCapture
bir yaşam döngüsüne bağlandığında çözüm bilgilerini almak içinVideoCapture.getResolutionInfo()
ekleyin. (Icb478) PreviewView.getScreenFlash
vePreviewView.setScreenFlashOverlayColor
API'lerini kararlı API'ler olarak kullanıma sundu. (I74fee)
Hata Düzeltmeleri
- Vivo 1610 cihazda karanlıkta flaşla fotoğraf çekerken yakalama hatası sorunu düzeltildi. (I366f4)
- Redmi Note 6 Pro'da resim çekildikten sonra el feneri beklenmedik bir şekilde kapanması sorunu düzeltildi. (I2e0e8, b/377144569)
- Pixel Android 15 cihazlarda, kamera yakındaki bir nesneye odaklanana kadar Uzantılar'daki GECE modunun hareketsiz görüntü çekememesi sorunu düzeltildi. (I228d4)
- Uzantılar etkinleştirildiğinde ve
VideoCapture
birlikte bağlandığında hareketsiz görüntü yakalama hatası sorunu düzeltildi. (I5c745) - Cihaz destekleyebiliyorsa uzantılar için
UltraHDR
sabit resim yakalama desteği etkinleştirildi. (I48300) - TCL cihazlarda
CameraEffect
hedefleme ile görüntü yakalama sırasında flaş yakalama için flaş zamanlama sorunu düzeltildi. (I7698c)
Sürüm 1.5.0-alpha03
30 Ekim 2024
androidx.camera:camera-*:1.5.0-alpha03
yayınlanır. 1.5.0-alpha03 sürümü bu taahhütleri içerir.
API Değişiklikleri
- RAW ve RAW + JPEG için çıkış biçimi API'leri ekleyin
ImageCapture
, cihaz özelliği kontrolüImageCaptureCapabilities#getSupportedOutputFormats
'te gösterilir.OUTPUT_FORMAT_RAW
, Adobe DNG biçiminde RAW resim çekmek için,OUTPUT_FORMAT_RAW_JPEG
ise RAW ve JPEG resimleri aynı anda çekmek için kullanılır. YeniImageCapture#takePicture
API, eşzamanlı resim çekme için kullanılır. İlki RAW resim, ikincisi JPEG resim olmak üzere ikiOutputFileOptions
sağlaması gerekir. (Ib0f3d)
Hata Düzeltmeleri
VideoCapture
etkinleştirildiğinde TCL cihazlarda önizleme ve videonun düşük ışıkta çekilmesi sorunu düzeltildi. (Id7a64)- Bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlandığında (akış paylaşımı)
startFocusMetering
ilePreviewView.getMeteringPointFactory
çağrıldığında doğru sensör koordinatlarının alınamamasına neden olan sorun düzeltildi. (I916c5, b/345993685) - Video kaydederken depolama alanı yetersiz olduğunda
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE
etkinliğinin tetiklenmemesi sorunu düzeltildi. (I35779, b/356399842)
Sürüm 1.5.0-alpha02
2 Ekim 2024
androidx.camera:camera-*:1.5.0-alpha02
yayınlanır. 1.5.0-alpha02 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Cihaz tarafından desteklenen kamera özelliklerini sorgulamak için yeni API'ler. Örneğin, HDR ve 60 FPS'nin aynı anda etkinleştirilip etkinleştirilemeyeceğini kontrol etme. 2 yapı taşı içerir: camera-feature-combination-query ve camera-feature-combination-query-play-services.
Bu, Google Play Hizmetleri tarafından sağlanan ek verilerle birlikte camera2'nin
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupported
API'sinin uyumlu bir sürümüdür.
Hata Düzeltmeleri
- KALE düzeyindeki cihazlarda
Preview/VideoCapture
hedef kare hızı sorunu düzeltildi.setTargetFrameRate
veyaCamera2Interop
API aracılığıyla ayarlanan hedef kare hızı, her zamanAeFpsRangeLegacyQuirk
tarafından sağlanan değerle üzerine yazılıyordu. Bu düzeltmeyle CameraX kitaplığı,setTargetFrameRate
veyaCamera2Interop
API aracılığıyla ayarlanan değere uyar. (Ie2d32) CameraEffect
ile resim çekerken flaş/el feneri/3A işlevleri eklendi.CameraEffect
ile yapılan görüntü yakalama işlemleri artıkCameraEffect
olmadan yapılan görüntü yakalama işlemleriyle aynı yakalama öncesi ve sonrası işlemlere (ör. geçerli olduğunda 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 siyah önizleme sorunu oluşur. Sorunu önlemek için SM-A057G cihazaExcludedSupportedSizesQuirk
uygulandı. (I63dfe, b/365877975) - Bir yayını
Preview
veVideoCapture
ile paylaşmak için yayın paylaşım mekanizması dahili olarak etkinleştirildiğindePreview/VideoCapture
hedef kare hızı sorunu düzeltildi. (I4fdac) - Samsung S10e ve S10+ cihazlarda yanlış JPEG resim meta verisi sorununu düzeltmek için geçici çözüm etkinleştirildi. Düzeltmeyle birlikte CameraX, JPEG resmini başarıyla kaydedebilir veya yanlış JPEG resim meta verisi sorunu yaşanırsa bu cihazlarda
ImageProxy.toBitmap()
işlevi çağrılırken doğru Bitmap nesneleri döndürülebilir. (Iae493, b/356428987) - HDR resimler çekilirken yerel kilitlenmeler yaşanabileceği ve BOKEH veya FACE_RETOUCH modlarında çekim oturumları yapılandırılamayabileceği için Samsung A52s'in kimliği 0 olan arka kamerası için uzantılar devre dışı bırakıldı. (I03ec9, b/364152642)
- Video kaydederken depolama alanı yetersiz olduğunda
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE
etkinliğinin tetiklenmemesi sorunu düzeltildi. (Ia5b4f, b/356399842) - Oppo A5 (CPH1931) cihazda ikinci video kaydı denemesinin başarısız olması sorunu düzeltildi. (I181d6)
Sürüm 1.5.0-alpha01
4 Eylül 2024
androidx.camera:camera-*:1.5.0-alpha01
yayınlanır. 1.5.0-alpha01 sürümü bu taahhütleri içerir.
API Değişiklikleri
- İki kamerayla eşzamanlı video kaydı için kompozisyon ayarlarını belirlemek üzere API sağlayın. Ayarlar arasında, karıştırma için alfa değeri, x, y koordinatlarında ofset, kamera çerçevesi görüntüleme penceresinin genişlik ve yükseklik ölçeği yer alır. Ofset, genişlik ve yükseklik normalleştirilmiş cihaz koordinatlarında belirtilir. (Ia2b8a)
CameraProvider.getCameraInfo
'ü resmi bir API olarak kullanıma sundu. (I901cd)- İlk sessize alma durumunu kontrol etmek için
PendingRecording.withAudioEnabled(boolean initialMuted)
API'si eklendi. (I635c3, b/354829267)
Hata Düzeltmeleri
bindToLifecycle
, yok edilmiş birLifecycleOwner
ile çağrıldığında kilitlenme sorunu düzeltildi. (I6e6d8)- Motorola Edge 20 Fusion'da
VideoCapture
ile bağlama sırasında ön kamerada önizleme siyah ekran sorunu düzeltildi. (I1fe88) PreviewView
'te yakınlaştırma hareketlerini algılama yapılandırması, sorunsuzluğu artırmak için optimize edildi. (I04ffc)
Kamera sürümü 1.4
Sürüm 1.4.1
11 Aralık 2024
androidx.camera:camera-*:1.4.1
yayınlanır. 1.4.1 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Pixel Android 15 cihazlarda, kamera yakındaki bir nesneye odaklanana kadar Uzantılar'daki GECE modunun fotoğraf çekememesi sorunu düzeltildi. (I228d4)
- Uzantıların etkinleştirildiği ve
VideoCapture
'ın birbirine bağlandığı durumlardaImageCapture#takePicture
'ün çalışmaması sorunu düzeltildi. (I5c745)
1.4.0 sürümü
30 Ekim 2024
androidx.camera:camera-*:1.4.0
yayınlanır. 1.4.0 sürümü bu taahhütleri içerir.
1.3.0 sürümünden bu yana yapılan önemli değişiklikler
CameraX 1.4.0, heyecan verici güncellemelerle dolu. Buradan bir özetini bulabilirsiniz:
Başlıktaki Özellik: 10 bit HDR:
- Kolayca muhteşem HDR fotoğraflar ve videolar çekin.
- HLG ve 10 bit HEVC kodlamayı destekler.
- 10 bit HDR önizlemesinden yararlanın ve cihaz özelliklerini sorgulayın.
- Giderek daha fazla cihazda
UltraHDR
resimler ve HDR videolarla çalışır.
Diğer harika özellikler:
- Kotlin Uzantıları:
takePicture
veawaitInstance
askıya alma işlevleri eklendi. - Gerçek Zamanlı Efektler: Filigran ve nesne vurgulama gibi efektler uygulayın.
- CameraController API: Video yakalama yapılandırması için yeni kontroller.
- Sabitleme önizlemesi: Cihazın kapasitesini sorgulayın ve sabitlemeyi etkinleştirin.
- Video Kaydı Geliştirmeleri: Kalite üzerinde daha ayrıntılı kontrol ve daha yüksek çözünürlüklere erişim.
- CameraX Uzantıları Entegrasyonu:
VideoCapture
ve yeniImageCapture
özellikleriyle sorunsuz entegrasyon. - Deklanşör Sesi API'si: Bölgesel deklanşör sesi şartlarını kolayca kontrol edin.
- Ekran flaşı: Ön kameralar için düşük ışıkta daha iyi fotoğraflar.
- Kamera Uzantıları Meta Veri API'leri:
ExtensionMode#AUTO
'te uzantıların gücünü ayarlamak ve mevcut uzantı modu hakkında bildirim almak için destekleyici API'ler. Diğer hata düzeltmelerini Beta ve RC duyurularımızda bulabilirsiniz.
Sürüm 1.4.0-rc04
16 Ekim 2024
androidx.camera:camera-*:1.4.0-rc04
yayınlanır. 1.4.0-rc04 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlandığında (akış paylaşımı)
startFocusMetering
ilePreviewView.getMeteringPointFactory
çağrıldığında doğru sensör koordinatlarının alınamamasına neden olan sorun düzeltildi. (I916c5, b/345993685)
Sürüm 1.4.0-rc03
2 Ekim 2024
androidx.camera:camera-*:1.4.0-rc03
yayınlanır. 1.4.0-rc03 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
CameraEffect
ile resim çekerken flaş/el feneri/3A işlevleri eklendi.CameraEffect
ile yapılan görüntü yakalama işlemleri artıkCameraEffect
olmadan yapılan görüntü yakalama işlemleriyle aynı yakalama öncesi ve yakalama sonrası işlemlere (ör. geçerli olduğunda flaş tetikleyici, 3A yakınsama vb.) sahip olmalıdır. (I5ff30)PreviewView
(I04ffc) sürümünde yakınlaştırmak için iki parmak ucunu yakınlaştırma/uzaklaştırma işleminin pürüzsüzlüğü optimize edildi- Ultra HDR desteği artık cihazların 10 bit çıkış özelliğine sahip olmasını gerektirmediğinden Ultra HDR ile 10 bit çıkış özelliğinin bağlantısını kaldırın. (I96ff2, I0c3b3)
Sürüm 1.4.0-rc02
18 Eylül 2024
androidx.camera:camera-*:1.4.0-rc02
yayınlanır. 1.4.0-rc02 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
bindToLifecycle
, yok edilmiş birLifecycleOwner
ile çağrıldığında kilitlenme sorunu düzeltildi. (I6e6d8)ScreenFlash#apply
içinScreenFlashView
'te görünürlük animasyonu eklendi. Bu animasyon, parlaklık değişikliğinin bir süre sonra eşzamansız olarak tamamlanmasından kaynaklanan hataları da düzeltir. (I37cdb)- Desteklenen cihazlarda çerçevedeki yakınlaştırma ayarlarını geçersiz kılarak yakınlaştırma işleminin akıcılığı iyileştirildi.
Sürüm 1.4.0-rc01
7 Ağustos 2024
androidx.camera:camera-*:1.4.0-rc01
yayınlanır. 1.4.0-rc01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Kullanım alanlarını kameraya bağlamak zorunda kalmadan belirli kamera bilgilerini sağlamak için deneysel
CameraInfo.getCameraInfo
eklendi. (I550d1)
API Değişiklikleri
ScreenFlashView
'nin açıkça eklenmediği durumlar içinPreviewView.getScreenFlash
vePreviewView.setScreenFlashOverlayColor
API'leri eklendi. (I43945)
Hata Düzeltmeleri
- Video yakalama kullanım alanı bağlıyken düşük ışıkta flaş etkinken görüntü çekilirken yaşanan pozlama ve renk tonu sorunları düzeltildi. (Ic9814)
- Uzantılar etkinken bir
takePicture
isteğinin kesintiye uğratılması durumunda sonuç alınamayabileceği ve sonrakitakePicture
isteğinin artık çalışmayabileceği sorunu düzeltildi. (Iae78f) - Uzantılar etkinleştirildiğinde ortaya çıkan bir bellek sızıntısı sorunu düzeltildi. (Iab276)
- Pixel 7/8 ve Samsung Galaxy S24 serisi gibi cihazlarda CameraX uzantılarının çalışmaması sorunu düzeltildi. Yayın modunda
Camera2OutputConfigImpl
dönüşüm sorunundan kaynaklanan sorun, AGP 8.5.1'e yükseltildikten ve küçültme etkinleştirildikten sonra ortaya çıktı. (I99598, b/354824993)
Sürüm 1.4.0-beta02
12 Haziran 2024
androidx.camera:camera-*:1.4.0-beta02
yayınlanır. 1.4.0-beta02 sürümü bu taahhütleri içerir.
API Değişiklikleri
VideoCapture
'e benzer şekilde, Önizleme kullanım alanı içinsetMirrorMode
ekleyin. API 33 ve sonraki sürümlerdeOutputConfiguration.setMirrorMode
aracılığıyla önizleme akışı için yansıtma modunu AÇIK ve KAPALI olarak destekler. Eski API'lerde ise hiçbir işlem yapmaz. (I821f4)
Hata Düzeltmeleri
ImageCapture
,Preview
+VideoCapture
+ImageCapture
UseCase
kombinasyonunda 1920x1080'i seçtiğinde Samsung Tab A8'de uygulamaların başarılı bir şekilde fotoğraf çekememesi sorunu düzeltildi. (I5a463, b/336925549)- Sabit sürekli kayıt, kamera değiştirildikten sonra kayda devam edemeyebilir. (Icb0a1)
Sürüm 1.4.0-beta01
14 Mayıs 2024
androidx.camera:camera-*:1.4.0-beta01
yayınlanır. 1.4.0-beta01 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Yakınlaştırma hareketinin durumlarını kapsayacak şekilde
ZoomGestureDetector.ZoomEvent
eklendi. (I84cdf)
Hata Düzeltmeleri
- Fotoğraf çekme ve dokunarak odaklama işlemlerinde, tekrarlanan istek FPS/stabilizasyon modu değerlerinin kullanılmaması nedeniyle fotoğraf çekme oturumunun yeniden oluşturulması ve bazı cihazlarda gecikme sorunlarına ya da önizlemenin donmasına neden olan bir hata düzeltildi. (I7dc0b)
- Bazı cihazlarda
CameraEffect
etkinleştirildiğinde yüksek çözünürlüklerin seçilemediği bir hata düzeltildi. (ör. Samsung A32 5G'de 4000x3000). (Ie3ed3, b/337336152) - Pixel 4XL API29'da
ImageCapture
veVideoCapture(UHD)
bağlıyken Önizleme ile fotoğraf çekerken yaşanan kilitlenme düzeltildi. (I5b288) - Sanal cihazları destekleme:
ProcessCameraProvider
içine 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ınlanır. 1.4.0-alpha05 sürümü bu taahhütleri içerir.
Yeni Özellikler
ProcessCameraProvider
, Kotlin uygulamasına dönüştürüldü. (I46d4f)- Kotlin dilinde çağrılmasına olanak tanımak için
ImageCapture.takePicture
askıya alma işlevleri eklendi. (I920be)
API Değişiklikleri
- Cihaz özelliğini sorgulamak için
ImageCapture
'e çıkış biçimi API'leri veImageCaptureCapabilities
'yegetSupportedOutputFormats
yöntemini ekleyin. Varsayılan çıkış biçimi değeriOUTPUT_FORMAT_JPEG
'tür. Bu değer, SDR resimlerini JPEG biçiminde yakalar. Cihaz Ultra HDR'yi desteklediğinde ve çıkış biçimiOUTPUT_FORMAT_JPEG_ULTRA_HDR
olarak ayarlandığında CameraX, JPEG/R resim biçimini kullanarak Ultra HDR sıkıştırılmış resimler yakalar. Bu biçim, SDR JPEG biçimiyle geriye dönük uyumludur ve içeriğin HDR olarak oluşturulmasını destekler. Bu, eski uygulamalarda veya cihazlarda resimlerin normal JPEG olarak sorunsuz bir şekilde göründüğü, biçimi tam olarak desteklemek için güncellenmiş uygulamalarda ve cihazlarda ise HDR olarak göründüğü anlamına gelir. (I5de50) - Fiziksel kamera bilgilerini sorgulamak için
CameraInfo
içinePhysicalCameraInfo
ekleyin veCameraSelector
içine fiziksel kamera kimliği ayarlayıcı/alıcı ekleyin (Ic5b90) CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
yerineImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED
yazın. Sabitin değeri aynı kalır. Bu, tüm sabitleri tek bir yerde toplamak içindir. (I890bb)- Yeni
RetryPolicy
API, geliştiricilerin CameraX ilklendirmesi için yeniden deneme davranışını özelleştirmesine olanak tanır. (I36dd2) - Test edilebilirliğe yardımcı olmak için
ImageCaptureLatencyEstimate
nesnesi oluşturmayı etkinleştirin (Iaba99) ImageAnalysis#COORDINATE_SYSTEM_SENSOR
ekleyin. Bu kullanıldığındaMlKitAnalyzer
, kamera sensör koordinat sisteminde koordinatları döndürür. (I3ec61)- Açık uzantı meta veri API'si. Yeni
CameraExtensionsInfo
veCameraExtensionsControl
arayüzleri, uygulamaların uzantı gücü ayarlarını izlemesine ve düzenlemesine olanak tanır. Uygulamalar, yeni eklenenExtensionsManager#getCameraExtensionsInfo()
veyaExtensionsManager#getCameraExtensionsControl()
yöntemleri aracılığıylaCameraExtensionsInfo
ya daCameraExtensionsControl
örneğini edinebilir. (I28e1a) ProcessCameraProvider.getInstance
'un askıya alınmış sürümü olanProcessCameraProvider.awaitInstance
eklendi (Ib22b9)PreviewView#getSensorToViewTransform()
API ekleyin. Matris, kamera sensörü koordinatlarındanPreviewView
koordinatlarına dönüşümü temsil eder. Bu, koordinatları birUseCase
'den diğerine dönüştürmek için kullanılabilir. Örneğin,ImageAnalysis
'te algılanan nesnelerin koordinatlarınıPreviewView
yer paylaşımına dönüştürme. (I947ab)camera-viewfinder-core
API'yicamera-viewfinder
vecamera-viewfinder-compose
tarafından kullanılabilmesi için daha genel hale getirin. (I1e295)ViewfinderSurfaceRequest
işlevinigetSurface
'e ekleyin. (I781a0)camera-viewfinder
içindecamera-viewfinder-core
kullanın veViewfinderSurfaceRequest
ileCameraViewfinder
için desteği sonlandırın. (I6198c)- İki parmak ucunu yakınlaştırmak için yakınlaştırma/uzaklaştırma etkinliği için özel olarak yapılandırılan ölçeklendirme hareketlerini yorumlayan
ZoomGestureDetector
eklendi. (Ifafbf)
Hata Düzeltmeleri
- Analizör varsayılan hedef çözünürlük ayarıyla ilgili
ImageAnalysis
çözünürlük seçim sorunu düzeltildi: Uygulamalar farklı bir analizör varsayılan çözünürlük ayarı belirlemiş olsa bile hedef çözünürlük yanlışlıkla 640x480 olarak 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 kullanacak şekilde yükseltemezse doğrudan tercih edilen çözünürlükte birResolutionSelector
veImageAnalysis
UseCase
için eşleşen birAspectRatioStrategy
ayarlayarak bu sorunu giderebilirsiniz. (I81f72, b/330091012) - Mevcut istek başarısız olursa sıraya alınmış
takePicture
isteğinin çalışamamasına neden olan sorun düzeltildi. (Ie0801) - Geçersiz JPEG veri kontrolü, Vivo X60 ve X60 Pro cihazlara uygulandı. Bu işlem, bu cihazlarda anormal derecede büyük resim sorununu düzeltebilir. (I82247, b/288828159)
- Samsung A24 cihazlarda yanlış JPEG resim meta verisi sorunu düzeltildi. Düzeltmeyle birlikte CameraX, JPEG resmini başarıyla kaydedebilir veya Samsung A24 cihazlarda
ImageProxy.toBitmap()
işlevi çağrılırken doğru Bitmap nesneleri döndürülebilir. (I8d6eb, b/309005680) - Çekilen görüntü 10 MB'tan büyükse geçersiz JPEG veri kontrolünün tüm Samsung cihazlarına uygulanmasını sağlayın. Bu işlem, Samsung cihazlarda anormal derecede büyük resim sorununu düzeltebilir. (Ic2a65, b/288828159)
- Birçok OEM'nin uzantı uygulamaları
ImageAnalysis
ile iyi çalışmadığı ve tutarsız sorunlara neden olabileceği için CameraX uzantılarındaImageAnalysis
desteği kaldırıldı. (I2d926)
Sürüm 1.4.0-alpha04
24 Ocak 2024
androidx.camera:camera-*:1.4.0-alpha04
yayınlanır. 1.4.0-alpha04 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Yeni yapı: camera-effects:
Preview
,VideoCapture
ve/veyaImageCapture
dahil olmak üzere CameraX çıkışına gerçek zamanlı efektler uygulamak için bir kitaplık. Bu yapı, kamera çıkışını verimli bir şekilde işleyenCameraEffect
API'sinin OpenGL uygulamalarını içerir. OverlayEffect
: Android'in Canvas API'si ile yer paylaşımları çizmek için. Bu sayede uygulama, kamera çıkışlarına filigran uygulayabilir veya algılanan nesneleri vurgulayabilir.DynamicRange
Önizleme Kullanım Alanı için API'ler: Dinamik aralık artık Video Kullanım Alanı'ndan bağımsız olarak Önizleme Kullanım Alanı'nda ayarlanabilir. Bu, yalnızca önizleme için HLG10 gibi HDR dinamik aralıklarına olanak tanır. Her kameranın hangi dinamik aralıkları desteklediğini sorgulamak içinCameraInfo
'te yeni API'ler de kullanılabilir.
API Değişiklikleri
ScreenFlashUiCompleter
,ScreenFlashListener
olarak yeniden adlandırıldı veScreenFlashUiCompleter#getExpirationTimeMillis
,ScreenFlash#apply
öğesininexpirationTimeMillis
parametresine taşındı. (I13944)- Önizleme kullanım alanında dinamik aralığın ayarlanmasına ve her kamera tarafından desteklenen dinamik aralıkların sorgulanması için yeni API'ler eklendi. Bu sayede HLG10 gibi HDR dinamik aralıklarının yalnızca önizleme kullanım alanıyla kullanılmasına olanak tanınmakta, aynı zamanda
VideoCapture
'nin aynı anda bağlanması gerekmemektedir. (If25e3) getMirroring()
,isMirroring()
olarak yeniden adlandırıldı (I47063)- CameraX'e gerçek zamanlı fotoğraf çekme gecikmesi tahmini desteği eklendi. Kamera uzantıları, uygulamaların bir çekimin ne kadar süreceğine dair tahmin sağlayan bir API kullanmasına olanak tanır. Tahmin, mevcut ortam koşullarını ve kamera durumunu dikkate alır. Ayrıca, çok çerçeveli yakalama isteklerinin işlenmesi için harcanan süreyi ve gerekirse işlenmiş arabellekleri kodlamak için gereken ek süreyi içerir. (I05c3a)
ScreenFlashUiControl
,ScreenFlash
,ScreenFlashUiControl#applyScreenFlashUi
,ScreenFlash#apply
veScreenFlashUiControl#clearScreenFlashUi
adları sırasıylaScreenFlashUiControl
,ScreenFlash
,ScreenFlashUiControl#applyScreenFlashUi
,ScreenFlash#apply
veScreenFlash#clear
olarak değiştirildi. AyrıcaSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS
doğrudan kullanıma sunulmak yerinegetScreenFlashUiApplyTimeoutSeconds
yöntemi eklendi. (Iccdd0)
Hata Düzeltmeleri
- Uzantılar etkinleştirildiğinde etkinliklerin veya parçaların serbest bırakılmamasına neden olan bir bellek sızıntısı düzeltildi (I14215)
getZoomRatio
işlevinin, artan bir yakınlaştırma oranı uygulandığında yanlışlıkla azalan bir değer döndürmesi sorunu düzeltildi. (I4aa0d, b/317543616)ImageCapture
etkinliği,ImageCapture
bağlaması kaldırıldığında veya kamera kapatıldığında hemen çağrılır. Ayrıca, bu senaryolarda yakalama işlemlerinin düzgün şekilde tamamlanmaması nedeniyle hiçbir zaman çağrılmayan bazı hataları da düzeltir.ImageCapture#ScreenFlash#clear
(If99f9)- Yaşam döngüsü,
takePicture
isteği tamamlanmadan önce durdurulduğunda meydana gelen kilitlenme düzeltildi (Idf017, b/306202751) - Bazı cihazlarda Uzantılar etkinleştirildiğinde kamera önizlemesinin siyah olması sorunu düzeltildi (I1ffd0)
- Snapdragon 778G SoC kullanan cihazlarda video kaydının yanlış süresi düzeltildi. (If6aa7, b/316057919)
Sürüm 1.4.0-alpha03
13 Aralık 2023
androidx.camera:camera-*:1.4.0-alpha03
yayınlanır. 1.4.0-alpha03 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Bölgesel kısıtlamalara göre deklanşör sesinin çalınması gerekip gerekmediği hakkında bilgi sağlamak için
CameraInfo.mustPlayShutterSound
eklendi. (Ifda84) - Kamera bir kareyi göstermeye başladığında bildirim göndermek için
OnImageCapturedCallback.onCaptureStarted
veOnImageSavedCallback.onCaptureStarted
eklendi. Bu noktada deklanşör sesini veya deklanşör animasyonunu çalmayı öneririz. (Ic49b3) - Ön kamerayla resim çekmek için CameraX'e Ekran Işığı özelliği desteği eklendi. CameraX, çerçeve tarafında API'yi işler ve zamanlamayı gerektiği gibi uygulamanın kullanıcı arayüzü değişiklikleriyle senkronize eder (ör. uygulama ekranı rengi/parlaklığı değişikliğinden sonra AE ön yakalama tetikleyicisi). Uygulamaların, kullanıcı arayüzü tarafındaki uygulamalarını yalnızca CameraX'e sağlanan
ScreenFlashUiControl
arayüzüne eklemesi yeterlidir. (I8ae84) - CameraX'e, ekran ışığı özelliği için kullanıcı arayüzü tarafında uygulama desteği eklendi. Uygulamalar,
PreviewView
'dan temel birImageCapture.ScreenFlashUiControl
uygulaması veya yeni eklenenScreenFlashView
'i alabilir. Bu uygulama, tek renkli bir yer paylaşımı görünümü ekler ve ekran ışığıyla fotoğraf çekerken ekran parlaklığını en üst düzeye çıkarır. (I1810e)
API Değişiklikleri
- Yeni uzantı özelliklerini(görüntüleme sonrası ve yakalama işlemi ilerleme durumu) destekler: Uygulamaların görüntüleme sonrası ve yakalama işlemi ilerleme durumu geri çağırma işlevinin özelliklerini sorgulayabilmesi için
ImageCapture#getImageCaptureCapabilities()
API'leri eklendi. Uygulamalar,ImageCapture.Builder#setPostviewEnabled()
öğesini kullanarak yeniden görüntülemeyi etkinleştirebilir. Görüntüleme sonrası boyutuImageCapture.Builder#setPostviewResolutionSelector()
kullanılarak seçilebilir.takePicture()
çağrılırken, destekleniyorsa görüntüleme sonrası bildirimi almak ve işlem ilerleme durumunu işlemek içinonPostviewBitmapAvailable
veonCaptureProcessProgressed
,OnImageSavedCallback
veyaOnImageCapturedCallback
içinde uygulanabilir. (I5cd88) - Yüzeyin kamera yönelimi bilgilerini içerip içermediğini belirten bir işaretle, sensörden mevcut arabelleğe koordinat dönüşümünü hesaplamak için API'ler. (I59096)
- API'yi,
UseCase
önizlemesindePreviewCapabitlity
sorgusunu yürütecek şekilde açın. (Ie5b6c) VideoCapture
için daha fazla kaliteyi desteklemek üzere API'ler eklendi.Recorder.Builder#setVideoCapabilitiesSource(int)
,VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE
'ten daha fazla kaliteyi destekleyen birRecorder
örneği oluşturmak içinVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES
ile kullanılabilir. Uygulamanın mümkün olduğunda UHD video kaydetmeye çalışması ancak codec'in UHD video kaydedebilmesine rağmen cihazınCamcorderProfile
'sinde UHD ayarlarının bulunmaması yaygın bir kullanım alanıdır. (Iedbe2, b/263961771)ImageAnalysis
çıkış biçimi alıcı/ayarlayıcısınıCameraController
'a ekleyin. (I9a96c, b/308240643)
Hata Düzeltmeleri
- Kamera
1.3.1
:ProcessCameraProvider#bindToLifecycle()
performansı iyileştirildi. En önemli değişiklik,UseCases
için en uygun boyut kombinasyonlarını belirleme sürecini optimize etmektir. Optimum sonuçlar, belirliUseCase
kombinasyonlarına ve hedef cihazlar için desteklenen çıkış boyutlarının sayısına göre değişir. (I454f2) - Uzantılar etkinleştirildiğinde
VideoCapture
'ün kullanılmasına izin verin. (I91f32) - Samsung A71 ve M51 serisi cihazlarda büyük boyutlu JPEG resim sorunu düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Bu, çekilen resimlerin çok büyük dosya boyutlarına sahip olmasına neden olur. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I01afc, b/288828159)
- Pixel'de boş olmayan
ImageAnalysis
desteklenen boyutları yanlışlıkla döndüren hatayı önlemek için Pixel'deImageAnalysis
desteğini devre dışı bırakın. (I7ec31) - Uzantılar etkinleştirildiğinde CPU yükünün ve güç tüketiminin artmasına neden olan performans sorunu düzeltildi. (Ibdccb)
CameraUseInconsistentTimebaseQuirk
'e Snapdragon 480 eklendi. Bu, Android 12'de bu yonga setini kullanan cihazlarda kayıtlardaki sesin, cihazın askıya alınmış durumda olduğu süreye göre kaydırıldığı sorununu düzeltir. (I58010)
Sürüm 1.4.0-alpha02
18 Ekim 2023
androidx.camera:camera-*:1.4.0-alpha02
yayınlanır. 1.4.0-alpha02 sürümü bu taahhütleri içerir.
API Değişiklikleri
- API'yi
setCameraOpenRetryMaxTimeoutInMillisWhileResuming
olarak yeniden adlandırın ve bağımsız değişkeni yeniden adlandırın. (I72370) - Cihaz özelliğini sorgulamak ve video/önizleme sabitlemeyi etkinleştirmek için API'ler ekleme. (I87544)
- Kamerayı açma işleminin yeniden deneme maksimum zaman aşımı süresini özelleştirmek için API sağlayın. (I0c642)
ProcessCameraProvider.shutdownAsync
, kamera sağlayıcının testler arasında CameraX'i farklı şekillerde başlatması gerekebilecek test paketlerinde kullanılmasına olanak tanımak için herkese açık bir test API'si olarak kullanıma sunuldu. (I9eca7)- Video yakalama dinamik aralığı, kare hızı ve ayna modunu yapılandırma API'leri ekleyin. (Ifb8f7)
OutputSize
kullanımdan kaldırılıpResolutionSelector
ile değiştiriliyor.ResolutionSelector
, çözünürlükleri seçmenin daha kapsamlı bir yoludur ve kamera çekirdek API'siyle tutarlıdır. (I93abd, b/286801438)
Hata Düzeltmeleri
- Arka kamerada
ImageAnalysis
ile Uzantılar Bokeh veya Yüz Rötuşu etkinleştirildiğinde Samsung Galaxy S23 Ultra 5G'de siyah önizleme sorunu düzeltildi. (I2e8b1) - Moto E5 Play'de önizleme ve
VideoCapture
'ün uzaması sorunları düzeltildi. (73dce2)
Sürüm 1.4.0-alpha01
20 Eylül 2023
androidx.camera:camera-*:1.4.0-alpha01
yayınlanır. 1.4.0-alpha01 sürümü bu taahhütleri 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 sonlandırma etkinliklerinin doğru sırada tetiklendiğinden emin olarak uzantıların kararlılığını artırın. (Ib3b8e)
- Dahili olarak ek yinelenen yüzey eklenmesinden dolayı desteklenen yüzey kombinasyonunu aştığı için yakalama oturumu yapılandırma hatası düzeltildi. (Id718c)
- Vivo S16 cihazda büyük boyutlu JPEG resim sorunu düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Bu durum, çekilen resimlerin dosya boyutunun büyük olmasına neden olur. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I79505, b/299069235)
- Bazı cihazlarda bazı uzantı modları etkinleştirildiğinde
ImageAnalysis
'ünImageCapture
ve Önizleme ile birlikte bağlanamamasına neden olan sorun düzeltildi. UygulamalarExtensionsManager#isImageAnalysisSupported()
üzerindenImageAnalysis
stok durumunu sorguladığında bu düzeltme doğru değeri döndürür. (I7d538) - JavaDoc'u davranışla eşleşecek şekilde güncelleyin.
#setZoomRatio
,#setLinearZoom
ve#enableTorch
, hemen tamamlanmak yerine kamera hazır olana kadar bekler. Ayrıca,#takePicture
API ile maksimum FOV'nin nasıl alınacağı 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ınlanır. 1.3.4 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
getZoomRatio
işlevinin, artan bir yakınlaştırma oranı uygulandığında yanlışlıkla azalan bir değer döndürmesi sorunu düzeltildi. (I4aa0d, b/317543616)- Sabit resim çekme/dokunarak odaklama özelliğinin, tekrarlanan istek FPS/stabilizasyon modu değerlerini kullanmaması sorunu düzeltildi. Bu sorun, çekim oturumunu yeniden oluşturabilir ve bazı cihazlarda gecikme sorunlarına ya da önizlemenin donmasına neden olabilir. (I7dc0b)
FRAME_RATE_RANGE_UNSPECIFIED
ilesetTargetFrameRate
çağrılırken kare hızının daha düşük bir değere ayarlanması sorunu düzeltildi. (I78c61)
Sürüm 1.3.3
17 Nisan 2024
androidx.camera:camera-*:1.3.3
yayınlanır. 1.3.3 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Analizör varsayılan hedef çözünürlük ayarıyla ilgili
ImageAnalysis
çözünürlük seçim sorunu düzeltildi: Uygulamalar farklı bir analizör varsayılan çözünürlük ayarı belirlemiş olsa bile hedef çözünürlük yanlışlıkla 640x480 olarak 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 kullanacak şekilde yükseltemezseImageAnalysis
UseCase için doğrudan tercih edilen çözünürlüğe sahip birResolutionSelector
ve eşleşen birAspectRatioStrategy
ayarlayarak bu sorunu giderebilirsiniz. (I81f72, b/330091012)
1.3.2 sürümü
6 Mart 2024
androidx.camera:camera-*:1.3.2
yayınlanır. 1.3.2 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Samsung A24 cihazlarda JPEG meta verileriyle ilgili sorun düzeltildi. CameraX artık resimleri doğru şekilde kaydediyor ve
ImageProxy.toBitmap()
işlevi doğru Bitmap nesnelerini döndürüyor. (I8d6eb, b/309005680) - Redmi Note 9 Pro cihazlardaki 9280x6944 çözünürlük seçeneği, sorunlar nedeniyle kaldırıldı. (Ia23da)
1.3.1 sürümü
13 Aralık 2023
androidx.camera:camera-*:1.3.1
yayınlanır. 1.3.1 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
ProcessCameraProvider#bindToLifecycle()
performansı iyileştirildi. En önemli değişiklik, UseCases
için en uygun boyut kombinasyonlarını belirleme sürecini optimize etmektir. Optimum sonuçlar, belirli UseCase
kombinasyonlarına ve hedef cihazlar için desteklenen çıkış boyutlarının sayısına göre değişir. (I454f2)
Ç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 ila 60 ms
- Samsung Galaxy S23 Ultra: Yaklaşık 540 ms ila 45 ms
- Samsung A53 5G: Yaklaşık 115 ms ila 70 ms
Üç
UseCases
:Preview
+ImageCapture
+ImageAnalysis
- Google Pixel 7: Yaklaşık 9 ms ila 7 ms
- Samsung Galaxy S23 Ultra: Yaklaşık 6 ms ila 5 ms
- Samsung A53 5G: Yaklaşık 32 ms ila 12 ms
CameraUseInconsistentTimebaseQuirk
'e Snapdragon 480 eklendi. Bu güncelleme, Android 12'de bu yonga setini kullanan cihazlarda kayıtlardaki sesin, cihazın askıya alınmış durumda olduğu süreye göre kaydırıldığı sorununu düzeltir. (I58010)
1.3.0 sürümü
18 Ekim 2023
androidx.camera:camera-*:1.3.0
yayınlanır. 1.3.0 sürümü bu taahhütleri içerir.
1.2.0 sürümünden bu yana yapılan önemli değişiklikler
- 10 bit HDR, kırpma, yansıtma/yansıtmama, sessize alma/sesi açma, kare hızını ayarlama ve daha birçok video özelliği.
- Çift Eşzamanlı Kamera
- Efekt kitaplığı
- Çözünürlük Seçici
- Ultra geniş ve teleskopik kamera seçimi
- Video kaydı sırasında kamera değiştirme (deneysel özellik)
Sürüm 1.3.0-rc02
20 Eylül 2023
androidx.camera:camera-*:1.3.0-rc02
yayınlanır. 1.3.0-rc02 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Başlatma ve sonlandırma etkinliklerinin doğru sırada tetiklendiğinden emin olarak uzantıların kararlılığını artırın. Bu sayede, uzantı modları veya kameralar arasında geçiş yaparken yaşanan bazı siyah önizleme sorunları düzeltildi. (Iddaac)
- Bazı cihazlarda bazı uzantı modları etkinleştirildiğinde
ImageAnalysis
'ünImageCapture
ve Önizleme ile birlikte bağlanamamasına neden olan sorun düzeltildi. UygulamalarExtensionsManager#isImageAnalysisSupported()
üzerindenImageAnalysis
stok durumunu sorguladığında bu düzeltme doğru değeri döndürür. (I7d538) - Xiaomi Poco X3 NFC'de yansıtma modu etkinleştirildiğinde kaydedilen videonun ses ve görüntüsünün senkronize olmaması sorunu düzeltildi. (I20b4c)
Sürüm 1.3.0-rc01
23 Ağustos 2023
androidx.camera:camera-*:1.3.0-rc01
yayınlanır. 1.3.0-rc01 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Kaydedicinin bağlı olduğu
VideoCapture
yeniden bağlanırken kaydın sürekli olarak kaydedilmesine izin vermek içinPendingRecording.asPersistentRecording
eklendi. (I517c6)
Hata Düzeltmeleri
- Bir yayın hem
VideoCapture
hem de Önizleme ile paylaşıldığında kilitlenme sorunu düzeltildi. Ayrıca, akış paylaşımı etkinleştirildiğinde eski cihazlarda siyah ekran sorunu düzeltildi. - Samsung S7 (SM-G930T, SM-G930V) serisi cihazlarda büyük boyutlu JPEG resim sorunu düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Bu durum, çekilen resimlerin dosya boyutunun büyük olmasına neden olur. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I407b0, b/288828159)
- Samsung S22 (SM-S901B, SM-S901B/DS) ve S22+ (SM-S906B) serisi cihazlarda büyük boyutlu JPEG resim sorunu düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Bu durum, çekilen resimlerin S22 SM-S901B/DS cihazında yaklaşık 13 MB büyük dosya boyutuna sahip olmasına neden oluyor. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I73be9, b/288828159)
- Samsung A5, A52, A70 ve A72 serisi cihazlarda büyük boyutlu JPEG resim yakalanmasıyla ilgili sorun düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Bu durum, çekilen resimlerin dosya boyutunun çok yüksek olmasına (ör. yaklaşık 32 MB veya hatta 96 MB) neden olur. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I97c4d, b/288828159)
- Uzantılar etkinken fotoğraf çekerken doğal kilitlenme düzeltildi (I698f5)
Sürüm 1.3.0-beta02
26 Temmuz 2023
androidx.camera:camera-*:1.3.0-beta02
yayınlanır. 1.3.0-beta02 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Düşük ışıkta çekim kalitesini artırmak için Pixel 4 ve 5 varyantlarında el fenerini flaş olarak kullanma (I56ff5, b/280221967)
- Samsung A5 (2017) serisi cihazlarda büyük boyutlu JPEG resimleri yakalanmasına neden olan sorun düzeltildi. Kaydedilen JPEG resimleri, JFIF sıkıştırılmış veri segmentinde gereksiz 0 dolgu verileri içeriyor. Bu, çekilen resimlerin dosya boyutunun yaklaşık 32 MB olmasına neden olur. Kaydedilen görüntülerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0 dolgu verileri kaldırılır. (I29837, b/288828159)
CaptureFailedRetryQuirk
bölümünde belirtilen sorunlu cihazlarda yakalama hatası durumunda yeniden deneme özelliğinin düzgün şekilde tetiklenmemesine yol açan hata düzeltildi. (I7b589)
Sürüm 1.3.0-beta01
21 Haziran 2023
androidx.camera:camera-*:1.3.0-beta01
yayınlanır. 1.3.0-beta01 sürümü bu taahhütleri içerir.
API Değişiklikleri
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)
işlev adısetAllowedResolutionMode
olarak,ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
sabitleri isePREFER_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)
veVideoCapture.setTargetRotationDegrees(int)
API'leri kaldırıldı. (Id8e77) DynamicRange
sınıfı, resimlerin dinamik aralığını temsil eder. Bu,VideoCapture
ileVideoCapture.Builder#setDynamicRange()
arasındaki işlevlerin çıkışı olarak Yüksek Dinamik Aralık biçimlerini seçmek için kullanılabilir. (Ib0377)- Uzantılar etkinleştirildiğinde
ImageAnalysis
kullanım alanının Önizleme veImageCapture
ile birlikte bağlanıp bağlanamayacağını uygulamaların belirleyebileceği birisImageAnalysisSupported
API'siExtensionsManager
'e eklendi. (I1bc63) Recorder
sınıfından elde edilen yeniVideoCapabilities
sınıfı, cihazda video kaydı için desteklenen dinamik aralıkları ve kaliteleri sorgulamak amacıyla kullanılabilir.QualitySelector
'ningetSupportedQualities()
veisQualitySupported()
yöntemleri kullanımdan kaldırılıyor. Bunun yerine lütfenVideoCapabilities
'ningetSupportedQualities()
veisQualitySupported()
yöntemlerini kullanın. (I04014)CameraController#setVideoCaptureTargetQuality()
,setVideoCaptureQualitySelector
olarak yeniden adlandırılır ve video kalitesi ayarlarında daha fazla esneklik sağlayanQualitySelector
bağımsız değişkenini alır.CameraController#getVideoCaptureTargetQuality()
, buna göregetVideoCaptureQualitySelector
olarak değiştirilir. (I520ed)- Video özellikleri için deneysel ek açıklama kaldırıldı. Video özellikleri artık kararlı. (I1a113)
Hata Düzeltmeleri
- Düşük ışıkta hızı ve çekilen görüntü kalitesini artırmak için Samsung SM-A320 modellerinde el fenerini flaş olarak kullanın. (I6a022, b/286190938)
ImageProxy.toBitmap()
içinImageFormat.JPEG
biçim desteği ekleyin. JPEG bayt dizisinin kodu çözülemezse birUnsupportedOperationException
oluşturulur. (I81958, b/282057603)
Sürüm 1.3.0-alpha07
24 Mayıs 2023
androidx.camera:camera-*:1.3.0-alpha07
yayınlanır. 1.3.0-alpha07 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Yeni
VideoCapture.Builder# setTargetFrameRate(Range)
API, video kayıtlarının cihazın varsayılan kare hızının yanı sıra diğer kare hızlarında çekilmesine olanak tanır. Kayıtlar için kullanılabilen kare hızları yeniCameraInfo#getSupportedFrameRates()
API aracılığıyla sorgulanabilir.
API Değişiklikleri
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
sabitleriALLOWED_RESOLUTIONS_NORMAL
/SLOW
olarak, oluşturucusetHighResolutionEnabledFlag
işlevi adı isesetAllowedResolutionMode
olarak yeniden adlandırıldı. (Iae817)CameraInfo#getSupportedFrameRateRanges()
artık aralıkların sırasız olduğunu daha iyi temsil etmek içinList
yerineSet
döndürüyor. (I02f43)- Düzeltilemeyen hataları işlemek için
CameraEffect
'e hata işleyici ekleme (Ice471) - Daha iyi test edilebilirlik için
ResolutionInfo
sınıfına herkese açık bir kurucu ekleyin (If6d1c) setTargetRotationDegrees
kullanımının yerineUseCase.snapToSurfaceRotation(int)
API'si sağlandı veImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
veVideoCapture.setTargetRotationDegrees(int)
API'lerinin desteği sonlandırıldı. (Ia9010)- Önizleme kullanım alanı için hedef kare hızını ayarlayabilmek ve alabilmek üzere yeni API
Preview#getTargetFrameRate
vePreview.Builder#setTargetFrameRate
eklendi (If4f22) Recording
nesnesi, çöp toplama nedeniyle durdurulduğundaVideoRecordEvent.Finalize
artıkERROR_RECORDING_GARBAGE_COLLECTED
hata koduyla tamamlanacak. (Iba974)
Hata Düzeltmeleri
StreamConfigurationMapCompat
içindeki önbelleğe alınmış çıkış boyutları null olduğundaNullPointerException
düzeltildi. (Idf124, b/282025204)Preview.setSurfaceProvider(null)
'ün Uzantılar'da önizlemeyi duraklatmaması sorunu düzeltildi (Ia903e)VideoCapture
bağlıyken kamera açılırkenConcurrentModificationException
atanmasına neden olan sorun düzeltildi. (Ic8ac4)
Sürüm 1.3.0-alpha06
19 Nisan 2023
androidx.camera:camera-*:1.3.0-alpha06
yayınlanır. 1.3.0-alpha06 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Android 11'de kullanıma sunulan eşzamanlı kamera özelliği, kamera cihazlarının eşzamanlı olarak aktarılmasını destekler. Örneğin, bir cihazda hem ön hem de arka kameraların aynı anda çalışmasına olanak tanır. CameraX şu anda yalnızca iki eşzamanlı kamerayı destekler. Bu sayede, her birine en fazla iki {@link UseCase} bağlı olacak şekilde iki kamera aynı anda çalışabilir. Maksimum çözünürlük 720p veya 1440p'tir. Daha fazla bilgi için aşağıdaki bağlantıya bakın: CameraManager#getConcurrentCameraIds()
- Aşağıdaki özellikleri kapsayan yeni
ResolutionSelector
API'yi kullanıma sunuyoruz:- Uygulamalar, ihtiyaçlarına en uygun çözünürlüğü seçmek için en boy oranı ve çözünürlük stratejileri belirtebilir.
- Tüm boyutlar ve en boy oranı parametreleri, kamera cihazı sensörünün koordinatlarında ifade edilir.
- Uygulamalar, desteklenen boyutları istenen sırada düzenlemek için özel bir çözünürlük filtresi uygulayabilir.
- Uygulamalar, daha yüksek çözünürlüklü resimler elde etmek için yüksek çözünürlüklü çekimi de etkinleştirebilir. Ancak yüksek çözünürlük kullanmanın, çekim sürelerinin uzamasına neden olabileceğini lütfen unutmayın.
VideoCapture
yansıtma API'leri eklendi.VideoCapture
tarafından kaydedilen videolar varsayılan olarak yansıtılmaz. Ancak kamera önizlemesi varsayılan olarak ön kamerada aynalanır.VideoCapture
yansıtma API'leri, ön kamera kullanılırken kamera önizlemesini hizalamanızı sağlar. ÜçMirrorMode
,OFF
,ON
veON_FRONT_ONLY
vardır. Kamera önizlemesiyle hizalamak içinON_FRONT_ONLY
simgesini kullanmanız önerilir. Bu, arka kamerada aynalama özelliğinin devre dışı bırakıldığı ancak ön kamerada etkinleştirildiği anlamına gelir.
API Değişiklikleri
- Yeni
ResolutionSelector
API'si kullanıma sunuldu. Uygulamalar, istenen sonuçları elde etmek için yedek kurallar veya özel çözünürlük filtresi ile en boy oranını ve çözünürlük stratejilerini belirtebilir. Uygulamalar, yüksek çözünürlüklü çekimi etkinleştirmek için bir işaret belirtebilir. Bu 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, çekim sürelerinin uzamasına neden olabileceğini lütfen unutmayın. (Ibed95) - AE algoritması tarafından desteklenen FPS aralıkları artık
CameraInfo#getSupportedFrameRateRanges()
aracılığıyla sorgulanabilir. (Iaa67f) - Tüm kare hızı yöntemlerinin adlarını "FrameRate" kullanarak birleştirin.
VideoCapture#getTargetFrameRate()
dosyasında javadoc hatasını düzeltin (I83304) - Eski
setTargetAspectRatio
vesetTargetResolution
API'si kullanımdan kaldırıldı. Lütfen bunun yerine yeniResolutionSelector
API'yi kullanın. (I542c3) - Aşağıdakiler dahil olmak üzere eşzamanlı çift kamera için herkese açık API'ler eklendi:
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
boolean isConcurrentCameraModeOn()
veConcurrentCameraConfig
,SingleCameraConfig
veConcurrentCamera
(Iab1c1)
ImageProcessor.Response#getOutputImage
değerini NonNull yapın (Ib9c60)VideoCapture.Builder.setMirrorMode(int)
veVideoCapture.getMirrorMode()
dahil olmak üzereVideoCapture
yansıtma API'leri eklendi. API'ler, video kaydının yaygın kamera önizleme davranışıyla tutarlı olmasını gerektiren uygulamalar için kullanışlıdır (ör. arka kamera önizlemesi yansıtılmaz ancak ön kamera önizlemesi yansıtılır). (I713b6, b/194634656)VideoCapture.Builder
'asetTargetFrameRate()
API'yi veVideoCapture
'agetTargetFramerate()
API'yi ekleme (I109d4)SurfaceOutput
sınıfını Closable sınıfından türeterek SurfaceOutput.Event
sınıfının herkese açık kurucusunu gizleyin. (I60ea8)- İşleme aşamasındaki bir kaydı dinamik olarak kapatmak veya açmak için
Recording.mute
eklendi. İşleme aşamasındaki kayıt açıkça sessize alındığındaRecordingStats
,AudioStats.AUDIO_STATE_MUTED
değerini içerir. (Ie17fc) #setEffects()
parametresi için boş olmayan bir değer ayarlandı. Etkileri temizlemek için bir#clearEffects()
API ekleyin. Uygulama, efektleri kaldırmak için#clearEffects()
işlevini çağırmalıdır. (I4b4d9)- Kopyalama 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ıldığında kilitlenmesine neden olan sorun düzeltildi (Ib27e5)
VideoCapture
'ün bazı cihazlarda ön kamerayla çalışmamasına neden olan sorun düzeltildi. Örneğin, Samsung Galaxy S23 ve Xiaomi 2107113SG. (Ibec7e, b/270656244)- Android 10 veya sonraki sürümlerde harici depolama alanındaki herkese açık klasörde Dosya'yı kullanarak fotoğraf çekmenin her zaman başarısız olması sorunu düzeltildi. Android 10'da, harici depolamadaki herkese açık klasörde Dosya'yı kullanarak fotoğraf çekmek için uygulama etiketinde
requestLegacyExternalStorage
değerinin true olarak ayarlanması gerektiğini lütfen unutmayın. (I11b2c) DefaultSurfaceProcessor
sürümündekiRejectedExecutionException
kilitlenmesi düzeltildi. Kilitlenme,VideoCapture
bağlandığında ve etkinlik duraklatıldığında gerçekleşebilir. (Idb46a, b/273713906)
Sürüm 1.3.0-alpha05
22 Mart 2023
androidx.camera:camera-*:1.3.0-alpha05
yayınlanır. 1.3.0-alpha05 sürümü bu taahhütleri içerir.
API Değişiklikleri
VideoCapture.Builder.setTargetRotation(int)
,VideoCapture.setTargetRotation(int)
,VideoCapture.setTargetRotationDegrees(int)
veVideoCapture.getTargetRotation()
dahil olmak üzereVideoCapture
rotasyon API'leri eklendi. API'ler, cihaz yönünü kilitleyen uygulamalar için kullanışlıdır.ImageCapture.setTargetRotationDegrees(int)
veImageAnalysis.setTargetRotationDegrees(int)
de eklenir. (Id3ffe, b/205242781)- Etki hedefi olarak
VIDEO_CAPTURE
vePREVIEW|VIDEO_CAPTURE
'e izin verin.VIDEO_CAPTURE
'ü hedefleyen efektlerVideoCapture
UseCase'a uygulanır;PREVIEW|VIDEO_CAPTURE
'yi hedefleyen efektler, Önizleme veVideoCapture
akışına kopyalanmadan önce paylaşılan bir akışa uygulanır. (Iee6f3)
Hata Düzeltmeleri
- Kamera
1.2.2
: Pixel (I90aa2) gibi bazı cihazlarda ProGuard etkinleştirildiğinde CameraX uzantılarının düzgün çalışmamasıyla ilgili sorun düzeltildi - Uygulamanın ekran yönünü kendisi kontrol etmesi durumunda önizlemenin döndürüldüğünde bozulmasına neden olan
PreviewView
hatası düzeltildi. Bu durum yalnızca belirli cihazlarda görülür. Bu sorun Pixel 4a, Pixel 5 ve Pixel 6a'da tekrarlanabilir. (I14340, b/223488673)
Sürüm 1.3.0-alpha04
22 Şubat 2023
androidx.camera:camera-*:1.3.0-alpha04
yayınlanır. 1.3.0-alpha04 sürümü bu taahhütleri içerir.
Yeni Özellikler
Tek bir yayını birden fazla kullanım alanında paylaşarak daha önce desteklenmeyen Surface kombinasyonlarını destekleyen yeni bir özellik.
- Daha önce, kamera donanım düzeyinde FULL ve altında "Önizleme, VideoKaydı, Görüntü Analizi" veya donanım düzeyinde LEGACY "Önizleme, VideoKaydı, Görüntü Kaydı" bağlanırken CameraX
IllegalArgumentException
hatası veriyordu. - Yeni davranışta, bağlamalar istisna atmadan çalışır. Bunun yerine CameraX, paylaşılan bir akışı hem Önizleme hem de VideoCapture'a kopyalamak için OpenGL'i kullanır.
- Arabellek kopyasının maliyeti olarak uygulamada gecikme ve güç tüketimi artabilir.
API Değişiklikleri
ImageProxy
değeriniBitmap
değerine dönüştürmek için API ekleyin. DesteklenenImageProxy
biçimleriImageFormat.YUV_420_888
vePixelFormat.RGBA_8888
'dir. Biçim geçersizseIllegalArgumentException
oluşturulur. (Ic7110)- Kotlin'de askıya alma işlevlerini kullanarak vizörü yapılandırmayı desteklemek için
CoroutineCameraViewfinder
ekleyin. (I657bc) ViewfinderSurfaceRequest
için yeni herkese açık bir kurucu işlevi ekleyin. KullanıcıCameraCharacteristics
sağlayamadığında esneklik sağlar. (Ie6549)
Hata Düzeltmeleri
- Uygulama çok hızlı bir şekilde duraklatıldığında/devam ettirildiğinde bazı Samsung cihazlarda yaşanan Uzantılar kilitlenme sorunu düzeltildi (Iaca26)
Sürüm 1.3.0-alpha03
25 Ocak 2023
androidx.camera:camera-*:1.3.0-alpha03
yayınlanır. 1.3.0-alpha03 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Varsayılan kameraya göre görüş açısı bilgilerini sağlamak için
CameraInfo.getIntrinsicZoomRatio
eklendi. (Ib300c) - Lensin baktığı yönü belirtmek için
CameraInfo.getLensFacing
eklendi. Harici kameraları seçme deneysel özelliği olarakCameraSelector#LENS_FACING_EXTERNAL
eklendi. (Icaf3e) - Kamera çıkışına efekt eklemenize olanak tanıyan
#setEffect()
öğesiniCameraController
öğesine ekleyin. (I1d21f) invalidate()
yönteminiSurfaceRequest
'a ekleyin. Yüzey sağlayıcı, daha önce sağlanan yüzeyin artık geçerli olmadığını bildirebilir. (Idc649)ImageProcessor
API ekleyin. Bu arayüz,ImageCapture
ardışık düzenine son işleme efektleri eklemek için kullanılır. (I575c6)- Daha fazla video çözünürlüğünü desteklemek için
QualitySelector
ile birlikte kullanılabilenRecorder.Builder.setAspectRatio()
API'si eklendi. (I8a082) - Hedef video kodlamasını ayarlamak için
Recorder.Builder#setTargetVideoEncodingBitRate
ve hedef video kodlama bit hızını almak içinRecorder#getTargetVideoEncodingBitRate
eklendi.BitRate
(I5984d)
Hata Düzeltmeleri
- Flash birimi olmadığında ve flaş modu açıkken
ImageCapture
başarısız oldu sorunu düzeltildi. (I9e8b4, b/263391112) - Bazı Samsung Android 12 cihazlarda Exif konum verileri yazılırken JPEG resmi bozulması sorunu düzeltildi. (Ib7086, b/263747161, b/263289024)
- Kameranın başlatılması tamamlanmadan önce el feneri/yakınlaştırma ayarı yapıldığında (ör.
CameraController#enableTorch
çağrısı yapıldığında) bekleyen işlem önbelleğe alınır ve başlatma tamamlandıktan sonra gönderilir. (I11e92, b/264157663)
Sürüm 1.3.0-alpha02
7 Aralık 2022
androidx.camera:camera-*:1.3.0-alpha02
yayınlanır. 1.3.0-alpha02 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Önizleme çıkışına son işleme efekti uygulamak için yeni bir API ekleyin. (Ic17d5)
OutputOptions.getDurationLimit
,OutputOptions.getDurationLimitMillis
olarak veOutputOptions.setDurationLimit
,OutputOptions.setDurationLimitMillis
olarak yeniden adlandırıldı. (I91f0c)- Video kaydederken sesle ilgili ayarları yönetmek için
AudioConfig
sınıfını ekleyin. Ses gerektirmeyen durumlarda gereksiz izin isteklerinden kaçınmak için@RequiresPermission
ek açıklamaları,startRecording
işlevlerindenAudioConfig
işlevlerine taşındı. (I28755) - Yeni video yakalama API'si uygulandıktan sonra artık kullanılmayan Meta Veri,
OnVideoSavedCallback
,OutputFileOptions
veOutputFileResults
sınıflarını kaldırın. (I38cd8) - Yeni video yakalama API'sini uygulayın.
setTargetResolution
artık desteklenmediğindengetVideoCaptureTargetSize
vesetVideoCaptureTargetSize
yöntemleri, sırasıylagetVideoCaptureTargetQuality
vesetVideoCaptureTargetQuality
yöntemleriyle değiştirildi. (I2a1d5)
Hata Düzeltmeleri
- Desteği sonlandırılan
core.VideoCapture
API'sini kaldırın. (I531e0) - Depolama alanı izni olmadan fotoğraf çekilirken
onError
geri çağırma işlevinin çağrılmaması sorunu düzeltildi.(I936db, b/244807669) - Kamera uzantılarının kalitesini ve güvenilirliğini artırın. Bokeh desteği, resim çekme ve önizlemenin devam etmemesi ile ilgili sorunlar nedeniyle, Kamera Uzantıları 1.1.0 ve önceki sürümleri kullanan Motorola cihazlarda kamera uzantıları devre dışı bırakılır. (Id3ce3)
- Eski cihazlarda
ViewPort
aracılığıyla video kırpma etkinleştirildiğinde doğal kilitlenme sorunu düzeltildi. (I16b8a, b/251357665)
Sürüm 1.3.0-alpha01
9 Kasım 2022
androidx.camera:camera-*:1.3.0-alpha01
yayınlanır. 1.3.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
Camera-viewfinder
resmi olarak yayınlandı.Camera-viewfinder
, Camera2 için kamera feed'ini görüntüleyebilen temel bir vizör widget'ı sağlar. Örnek için lütfen örnek kodu 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 sonlandırılır. (I902a0) - Video kaydı ses hatası durumunu
AudioStats.AUDIO_STATE_SOURCE_ERROR
ekleyin. Ses kaynağı kurulumu başarısız olduğunda veya bir hata oluştuğunda gönderilir. (I37410)
Hata Düzeltmeleri
- Bazı sorunlu cihazların, yakalama hatalarıyla karşılaştığında yakalamayı bir kez daha denemesine olanak tanıyan bir özellik eklendi. (Id4795)
ViewPager2
'dePreviewView
SurfaceView
uygulamayla ilgili siyah ekran sorununu düzeltin. Düzeltme kapsamında, istenen çözünürlük değiştirilmezsePreviewView
,SurfaceView
öğesini yeniden kullanır. (Ib3f27)ViewPort
veyaCameraController
API'si kullanıldığında video kırpma (WYSIWYG özelliği) desteği. (Ifbba8, b/201085351)- Huawei P40 lite'ta ön kamerayla çekilen videoların kaydedilememesi sorunu düzeltildi. (I87c57, b/250807400)
Sürüm 1.2
Sürüm 1.2.3
24 Mayıs 2023
androidx.camera:camera-*:1.2.3
yayınlanır. 1.2.3 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
VideoCapture
'ün bazı cihazlarda ön kamerayla çalışmamasına neden olan sorun düzeltildi. Örneğin, Samsung Galaxy S23 ve Xiaomi 2107113SG. (Ibec7e, b/270656244)
1.2.2 sürümü
22 Mart 2023
androidx.camera:camera-*:1.2.2
yayınlanır. 1.2.2 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Pixel (I90aa2) gibi bazı cihazlarda proguard etkinleştirildiğinde CameraX uzantılarının düzgün çalışmamasıyla ilgili sorun düzeltildi
Sürüm 1.2.1
25 Ocak 2023
androidx.camera:camera-*:1.2.1
yayınlanır. 1.2.1 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Bazı Samsung Android 12 cihazlarda Exif konum verileri yazılırken JPEG resmi bozulması sorunu düzeltildi. (b/263289024)
Sürüm 1.2.0
7 Aralık 2022
androidx.camera:camera-*:1.2.0
yayınlanır. 1.2.0 sürümü bu taahhütleri içerir.
1.1.0 sürümünden bu yana yapılan önemli değişiklikler
- Yeni kitaplık camera-mlkit-vision. CameraX'i barkod taraması, yüz algılama, metin algılama gibi birçok MLKit özelliğiyle kolayca entegre edin. Yeni API'ler olarak
MLKitAnalyzer
eklendi. - Yeni deneysel Zero-Shutter Lag API. İyi görüntü kalitesini korurken daha iyi gecikme süresi elde etmek için yakalama ardışık düzenini optimize eder. Kayıt modu
CAPTURE_MODE_ZERO_SHUTTER_LAG
olarak ayarlandığında, deklanşör düğmesi tıklandıktan sonra fotoğrafın çekilmesi arasındaki gecikmenin diğer kayıt modlarına kıyasla en aza indirilmesi beklenir.ZERO_SHUTTER_LAG
desteklenmeyen cihazlardaCAPTURE_MODE_MINIMIZE_LATENCY
kullanılır. android.camera.core.VideoCapture
öğesini kullanımdan kaldırın.setStreamUseCase()
, herkese açıkCamera2Interop
API olarak eklendi.setOutputImageRotationEnabled
için API düzeyi şartı eklendi.ImageAnalysis.Analyzer#getTargetResolutionOverride()
,ImageAnalysis.Analyzer#getDefaultTargetResolution()
olarak yeniden adlandırıldı.- Kayıtlı videoya konum meta verilerini ayarlamak için API eklendi.
- 16:9 en boy oranında
VideoCapture
ve önizleme kullanım alanları kullanılırken düşük kare hızı sorunu düzeltildi - Bazı Samsung cihazlarda BOKEH uzantısı etkinleştirildiğinde ve kullanıcı kamerayı değiştirdiğinde ortaya çıkan siyah önizleme sorunu düzeltildi.
- API seviyesi 27 cihazlarda Samsung J7 Prime (SM-G610M) ve J7 (SM-J710MN)
Preview/VideoCapture
uzatılmış sorunu düzeltildi. - Sorun düzeltildiğinden Samsung Android T'de ön kameraların AF bölgesini yatay olarak çevirme geçici çözümü devre dışı bırakıldı
Sürüm 1.2.0-rc01
24 Ekim 2022
androidx.camera:camera-*:1.2.0-rc01
yayınlanır. 1.2.0-rc01 sürümü bu taahhütleri içerir.
API Değişiklikleri
OutputConfiguration
içinsetStreamUseCase
API'yi ekleyin. Kullanıcı, akış oturumu için akış kullanım alanını belirtebilir. Böylece, ihtiyacına göre optimizasyon yapmak için CameraX'in dahili mantıklarını geçersiz kılarak akış kullanım alanını seçebilir. (Ib1a95)
Hata Düzeltmeleri
- API seviyesi 27 cihazlarda Samsung J7 Prime (SM-G610M) ve J7 (SM-J710MN)
Preview/VideoCapture
uzatılmış sorunu düzeltildi. 1920x1080 çözünürlük,Preview/VideoCapture
resimlerinin uzatılmasına neden olur. Resmin uzaması sorununu önlemek için önizleme veyaVideoCapture
için 1920x1080 çözünürlüğünü seçmemek üzere geçici çözüm eklendi. (I0e04e) - Bazı Huawei cihazlarda 16:9 en boy oranında
VideoCapture
ve Önizleme kullanım alanlarını kullanırken düşük kare hızı sorunu düzeltildi. (If8c88, b/223643510) - Önizleme'nin
SurfaceProvider
ayarı yapılmadığında kamera açılma hatası 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ınlanır. 1.2.0-beta02 sürümü bu taahhütleri içerir.
API Değişiklikleri
setOutputImageRotationEnabled
için API düzeyi koşulu ekleme (I26e3e, b/240993561)
Hata Düzeltmeleri
- Sorun düzeltildiği için Samsung Android T'de ön kameraların AF bölgesini yatay olarak çevirme geçici çözümü devre dışı bırakıldı. (I05f69)
- Bazı Samsung cihazlarda
BOKEH
uzantısı etkinleştirildiğinde ve kullanıcı kameraları değiştirdiğinde 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ınlanır. 1.2.0-beta01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Yeni kitaplık
camera-mlkit-vision
. CameraX'i barkod taraması, yüz algılama, metin algılama gibi birçok MLKit özelliğiyle kolayca entegre edin. Örnek kodu burada bulabilirsiniz. - Deneysel yeni Zero-Shutter Lag API. İyi görüntü kalitesini korurken daha iyi gecikme süresi elde etmek için yakalama ardışık düzenini optimize eder. Çekim modu CAPTURE_MODE_ZERO_SHUTTER_LAG olarak ayarlandığında, deklanşör düğmesi tıklandıktan sonra fotoğrafın çekilmesi arasındaki gecikmenin diğer çekim modlarına kıyasla en aza indirilmesi beklenir. ZERO_SHUTTER_LAG parametresini desteklemeyen cihazlarda CAPTURE_MODE_MINIMIZE_LATENCY parametresi kullanılır.
ImageAnalysis.Analyzer
veMLKitAnalyzer
'yi resmi API'ler haline getirdik.- Kayıtlı videoya konum meta verilerini ayarlamak için API'yi kullanıma sundu.
ImageAnalysis.Analyzer#getTargetResolutionOverride()
'üImageAnalysis.Analyzer#getDefaultTargetResolution()
olarak yeniden adlandırın.
Hata Düzeltmeleri
- Alps k61v1_basic_ref resim yakalama sorunu düzeltildi. HAL'den çekilen JPEG resimlerde yanlış Exif meta verileri var. Exif meta verilerinde,
ExifInterface
'ün özellikleri doğru şekilde ayrıştırmasını sağlayacak 0xffd9 veya 0xffda etiketi yok. Bu sorunun üstesinden gelmek için görüntüleri YUV biçiminde yakalayıp ardından JPEG çıkış resimlerine sıkıştırın. (I45abb)
Sürüm 1.2.0-alpha04
27 Temmuz 2022
androidx.camera:camera-*:1.2.0-alpha04
yayınlanır. 1.2.0-alpha04 sürümü bu taahhütleri içerir.
API Değişiklikleri
ImageAnalysis.Analyzer#getTargetResolutionOverride()
'üImageAnalysis.Analyzer#getDefaultTargetResolution()
olarak yeniden adlandırın. Ayrıca, bu yöntem tarafından döndürülen değerinImageAnalysis#setTargetResolution()
değeriyle geçersiz kılınabilmesi için davranış da değiştirilir. (If1d36)- Kayıtlı videoya konum meta verilerini ayarlamak için sunulan API.
android.location.Location
nesnesi, yeni APIandroidx.camera.video.OutputOptions.Builder.setLocation(Location)
üzerinden ayarlanabilir. (I313a0, b/204197544)
Hata Düzeltmeleri
- Bağlantıyı kaldır önizlemesiyle fotoğraf çekme sorunu düzeltildi (Ie70b6, b/235119898)
- Ses kaynağı kullanılamadığında kayıt yapmaya çalışırken
Recorder
'te yaşanan kilitlenme düzeltildi. (I9f652)
Sürüm 1.2.0-alpha03
29 Haziran 2022
androidx.camera:camera-*:1.2.0-alpha03
yayınlanır. 1.2.0-alpha03 sürümü bu taahhütleri içerir.
API Değişiklikleri
ImageAnalysis.Analyzer
veMLKitAnalyzer
için deneysel ek açıklama kaldırıldı. (I0ff22)
Hata Düzeltmeleri
FocusMeteringAction
iptal edilmezse ve AF kısmı belirtilen sürede odaklanamazsa AF bölümünüisFocusSuccessful
false ile tamamlayacak 5000 ms otomatik odaklama varsayılan zaman aşımı eklendi. (Ibc2e3)- Bağlantıyı kaldırma önizlemesiyle fotoğraf çekme sorununu düzeltme (I1d3a2, b/235119898)
- Gelişmiş uzatıcı uygulamasını etkinleştirdi ve CameraX destek uzantıları arayüzü sürümünü 1.2'ye güncelledi (I92256)
Sürüm 1.2.0-alpha02
1 Haziran 2022
androidx.camera:camera-*:1.2.0-alpha02
yayınlanır. 1.2.0-alpha02 sürümü bu taahhütleri içerir.
Yeni Özellikler
- CameraX Zero-Shutter Lag API'yi deneysel olarak kullanıma sunma.
API Değişiklikleri
- Cihaz özelliğini sorgulamak için
ImageCapture
içine yeni yakalama moduCAPTURE_MODE_ZERO_SHUTTER_LAG
veCameraInfo
içineisZslSupported
ekleyin.CAPTURE_MODE_ZERO_SHUTTER_LAG
modu, anlık yakalama için minimum gecikmeyi sağlamayı amaçlar. Bu modül, kullanıcı fotoğraf çekmek için düğmelere bastığında ara yakalama sonuçlarını daha sonra yeniden işlemek üzere önbelleğe alan bir halka arabelleğine dayalı olarak uygulanır. {@link VideoCapture} bağlıysa veya flaş modu KAPALI değilse ya da OEM Uzantısı AÇIKsa bu mod otomatik olarak devre dışı bırakılır. (I9ae74) ImageAnalysis.getBackgroundExecutor()
yöntemini ekleyin (Icc945)
Hata Düzeltmeleri
ImageCapture
takePicture yönteminin, bildirilen cihazlarda el fenerini kapatması sorunu düzeltildi. (Ib5eb5, b/228272227)CONTROL_ZOOM_RATIO_RANGE
özelliği alınırkenAssertionError
özelliğinin işlenmediği bir hata düzeltildi.(/Ia248a, b/231701345)
Sürüm 1.2.0-alpha01
18 Mayıs 2022
androidx.camera:camera-*:1.2.0-alpha01
yayınlanır. 1.2.0-alpha01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Yeni camera-mlkit-vision kitaplığı kullanıma sunuldu
Hata Düzeltmeleri
- Yedek strateji etkinleştirildiğinde
QualitySelector
'ün UHD video kaydedememesi sorunu düzeltildi. Sorun,VideoCapture
, FULL veya daha yüksek donanım düzeyindeki bir kamera cihazındaImageCapture
ve Önizleme ile bağlandığında ortaya çıkar.QualitySelector
yedek stratejisi,VideoCapture
'in yanlışlıkla FHD çözünürlüğü almasına neden oluyor. Bu kullanım alanı kombinasyonu için UHD çözünürlük aslında desteklenir ve benimsenmelidir. (I0e788, b/230651237) ImageCapture.takePicture()
tarihindeNullPointerException
sorunu düzeltildi. (I92366, b/230454568, b/229766155)androidx.camera.video.Recorder
(Ia8ce8) için eşzamansız duraklatma davranışını düzeltme
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ınlanır. 1.1.0 sürümü bu taahhütleri içerir.
1.0.0 sürümünden bu yana yapılan önemli değişiklikler
- İlk RC sürümü olarak Açılış Görünümü, Uzantı ve Video Yakalama kitaplıkları. 1.1.0-beta01'den itibaren tüm CameraX kitaplıkları aynı sürüm numarasını kullanır. Bu, geliştiricilerin sürümleri çok daha kolay izlemesine ve büyük sürüm uyumluluk matrislerinin karmaşıklığını azaltmasına yardımcı olacaktır.
- Aşağıdakiler dahil olmak üzere herkese açık yeni API'ler ve özellikler kullanıma sunuldu:
- Video yakalama kullanım alanlarını desteklemek için resmi kamera-video kitaplığını ekleyin.
- YUV'den RGB'ye dönüştürme ve döndürme özelliği (
ImageAnalysis.Builder.setOutputImageRotationEnabled
vesetOutputImageFormat
) - Kamera başka bir uygulama tarafından kesintiye uğradığında ve odak geri geldiğinde CameraX uygulamalarının kamerayı devam ettirmesine izin vererek çoklu pencere modunu destekleyin.
- Bazı önizleme sorunlarını düzelterek CameraX'in katlanabilir cihazlarda iyi çalışmasını sağlar.
- CameraInfo aracılığıyla kullanıma sunulacak bir
CameraState
API eklendi. - Mevcut kameralarla ilgili bilgileri doğrudan almak için bir API
ProcessCameraProvider.getAvailableCameraInfos()
eklendi - Uzantılar etkinleştirildiğinde
ImageCapture#OnImageCapturedCallback
için çıkış JPEG biçimi. CameraInfo
sürümünde, uygulamaların belirli birFocusMeteringAction
özelliğinin mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyanisFocusMeteringSupported
API'si eklendi.- Önizleme,
ImageCapture
veImageAnalysis
için çözünürlük bilgilerini sağlamak üzeregetResolutionInfo
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
listesiniCameraSelector
'ye göre filtrelemek için herkese açık API'yeCameraSelector#filter
eklendi.- Mevcut yakalama isteği seçeneklerini temizlemek için
Camera2CameraControl.clearCaptureRequestOptions
eklendi. CameraController
'ü harici görüntü işleme kitaplıklarıyla (ör. MLKit) kullanmak için deneysel bir API eklendi- Kamerasına özgü bir
CameraSelector
döndüren deneysel APICameraInfo#getCameraSelector()
eklendi - Birkaç deneysel API'yi resmi herkese açık API'ler olarak kullanıma sunduk
- Deneysel API'lerde
@Experimental
ek açıklamaları@RequiresOptIn
ile değiştirildi. Deneme amaçlı API'leri çağırmak için desteği sonlandırılan androidx.annotation.experimental.UseExperimental yerine androidx.annotation.OptIn kullanın. - Aşağıdaki deneysel API'leri resmi API'ler olarak tanıttık:
CameraXConfig.Builder#setAvailableCamerasLimiter()
,CameraXConfig.Builder#setMinimumLoggingLevel()
,CameraXconfig.Builder#setSchedulerHandler()
,CameraXConfig#getAvailableCamerasLimiter()
,CameraXConfig#getMinimumLoggingLevel()
,CameraXConfig#getCameraExecutor()
,CameraXConfig#getSchedulerHandler()
, @ExperimentalCameraFilter
API'leri- deneysel pozlama telafisi API'leri.
- camera-core, camera-lifecycle ve camera-video için deneysel
UseCaseGroup
API'yi tanıttı. Görüntü alanını özelleştirmek içinViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
veViewPort.Builder#setScaleType
eklendi. ExperimentalUseCaseGroupLifecycle
'ü resmi herkese açık API'ler olarak tanıttı.- Mevcut API'lerde yapılan değişiklikler
Renamed MediaStoreOutputOptions.getCollection
-MediaStoreOutputOptions.getCollectionUri
.ActiveRecording
, ayrıntılı açıklamaları azaltmak için "Kayıt" olarak yeniden adlandırıldı.QualitySelector
içerik üretici API'si, liste tabanlı bir API'ye dönüştürüldü
Hata Düzeltmeleri
- Uzantı modu etkinleştirildiğinde ve
ImageCapture#CAPTURE_MODE_MAX_QUALITY
modu ayarlandığındaYuvToJpegProcessor
EOFException
sorunu düzeltildi. - Sabit codec yapılandırması, video kaydı kapandığı için başarısız oldu
- FHD'de kayıt yaparken önizleme/video en boy oranı düzeltildi
- Bazı cihazlarda duraklatma ve devam ettirme işlemlerinden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi
- Düşük ışıklı ortamlarda flaş modu otomatik veya always_on olduğunda, odaklanmak için dokunma (
startFocusAndMetering
) sırasında flaş tetiklenmesi sorunu düzeltildi.
Sürüm 1.1.0-rc02
1 Haziran 2022
androidx.camera:camera-*:1.1.0-rc02
yayınlanır. 1.1.0-rc02 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
ImageCapture.takePicture()
tarihindeNullPointerException
sorunu düzeltildi. (I92366, b/230454568, b/229766155)CONTROL_ZOOM_RATIO_RANGE
özelliği alınırkenAssertionError
özelliğinin işlenmemesi sorunu düzeltildi. (Ia248a, b/231701345)
Sürüm 1.1.0-rc01
11 Mayıs 2022
androidx.camera:camera-*:1.1.0-rc01
yayınlanır. 1.1.0-rc01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- camera-video, camera-view ve camera-extension için ilk RC sürümünü yayınlama
Hata Düzeltmeleri
VideoCapture<Recorder>
'in bağlamı kaldırıldığında video codec'inin serbest bırakılmaması ve özellikle API 21-22 cihazlardaMediaCodec.CodecException
ile kayıt sırasındaVideoCapture<Recorder>
'in sonraki kullanımlarının başarısız olmasına neden olan sorun düzeltildi. (Ie7f68)CameraExtensionsActivity
ile çekilen resimlerinImageCaptureTest
'te silinmemesi sorununu düzeltme
Sürüm 1.1.0-beta03
6 Nisan 2022
androidx.camera:camera-*:1.1.0-beta03
yayınlanır. 1.1.0-beta03 sürümü bu taahhütleri içerir.
API Değişiklikleri
CaptureRequestOptions
yapıcısını kısıtladı. (I261b6)CameraController
'ü harici görüntü işleme kitaplıklarıyla (ör. MLKit (I4ea71)) kullanmak için deneysel bir API eklendi
Hata Düzeltmeleri
- Çoklu pencerede cihazlar döndürüldükten sonra etkinlik yeniden başlatılmadığında önizlemenin
PreviewView
'te yanlamasına dönmesi sorunu düzeltildi. (I1ea36, b/223488673) - (1) Diğer yüksek öncelikli uygulama farklı bir kamera açtığında (2) cihaz Samsung Android 12 cihazları olduğunda, odak uygulamaya geri döndüğünde kameranın devam etmemesi sorunu düzeltildi. (I7e9f2)
- Flaş kullanılabilirliğini kontrol ederken kilitlenen cihazlar için geçici çözüm eklendi. Bu cihazlarda el feneri kullanılamaz. (If26a3, b/216667482)
- Uygulamalar uzantı kullandığında ve ProGuard'ı etkinleştirdiğinde ortaya çıkan
AbstractMethodError
sorunu düzeltildi. (I7cbaf, b/222726805) - Motorola razr 5G cihazda bulanıklık uzantısı modunu zorla devre dışı bırakmak, siyah önizleme ekranı sorununa neden olur. (I35d49)
- API 29 öncesi bazı Samsung cihazlarda duraklatma ve devam ettirme işlemlerinden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi. (I64622, b/202798609, b/202798572)
- Sony G3125'te duraklatma ve devam ettirme işlemlerinden sonra ses/görüntü senkronizasyonunun bozulması sorunu düzeltildi. (I2a1a5, b/202799148)
- Kaydedici
InvalidConfigException
ile karşılaştığında kilitlenme sorunu düzeltildi. Ancak bu düzeltme yalnızca uygulamanın kilitlenmesini önler,InvalidConfigException
sorununun nedenini çözmez.Recorder
yine de yapılandırılamazsa uygulamalar, kayıt yapmaya başladığında hata geri çağırma alır. (I89c29, b/213617227)
Harici Katkı
- test-coroutines-lib taşıma işlemi nedeniyle :compose:ui:ui-test api'si (updateApi) güncellendi (I3366d)
Sürüm 1.1.0-beta02
23 Şubat 2022
androidx.camera:camera-*:1.1.0-beta02
yayınlanır. 1.1.0-beta02 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Camera2Interop aracılığıyla fiziksel kamera kimliğini belirtme özelliğini ekleyin. (I5aed8)
Hata Düzeltmeleri
- Oppo Find N (I7d004) cihazda uzamış önizleme sorunu düzeltildi
- Galaxy J7 Prime'da önizlemenin bozuk görünmesiyle ilgili sorun düzeltildi. (I4c500)
- Video kodlayıcıyı bulmak için uyumlu bit hızını kullanın. (d969052)
Sürüm 1.1.0-beta01
26 Ocak 2022
androidx.camera:camera-*:1.1.0-beta01
yayınlanır. 1.1.0-beta01 sürümü bu taahhütleri içerir.
Yeni Özellikler
- 1.1.0-beta01'den itibaren tüm CameraX kitaplıkları aynı sürüm numarasını kullanır. Bu, geliştiricilerin sürümleri çok daha kolay izlemesine ve büyük sürüm uyumluluk matrisinin karmaşıklığını azaltmasına yardımcı olacaktır.
API Değişiklikleri
- Mevcut yakalama isteği seçeneklerini temizlemek için
Camera2CameraControl.clearCaptureRequestOptions
eklendi. (Ifa07d)
Hata Düzeltmeleri
- Android O(API 26) öncesi bazı cihazlarda video kaydederken yaşanan kilitlenme sorunu düzeltildi. (I88fdf, b/212328261)
- Samsung cihazlarda ön kamerada
cameraControl#startFocusAndMetering()
kullanılırken yanlış AF bölgesi sorunu düzeltildi (Ifbf59, b/210548792) - Karanlıkta hız ve çekilen görüntü kalitesini artırmak için Pixel 3a/Pixel 3a XL'de el fenerini flaş olarak kullanma (Ib12b6, b/211474332)
- Uygulamaların, kamera çoklu pencere modunda daha yüksek öncelikli başka bir uygulama tarafından kesintiye uğradığında ve odak uygulamaya geri döndüğünde kamerayı devam ettirmesine olanak tanınmıştır. Bazı çerçeve sorunları nedeniyle, odak değişiklikleri ile kameranın yeniden açılması arasında biraz gecikme(1 saniye ila 10 saniye veya daha fazla) olabileceğini lütfen unutmayın. (I4d092)
Sürüm 1.1.0-alpha12
15 Aralık 2021
androidx.camera:camera-*:1.1.0-alpha12
yayınlanır. 1.1.0-alpha12 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Dahili sınıflardan/arayüzlerden gereksiz
@RequiresApi(21)
ek açıklamaları kaldırıldı. (I8e286, b/204917951) QualitySelector
için kalite sabitleri ve yedek strateji sabitleri, sınıf nesneleri tarafından temsil edilecek şekilde değiştirildi. Örneğin,QualitySelector.QUALITY_HD
Quality.HD
olarak,QualitySelector.FALLBACK_STRATEGY_LOWER
iseFallbackStrategy.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 ile değiştirildi. Yeni APIQualitySelector.fromOrderedList(List<Quality>)
,QualitySelector.Procedure
tarafından oluşturulan sıra yerine giriş kalite listesinin sırasını referans alır.QualitySelector.Procedure
sınıfı kaldırıldı. (I43343)PendingRecording.withEventListener()
kaldırıldı ve etkinlik işleyicinin artıkPendingRecording.start()
'a iletilmesi gerekiyor. Bu etkinlik işleyici şartı,VideoRecordEvent.Finalize
etkinliğinde raporlanan asenkron hataların ele alınmasını teşvik etmek içindir. (I1e71d)ActiveRecording
, ayrıntı düzeyini azaltmak içinRecording
olarak yeniden adlandırıldı. (I77ceb)
Hata Düzeltmeleri
- Pixel 3a ve Pixel 3a XL'de
FLASH_AUTO
modunda çekilen fotoğrafların karanlık koşullarda yeterince aydınlatılmaması sorunu düzeltildi (I13f19, b/205373142) - Önizlemeyi belirlemek için her zaman en son görüntü boyutunu kullanın
Resolution
. (I4a694) REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
içermeyen kameralar filtrelendi.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
özellikli kameralar, her kamera cihazının desteklediği minimum özellik grubuna sahiptir.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
içermeyen kameralar, özel işlevleri destekleyen ve standart renk çıkışını desteklemeyen kameralar olabilir.CameraX
, bu kameralar içinPreview
,ImageCapture
,ImageAnalysis
veyaVideoCapture
kullanım alanlarını destekleyemez. Bu nedenle, yanlış kullanımı önlemek için bu kameralar filtrelenmelidir. (Ib8cda)CameraSelector#filter
artık sonuç kümesi boş olduğundaIllegalArgumentException
hatası atmıyor. (I27804)- Artık OEM tarafından belirtilen profillere göre kodlayıcı ayarlarını seçmek için daha akıllı sezgisel yöntemler kullanılıyor. (Iaeef0)
- Pixel1'de UHD video kaydı başladıktan sonra sabit önizlemede aralıklı renkli çizgiler olacak. (I833c6, b/205340278)
Sürüm 1.1.0-alpha11
17 Kasım 2021
androidx.camera:camera-*:1.1.0-alpha11
yayınlanır. 1.1.0-alpha11 sürümü bu taahhütleri içerir.
API Değişiklikleri
- CameraSelector#filter, CameraSelector'a göre CameraInfos listesini filtrelemek için herkese açık API'ye eklendi. (I105d0)
ImageAnalysis yapılandırması için setOutputImageRotationEnabled API'sini ekleyin. Kullanıcı, YUV/RGB resim arabelleği için dönüşümü etkinleştirebilir. Döndürme derecesi, görüntünün ön planda kalması için sensör dönme ve hedef dönme durumuna göre hesaplanan göreli bir dönmedir.
ImageAnalysis yapılandırması için setOutputImageRotationEnabled API'sini ekleyin. Kullanıcı, YUV/RGB resim arabelleği için döndürmeyi etkinleştirebilir. Döndürme derecesi, görüntünün ön planda kalması için sensör dönme ve hedef dönme durumuna göre hesaplanan göreli bir dönmedir.
ImageInfo'ya
getSensorToBufferTransformMatrix
API'sini ekleyin. Döndürülen matris, sensör koordinatlarından arabellek koordinatlarına (CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
ile(0, 0, image.getWidth, image.getHeight)
değerleri arasında) bir eşlemedir. Matris, koordinatları bir {UseCase} ile diğeri arasında eşlemek için kullanılabilir. Örneğin, ImageAnalysis ile algılanan yüzün koordinatlarını önizlemeyle eşleme. (I9ff1e)Fotoğraf çekerken çıkış JPEG görüntü sıkıştırma kalitesinin değiştirilmesine olanak tanımak için yeni bir API ImageCapture.Builder#setJpegQuality eklendi. (I8dcf4)
MediaStoreOutputOptions.getCollection adlı yöntemin adı MediaStoreOutputOptions.getCollectionUri olarak değiştirildi. (I16639)
Hata Düzeltmeleri
- Düşük ışıklı ortamda flaş modu otomatik veya always_on olduğunda, dokunarak odaklama (startFocusAndMetering) sırasında flaşın tetiklenmesi sorunu düzeltildi. (Id4c11)
- Gecikmeyi azaltmak için Pixel 2 XL / Pixel 3 XL'de HDR+, MINIMUM_GECIKLEMI azaltma modunda devre dışı bırakıldı. (Ib6270, b/203505523)
Harici Katkı
Sürüm 1.1.0-alpha10
13 Ekim 2021
androidx.camera:camera-*:1.1.0-alpha10
yayınlanır. 1.1.0-alpha10 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Video için ilk alfa sürümü olarak
androidx.camera:camera-video:1.1.0-alpha10
resmi olarak yayınlandı. Sonraki sürümlerde düzeltilecek birkaç bilinen sorun vardır.
API Değişiklikleri
- Tüm CameraX sınıflarına
@RequiresApi(21)
ek açıklama eklendi ve minSdkVersion, AndroidManifest.xml dosyasından kaldırıldı. Bu sayede, camera-core, minSdkVersion değeri 21'den az olan ancak API 21 ve sonraki sürümleri kullanan kod yollarını koşullu olarak kullanmak isteyen uygulamalara kolayca entegre edilebilir. minSdkVersion 21 veya sonraki sürümleri hedefleyen uygulamalar için bu değişiklikle ilgili herhangi bir işlem yapılması gerekmez. (Ie7f2e, b/200599470)
Hata Düzeltmeleri
- Uygulamanın, CameraCharacteristics oluşturulurken meydana gelen AssertionError hatasını düzgün bir şekilde işleyebilmesi için bir InitializationException atayın. (Ibec79)
Sürüm 1.1.0-alpha09
29 Eylül 2021
androidx.camera:camera-camera2:1.1.0-alpha09
, androidx.camera:camera-core:1.1.0-alpha09
ve androidx.camera:camera-lifecycle:1.1.0-alpha09
yayınlandı. 1.1.0-alpha09 sürümü bu taahhütleri içerir.
API Değişiklikleri
- API'ler artık deneysel olmadığından ExperimentalUseCaseGroup ek açıklaması kaldırıldı. (I01ef5)
Hata Düzeltmeleri
MAXIMIZE_QUALITY
modunda çekilen fotoğrafların bulanık olması sorunu düzeltildi. (I173a9, b/193823892)- Karanlık ortamda flaş açıkken/otomatik olarak fotoğraf çektikten sonra kameranın takıldığı Samsung Galaxy J5 sorunu düzeltildi (I3aab9)
- ImageCapture için kırpma gerektiğinde, ayarlanan yakalama moduna göre kırpılan çıkış resmini belirtilen JPEG kalite seviyesiyle sıkıştırır. Kayıt modu
CAPTURE_MODE_MINIMIZE_LATENCY
ise JPEG sıkıştırma kalitesi 95 olur. Kayıt moduCAPTURE_MODE_MAXIMIZE_QUALITY
ise JPEG sıkıştırma kalitesi 100 olur. (Ieb37c, b/142856426)
Sürüm 1.1.0-alpha08
18 Ağustos 2021
androidx.camera:camera-camera2:1.1.0-alpha08
, androidx.camera:camera-core:1.1.0-alpha08
ve androidx.camera:camera-lifecycle:1.1.0-alpha08
yayınlandı. 1.1.0-alpha08 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Resim analizi yapılandırması için setOutputImageFormat API'sini ekleyin. Kullanıcı, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 veya ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888'i seçebilir. Varsayılan olarak ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 seçilir. (I7902d)
API Değişiklikleri
- API'ler artık deneysel olmadığı için ExperimentalUseCaseGroupLifecycle ek açıklama kaldırıldı. (I17b85)
Hata Düzeltmeleri
- Huawei P20 Lite'ta ö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)
- Flash modu FLASH_MODE_ON olarak ayarlandıktan kısa bir süre sonra fotoğraf çekilirken bazı cihazlarda flaşın çalışmaması sorunu düzeltildi. (Ieb49b)
- VideoCapture, ImageCapture ve Önizleme bağlanmışsa fotoğraf çekerken Önizleme'nin bir süre duraklaması sorunu düzeltildi. (I56197, b/193864120)
- ImageAnalysis'in 1080p'den daha yüksek bir çözünürlük seçmesine olanak tanır. LİMİTED seviyesinin üzerindeki bir cihaz, Önizleme ve Görüntü Yakalama ile birlikte bağlandığında ImageAnalysis için KAYIT boyutunda bir çözünürlüğü destekleyebilir. Bunun karşılığında, ImageCapture için seçilen çözünürlüğün de KAYIT boyutunda bir çözünürlük olması gerekir. ImageAnalysis için başarıyla KAYIT boyutunda bir çözünürlük seçmek üzere hem ImageCapture hem de ImageAnalysis'te KAYIT boyutunda bir hedef çözünürlük ayarlanmalıdır. Bu, uygulamanın bu dengelemeyi açıkça anladığını ve ImageCapture'ın MAKSİMUM çözünürlüğe sahip olması yerine ImageAnalysis'in daha yüksek çözünürlüğe sahip olmasını tercih ettiğini gösterir. KAYIT ve MAKSİMUM boyutlarının tanımları ve daha fazla bilgi için https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture adresine bakın. KAYIT boyutu, CamcorderProfile tarafından belirlenen kamera cihazının desteklenen maksimum kayıt çözünürlüğünü ifade eder. MAKSİMUM boyut, StreamConfigurationMap.getOutputSizes(int) kaynağındaki kamera cihazının söz konusu biçim veya hedef için maksimum çıkış çözünürlüğünü ifade eder. (I1ee97, b/192911449)
- Exif bilgilerini çekilen görüntüye ekleyin. (I01ff0, b/193342619)
- ImageCapture işlevinde, kayıt konumu Dosya ise kayıtlı resmin URI'sini döndürün. (Ib5b49, b/149241379)
- Flaşlı çekim yapılan resimlerin birçok cihazda karanlık olması sorunu düzeltildi. (I4e510)
Sürüm 1.1.0-alpha07
21 Temmuz 2021
androidx.camera:camera-camera2:1.1.0-alpha07
, androidx.camera:camera-core:1.1.0-alpha07
ve androidx.camera:camera-lifecycle:1.1.0-alpha07
yayınlandı. 1.1.0-alpha07 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Samsung Galaxy Note 5'te, karanlık ortamda flaş açıkken/otomatik olarak fotoğraf çektikten sonra kameranın takılı kalması sorunu düzeltildi (If6871)
- Uzantı modu etkinleştirildiğinde ve
ImageCapture#CAPTURE_MODE_MAX_QUALITY
modu ayarlandığındaYuvToJpegProcessor
EOFException sorunu düzeltildi. (I538bd, b/192017012)
Sürüm 1.1.0-alpha06
30 Haziran 2021
androidx.camera:camera-camera2:1.1.0-alpha06
, androidx.camera:camera-core:1.1.0-alpha06
ve androidx.camera:camera-lifecycle:1.1.0-alpha06
yayınlandı. 1.1.0-alpha06 sürümü bu taahhütleri içerir.
API Değişiklikleri
- camera-core (I08ee8) için deneysel pozlama telafisi API'lerini tanıtma
- CameraInfo API'sine, uygulamaların belirli bir FocusMeteringAction'ın mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyan isFocusMeteringSupported API'si eklendi. (Ib45ae, b/188606490)
- Önizleme, Resim Yakalama ve Resim Analizi için çözünürlük bilgilerini sağlamak üzere getResolutionInfo API'si kullanıma sunuldu. (I2b613, b/188600718)
- Aşağıdaki deneysel API'leri resmi API'ler olarak tanıttık: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- Bir kamera grubuna erişim sağlamak için CameraProvider arayüzünü kullanıma sundu. (I1a7b1)
- camera-core, camera-lifecycle ve camera-video için deneysel UseCaseGroup API'yi tanıtın. Görüntü alanını özelleştirmek için
ViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
veViewPort.Builder#setScaleType
eklendi. (I7cee8)
Sürüm 1.1.0-alpha05
2 Haziran 2021
androidx.camera:camera-camera2:1.1.0-alpha05
, androidx.camera:camera-core:1.1.0-alpha05
ve androidx.camera:camera-lifecycle:1.1.0-alpha05
yayınlandı. 1.1.0-alpha05 sürümü bu taahhütleri içerir.
API Değişiklikleri
Camera2CameraFilter
sınıfı kaldırıldı. CameraFilter ile kamera seçmeyi önerin ve gerekirse Camera2CameraInfo aracılığıyla CameraCharacteristics veya Camera2 ile ilgili diğer bilgileri alın. (Ib887c)ExperimentalCameraFilter
API'ler artık deneysel aşamayı tamamladı ve resmi API'ler oldu. Bunlar, ek açıklamalı tercih yapma olmadan kullanılabilir. (I4bc94)CameraInfo#getCameraState()
üzerinden sunulan kamera durumu API'si eklendi. (Ia86b4)- Kamerasına özgü bir CameraSelector döndüren deneysel API
CameraInfo#getCameraSelector()
eklendi (I77f9f)
Hata Düzeltmeleri
- setZoomRatio ve setLinearZoom'da döndürülen ListenableFuture'un bazı Android 11 cihazlarda (I716d7) tamamlanamaması sorunu düzeltildi
- Kamera geçişini hızlandırma ve kamera cihazının hata oranı 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 taahhütleri içerir.
Hata Düzeltmeleri
- Aynı koleksiyona eşzamanlı olarak erişen birden fazla iş parçacığının neden olduğu bir bellek sızıntısı düzeltildi. Bellek sızıntısı, etkinliğin veya parçanın bir önizleme örneği tarafından tutulmasına neden olabilir. (I7b4b8)
- Deneysel API'lerde
@Experimental
ek açıklama@RequiresOptIn
ile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılanandroidx.annotation.experimental.UseExperimental
yerineandroidx.annotation.OptIn
kullanın. (Iff226) - Samsung Galaxy S7'de flaş açık/otomatikken görüntü yakalama özelliğinin soluk görüntüler çekmesi sorunu düzeltildi. (I30001)
- CameraInfo aracılığıyla kullanıma sunulacak bir CameraState API eklendi. (I75392)
Sürüm 1.1.0-alpha03
24 Mart 2021
androidx.camera:camera-camera2:1.1.0-alpha03
, androidx.camera:camera-core:1.1.0-alpha03
ve androidx.camera:camera-lifecycle:1.1.0-alpha03
yayınlandı. 1.1.0-alpha03 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Uzantı modları etkinleştirildiğinde
ImageCapture#OnImageCapturedCallback
için JPEG biçiminde çıkış. (I0d7b1) - UMIDIGI BISON cihazlarda (I57d9e, b/180818665) başlatma hatası düzeltildi
- Samsung A3'te önizleme görünümündeki gerilmiş önizleme düzeltildi. (Iacb30, b/180121821)
Sürüm 1.1.0-alpha02
24 Şubat 2021
androidx.camera:camera-camera2:1.1.0-alpha02
, androidx.camera:camera-core:1.1.0-alpha02
ve androidx.camera:camera-lifecycle:1.1.0-alpha02
yayınlandı. 1.1.0-alpha02 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Kullanılabilir kameralarla ilgili bilgileri doğrudan almak için bir API
ProcessCameraProvider.getAvailableCameraInfos()
eklendi. Bu kameralar, cihazın tüm kameraları veyaCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)
içinde sağlananCameraSelector
tarafından seçilen kameralardır. (Ieac08)
Hata Düzeltmeleri
- CameraX artık ilk denemede kamerayı zorla açmaya çalışıyor. Bu durum, uygulamanın önceliği daha yüksek olduğunda CameraX'in kamerayı diğer kamera istemcilerinden çalmasına neden olabilir. (Iab069, b/175820568)
- CameraXConfig'te setAvailableCamerasLimiter kullanıldığında Robolectric test hatası düzeltildi. (Ice307)
- Bu değişiklik, ImageAnalysis'te resim kuyruğu dolduğunda istisnayı yakalar. Bu nedenle, uygulama kilitlenmek yerine diğer kullanım alanlarında donma veya yavaşlama görebilirsiniz (ör. donmuş/yavaş önizleme). (Ic12da, b/175851631)
- Yalnızca Önizleme veya ImageCapture bağlıyken hataları bildirmesi için ExtensionsErrorListener düzeltildi. (I5ae39)
- Resim çekmeden önce kaydedilen resmin konumunun doğrulanması kaldırılarak ImageCapture performansındaki gerileme düzeltildi. Bu değişiklikten sonra, kayıt hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtının alınması daha uzun sürer. (I1fd4e, b/177061560)
- "Dosya" türündeki OutputFileOptions ile ImageCapture performansındaki gerileme düzeltildi. (I5164a, b/177061560)
- Kitaplık kodundan
ProcessCameraProvider.configureInstance(...)
kullanmanın önerilmediğine dair dokümanlar güncellendi. (Ib8a9f)
Sürüm 1.1.0-alpha01
27 Ocak 2021
androidx.camera:camera-camera2:1.1.0-alpha01
, androidx.camera:camera-core:1.1.0-alpha01
ve androidx.camera:camera-lifecycle:1.1.0-alpha01
yayınlandı. 1.1.0-alpha01 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- SM-G930T arka kamerasında JPEG'lerde zaman zaman bozuk resim verileri olması sorunu için geçici çözüm eklendi. (I52001, b/159831206)
- Tüm önizleme boyutları 640x480'ten küçük ve görüntü boyutu 640x480'ten büyük olduğunda ortaya çıkan
IllegalArgumentException
sorunu düzeltildi. (I2a63c, b/150506192) - Açıkça herkese açık kaynak belirtilmeyen (ör. public.xml aracılığıyla) kütüphanelerdeki kaynaklar artık varsayılan olarak gizlidir. (Ia1dcc, b/170882230)
Camera-Camera2, Camera-Core ve Camera-Lifecycle Sürüm 1.0.2
Sürüm 1.0.2
29 Eylül 2021
androidx.camera:camera-camera2:1.0.2
, androidx.camera:camera-core:1.0.2
ve androidx.camera:camera-lifecycle:1.0.2
yayınlandı. 1.0.2 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
MAXIMIZE_QUALITY
modunda çekilen fotoğrafların bulanık olması sorunu düzeltildi. (I173a9, b/193823892)- Flaşlı çekim yapılan resimlerin birçok cihazda karanlık olması sorunu düzeltildi. (I4e510)
Camera-Camera2, Camera-Core ve Camera-Lifecycle Sürüm 1.0.1
1.0.1 sürümü
21 Temmuz 2021
androidx.camera:camera-camera2:1.0.1
, androidx.camera:camera-core:1.0.1
ve androidx.camera:camera-lifecycle:1.0.1
yayınlandı. 1.0.1 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
setZoomRatio
içinde döndürülenListenableFuture
vesetLinearZoom
'nin bazı Android 11 cihazlarda tamamlanamaması sorunu düzeltildi (I716d7)Bazı cihazlarda kameranın kapanma durumunda takılı kalmasına ve önizlemenin siyah olmasına neden olan sorun düzeltildi. (I34c99)
Camera-Camera2, Camera-Core ve Camera-Lifecycle 1.0.0 sürümü
Sürüm 1.0.0
5 Mayıs 2021
androidx.camera:camera-camera2:1.0.0
, androidx.camera:camera-core:1.0.0
ve androidx.camera:camera-lifecycle:1.0.0
yayınlandı. 1.0.0 sürümü bu taahhütleri içerir.
1.0.0 sürümünün önemli özellikleri
- CameraX, Önizleme, Görüntü Yakalama ve Analizler'i destekler.
- CameraX, kullanımı kolay bir API'de kamera yaşam döngüsünü yönetir.
- CameraX, Android kamera ekosistemindeki birçok sorunu gideren bir uyumluluk katmanı sunmayı amaçlar.
Bilinen Sorunlar
- Bilinen sorunlar listesi bölümüne bakın.
Sürüm 1.0.0-rc05
21 Nisan 2021
androidx.camera:camera-camera2:1.0.0-rc05
, androidx.camera:camera-core:1.0.0-rc05
ve androidx.camera:camera-lifecycle:1.0.0-rc05
yayınlandı. 1.0.0-rc05 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Samsung Galaxy S7'de flaş açık/otomatikken görüntü yakalama özelliğinin soluk görüntüler çekmesi sorunu düzeltildi. (I30001)
Sürüm 1.0.0-rc04
24 Mart 2021
androidx.camera:camera-camera2:1.0.0-rc04
, androidx.camera:camera-core:1.0.0-rc04
ve androidx.camera:camera-lifecycle:1.0.0-rc04
yayınlandı. 1.0.0-rc04 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- UMIDIGI BISON cihazlarda (I57d9e, b/180818665) başlatma hatası düzeltildi
Sürüm 1.0.0-rc03
24 Şubat 2021
androidx.camera:camera-camera2:1.0.0-rc03
, androidx.camera:camera-core:1.0.0-rc03
ve androidx.camera:camera-lifecycle:1.0.0-rc03
yayınlandı. 1.0.0-rc03 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
ProcessCameraProvider#getInstance
belgesindeki biçim hatası düzeltildi- CameraXConfig'te setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olması sorunu düzeltildi.
- Resim çekmeden önce kaydedilen resmin konumunun doğrulanması kaldırılarak ImageCapture performansındaki gerileme düzeltildi. Bu değişiklikten sonra, kayıt hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtının alınması daha uzun sürer.
- Bu değişiklik, ImageAnalysis'te resim kuyruğu 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ında JPEG'lerde zaman zaman bozuk görüntü verileri olması sorunu için geçici çözüm eklendi. (I52001, b/159831206)
- Bu değişiklik, ImageAnalysis'te resim kuyruğu dolduğunda istisnayı yakalar. Bu nedenle, uygulama kilitlenmek yerine diğer kullanım alanlarında donma veya yavaşlama görebilirsiniz (ör. donmuş/yavaş önizleme). (Ic12da, b/175851631)
- CameraXConfig'te setAvailableCamerasLimiter kullanıldığında Robolectric test hatası düzeltildi. (Ice307)
- Resim çekmeden önce kaydedilen resmin konumunun doğrulanması kaldırılarak ImageCapture performansındaki gerileme düzeltildi. Bu değişiklikten sonra, kayıt hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtının alınması daha uzun sürer. (I1fd4e, b/177061560)
- "Dosya" türündeki OutputFileOptions ile ImageCapture performansındaki gerileme düzeltildi. (I5164a, b/177061560)
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 taahhütleri içerir.
Hata Düzeltmeleri
- Tüm önizleme boyutları 640x480'ten küçük ve görüntü boyutu 640x480'ten büyük olduğunda ortaya çıkan IllegalArgumentException sorunu düzeltildi. (b/150506192)
Kamerayı yeniden açma denemelerinin sayısını sınırlama. KameraX, kamerayı açarken belirli sorunlardan kurtulmaya çalışırken artık kamerayı süresiz olarak yeniden açmaya çalışmayacak. Bunun yerine, 10 saniye boyunca yeniden denedikten sonra durur.I435d2
Tüm önizleme boyutları 640x480'ten küçük ve görüntü boyutu 640x480'ten büyük olduğunda ortaya çıkan
IllegalArgumentException
sorunu düzeltildi. (I2a63c, b/150506192)
Sürüm 1.0.0-rc01
16 Aralık 2020
androidx.camera:camera-camera2:1.0.0-rc01
, androidx.camera:camera-core:1.0.0-rc01
ve androidx.camera:camera-lifecycle:1.0.0-rc01
yayınlandı. 1.0.0-rc01 sürümü bu taahhütleri içerir.
API Değişiklikleri
- CameraFilter ve Camera2Filter, CameraInfo'yu alacak şekilde değiştirildi. (I6883d)
- Camera2 API'leriyle dinamik olarak birlikte çalışılmasına olanak tanımak için deneysel Camera2CameraControl sınıfı eklendi. (I45cf3)
- Camera2CameraInfo#fromCameraInfo, #from olarak yeniden adlandırıldı. (Ia2bd6)
- Uygulamaların kullanılmayan kameraları başlatmaktan kaçınarak başlatma gecikmesini optimize etmesine olanak tanımak için CameraXConfig'e deneysel bir setAvailableCamerasLimiter API eklendi. (I6cf88)
- CameraX günlükleri için minimum günlük kaydı düzeyi ayarlanabilmesi amacıyla deneysel
CameraXConfig.Builder#setMinimumLoggingLevel()
yöntemi eklendi. Ayarlanmadığında varsayılan olarakLog#DEBUG
olur. (Ic3245)
Hata Düzeltmeleri
- SM-G930V arka kameradaki JPEG'lerde zaman zaman bozuk görüntü verileri olması sorunu için geçici çözüm eklendi. (I5aca5, b/159831206)
- Samsung SM-A716 cihazlarda flaş her zaman açıkken ve ortam karanlıkken fotoğraf çekerken sonuç alınamamasıyla ilgili sorun düzeltildi. (If98b2, b/172036589)
Preview.setSurfaceProvider(null)
çağrısı yapılarak önizlemenin durdurulamaması sorunu düzeltildi. (I3ac18)- Bazı cihazlarda 4:3 resimler çekerken yaşanan yön sorunu düzeltildi. (I0e3fb, b/171492111)
Kamera Camera2, Core ve Yaşam Döngüsü Sürümü 1.0.0-beta12
11 Kasım 2020
androidx.camera:camera-camera2:1.0.0-beta12
, androidx.camera:camera-core:1.0.0-beta12
ve androidx.camera:camera-lifecycle:1.0.0-beta12
yayınlandı. 1.0.0-beta12 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Samsung A3 cihazlarda otomatik flaş AE moduyla fotoğraf çekerken kilitlenme sorununu düzeltmek için Samsung A3 cihazlarda otomatik flaş devre dışı bırakıldı. (Ia5fe3, b/157535165)
- Android L (API düzeyleri 21 ve 22) çalıştıran Nexus 4 cihazlarda önizlemenin uzatılmasına neden olan sorun düzeltildi. (I4d407, b/158749159)
OnImageCapturedCallback#onCaptureSuccess
temel sınıfı uygulama artık resmi kapatmıyor. Bu, geliştiricilerin beklenmedik davranışlarla karşılaşmasını önlemek içindir. Geliştiriciler, resmi kapatmak için super.onCaptureSuccess işlevini kullanmamalıdır. (Ifbf9c)- Deneysel ek açıklamanın androidx varyantı, Kotlin ile uyumluluk sağlamak için desteği sonlandırıldı. Bu not, RequiresOptIn notuyla değiştirildi ve Java'ya yönelik lint aracı hem yeni Kotlin notunu hem de yeni androidx varyantını destekleyecek şekilde güncellendi. (I52495, b/151331381)
Camera-Camera2 Sürüm 1.0.0-beta11
14 Ekim 2020
androidx.camera:camera-camera2:1.0.0-beta11
yayınlanır. 1.0.0-beta11 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Android 11 veya sonraki sürümlerin yüklü olduğu, geçerli
CONTROL_ZOOM_RATIO_RANGE
içeren cihazlarda yakınlaştırma için Android 11CONTROL_ZOOM_RATIO
API'yi destekler. (I62cc6)
Hata Düzeltmeleri
- Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda ortaya çıkan NumberFormatException sorunu düzeltildi. (Ib2228)
- CameraX'in başlatılması ve bindToLifecycle'in gecikmesi iyileştirildi (I61dc5)
- UseCase oluşturma işleminin tamamlanması için CameraX'in başlatılması gerekmez. Uygulamaya özgü tüm yapılandırmalar, UseCase bir Camera örneğine eklendikten sonra ayarlanır. Bu örnek, herkese açık API için
ProcessCameraProvider.bindToLifecycle()
olur. (Ia5411) - Builder veya UseCase'ta bir targetRotation ayarlanmadığı sürece, bir Camera örneğine eklenmeden önce çağrılırsa
<UseCase>.getTargetRotation()
,Surface.ROTATION_0
döndürür. (I80fcd)
Camera-Core Sürüm 1.0.0-beta11
14 Ekim 2020
androidx.camera:camera-core:1.0.0-beta11
yayınlanır. 1.0.0-beta11 sürümü bu taahhütleri içerir.
Yeni Özellikler
- Android 11 veya sonraki sürümlerin geçerli CONTROL_ZOOM_RATIO_RANGE
içerdiği cihazlarda yakınlaştırma için Android 11 CONTROL_ZOOM_RATIO
API'yi destekler. (I62cc6)
Hata Düzeltmeleri
- Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda ortaya çıkan NumberFormatException sorunu düzeltildi. (Ib2228)
- UseCase oluşturma işleminin tamamlanması için CameraX'in başlatılması gerekmez. Uygulamaya özgü tüm yapılandırmalar, UseCase bir Camera örneğine eklendikten sonra ayarlanır. Bu örnek, herkese açık API için
ProcessCameraProvider.bindToLifecycle()
olur. (Ia5411) - Builder veya UseCase'ta bir targetRotation ayarlanmadığı sürece, bir Camera örneğine eklenmeden önce çağrılırsa
<UseCase>.getTargetRotation()
,Surface.ROTATION_0
döndürür. (I80fcd)
Camera-Core Sürüm 1.0.0-beta10
23 Eylül 2020
androidx.camera:camera-core:1.0.0-beta10
yayınlanır. 1.0.0-beta10 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Resim yakalama için dosya kaydetme hedefini doğrulamadaki hata düzeltildi (I8c565, b/167697553)
Camera-Camera2 Sürüm 1.0.0-beta10
23 Eylül 2020
androidx.camera:camera-camera2:1.0.0-beta10
yayınlanır. 1.0.0-beta10 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u desteklemek için yayınlanan sürüm
Camera-Camera2 Sürüm 1.0.0-beta09
16 Eylül 2020
androidx.camera:camera-camera2:1.0.0-beta09
yayınlanır. 1.0.0-beta09 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Camera2CameraInfo, statik yöntemler sağlamak yerine, oluşturulduğunda Camera2 ile ilgili bilgileri almak için bir CameraInfo örneği alır. (I5b844)
Hata Düzeltmeleri
- Tablet cihazlarda hedef en-boy oranı sorunu düzeltildi. Hedef en boy oranı
AspectRatio.RATIO_16_9
olarak ayarlandığında 16:9 boyutu seçilmelidir. (Ib7fcf, b/151969438) - Uygulamanın, CameraCharacteristics oluşturulurken meydana gelen AssertionError hatasını düzgün bir şekilde işleyebilmesi için bir
InitializationException
atayın. (I89c8c, b/160524721) - ExposureCompensation (If96c7) için deneysel arayüzler eklendi
Camera-Core Sürüm 1.0.0-beta09
16 Eylül 2020
androidx.camera:camera-core:1.0.0-beta09
yayınlanır. 1.0.0-beta09 sürümü bu taahhütleri içerir.
API Değişiklikleri
- UseCaseGroup'da görüntü alanının null olmayan olarak işaretlenmesi sorunu düzeltildi. Geliştiriciler, görüntü alanı belirlemeden görüntü alanı oluşturabilmelidir. (Ie3d2e)
ExposureCompensation
(If96c7) için deneysel arayüzler eklendi- Önizleme için rastgele hedef rotasyonuna izin verin. Dönüşüm bilgileri yeni bir
TranformationInfoListener
geri çağırma işlevi aracılığıyla anında hesaplanır ve kullanıcıya döndürülür. (I21470)
Hata Düzeltmeleri
- Bazı cihazlarda flaş ışığının kapanmaması sorunu düzeltildi. Bu sorun, flaş modu fotoğraf çekmek için
FLASH_MODE_ON
olarak ayarlandığında ve flaş yandığındaFLASH_MODE_OFF
olarak değiştirildiğinde ortaya çıkıyordu. Bu sorun, el feneri modunun etkinleştirilmiş olması gibi görünüyor. (Ib4451, b/162568128) - Uzantı efekti etkinse ve tedarikçi kitaplığı uygulamasının çıkış yüzeyinde özel bir işlem yapması gerekiyorsa PreviewView'ın TextureView kullanması zorunlu kılınır. (I0c3cc)
- Bir etkinlik/parça bağlamı
ProcessCameraProvider.getInstance(Context)
'e iletildiğinde etkinlik/parça sızıntısı düzeltildi.
Bilinen Sorunlar
- ViewPort ayarlandığında, HAL'de görüntü arabelleğini döndüren cihazlarda ImageCapture'in kırpma dikdörtgeni yanlış olabilir. Bu sorun, sonraki sürümde düzeltilecektir.
Camera-Camera2 Sürüm 1.0.0-beta08
19 Ağustos 2020
androidx.camera:camera-camera2:1.0.0-beta08
yayınlanır. 1.0.0-beta08 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- bindToLifecycle, ana iş parçacığında hızlı çalışacak şekilde optimize edildi. (I1d57e)
- DisplayOrientedMeteringPointFactory, CameraSelector yerine bir CameraInfo örneği alır. Böylece, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir. DisplayOrientedMeteringPointFactory kullanan tüm sınıflar, CameraSelector yerine bir CameraInfo örneği de alır. (I400c1)
- Hedef çözünürlük ayarı 2016x1080 olduğunda ve desteklenen başka bir 1920x1080 16:9 boyutu olduğunda 16:9 mod16 boyutunun (864x480) seçildiği otomatik çözünürlük en boy oranı boyut gruplandırma sorunu düzeltildi. (I53167, b/159363774)
- CameraControl'un yarış koşulu nedeniyle çalışamadığı sorunu düzeltme (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ınlanır. 1.0.0-beta08 sürümü bu taahhütleri içerir.
API Değişiklikleri
DisplayOrientedMeteringPointFactory
,CameraSelector
yerineCameraInfo
örneği alır. Böylece fabrikanın puan oluşturacağı kameraya doğrudan bir eşleme yapılır.DisplayOrientedMeteringPointFactory
kullanan tüm sınıflar,CameraSelector
yerine birCameraInfo
örneği de alır. (I400c1)
Hata Düzeltmeleri
- Resim yakalama için kamera yönüne göre meta verilerdeki yatay çevirme işaretinin üzerine yazın. (I28499)
Context.getApplicationContext()
kaynağından bir Application nesnesi döndürmeyen bir Context kullanıldığında artık başlatma 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ınlanır. 1.0.0-beta07 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Android 5.0 eski cihazlarda önizlemenin uzaması sorunu düzeltildi. (I0c03a)
- Bazı cihazlarda WYSIWYG sorununa neden olan, JPEG tarafından desteklenen bazı boyutlar hariç tutuldu. (Ib5128)
Camera-Core Sürüm 1.0.0-beta07
22 Temmuz 2020
androidx.camera:camera-core:1.0.0-beta07
yayınlanır. 1.0.0-beta07 sürümü bu taahhütleri içerir.
API Değişiklikleri
FIT_CENTER
,FIT_START
veFIT_END
uyum stiliniFIT
ile birleştirin.FIT
, döndürülen kırpma dikdörtgeninin mümkün olan maksimum sensör dikdörtgeni olacağı anlamına gelir. (Ia73c3)- Önizlemenin kırpma dikdörtgeni, görüntü alanına göre yapılandırılır. Son kullanıcılar yalnızca kırpma dikdörtgeninin kapsadığı alanı görebilir. (I142a4)
Hata Düzeltmeleri
- Android 5.0 eski cihazlarda önizlemenin uzatılması sorunu düzeltildi. (I0c03a)
- Kullanım alanlarının bağlamasını kaldırırken
ConcurrentModificationException
istisnası sorunu düzeltildi. (I371c0)
Camera-Camera2 Sürüm 1.0.0-beta06
24 Haziran 2020
androidx.camera:camera-camera2:1.0.0-beta06
yayınlanır. 1.0.0-beta06 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Kameraları kamera kimliğine ve CameraCharacteristics özelliğine göre filtrelemek için deneysel arayüzler eklendi. (I28f61)
Hata Düzeltmeleri
- startFocusAndMetering işlevinin Samsung Galaxy S7'de başarıyla odaklanamamasına neden olan sorun düzeltildi. (If3be7, b/159039233)
- Uygulamadan çıktıktan sonra kameranın kapatılamaması sorununu düzeltme. (I7a7b3)
- PreviewView'un SurfaceView uygulaması kullanılırken tekrarlanan kamera geçişi araları önizlemesini düzeltme (I920ce)
- Belirtilen MeteringPoint'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ınlanır. 1.0.0-beta06 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Kameraları kamera kimliğine ve CameraCharacteristics özelliğine göre filtrelemek için deneysel arayüzler eklendi. (I28f61)
Hata Düzeltmeleri
- CameraX artık
ProcessCameraProvider#getInstance()
çağrılmadan önceProcessCameraProvider#configureInstance()
ile yapılandırılabilir. Bu sayede, uygulamanın Application sınıfındaCameraXConfig.Provider
'ü uygulamak zorunda kalmadanCameraXConfig
ö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ınlanır. 1.0.0-beta05 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Telefon Rahatsız Etmeyin modundayken CameraX ilk başlatılırken uygulama başlatılırken kilitlenme sorunu düzeltildi.
InitializationException
, uygulamayı çökertmek yerine başlatma sonucununListenableFuture
değerine ayarlanacak birCameraUnavailableException
içerir. (I9909a, b/149413835) CONTROL_AF_STATE
değerinin null olduğu cihazlardastartFocusAndMetering
çağrısı yapıldığında kilitlenme sorunu düzeltildi. (Ife55e, b/157084254)
Camera-Core Sürüm 1.0.0-beta05
10 Haziran 2020
androidx.camera:camera-core:1.0.0-beta05
yayınlanır. 1.0.0-beta05 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Telefon Rahatsız Etmeyin modundayken CameraX ilk başlatılırken uygulama başlatılırken kilitlenme sorunu düzeltildi.
InitializationException
içeren birCameraUnavailableException
, uygulamayı kilitlemek yerine başlatma sonucununListenableFuture
değerine ayarlanır. (I9909a, b/149413835)
Hata Düzeltmeleri
setTargetResolution
vesetTargetRotation
için javadoc'lar güncellendi. (Iae16f)
Camera-Camera2 Sürüm 1.0.0-beta04
27 Mayıs 2020
androidx.camera:camera-camera2:1.0.0-beta04
yayınlanır. 1.0.0-beta04 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Uygulamaların, kilitlenmeye neden olmadan
Camera2Interop
üzerinden herhangi bir camera2 yakalama isteği parametresini ayarlamalarına izin verildi. Parametrelerin geçersiz kılınması sonucunda ortaya çıkan sorunlar olabileceğini lütfen unutmayın. Camera2Interop kullanılarak parametrelerin geçersiz kılınması durumunda kararlılık ve davranış garanti edilmez. (Ibe5a1, b/149103700) - Uygulama, sözde yerel ayar kullanan bir cihazda kullanıldığında otomatik başlatma düzeltildi. (I3bef3, b/154767663)
- Ayrılmış 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şın etkin olmasına rağmen çekilen görüntünün bazen çok karanlık olması sorunu düzeltildi. (I5d9fa, b/149729613)
ImageCapture
kaynağındanImageProxy
'teki arabelleğin geri sarılmamasına neden olan hata düzeltildi (I0c455, b/153249512)- Yalnızca ImageCapture'ı bağlamayla ilgili sorunlar düzeltildi: (1) MAX_QUALITY ile fotoğraf çekilemedi; (2) Otomatik pozlama çalışmadığı için kötü resim kalitesi oluşturuldu. (I17782, b/145326998)
- CameraX'in bağlantısı, kamerayı çalan başka bir işlem veya kod yolu tarafından kesildiğinde kameranın yeniden açılmasının güvenilirliği artırıldı (I1fbc3, b/153714651)
Camera-Core 1.0.0-beta04 sürümü
27 Mayıs 2020
androidx.camera:camera-core:1.0.0-beta04
yayınlanır. 1.0.0-beta04 sürümü bu taahhütleri içerir.
API Değişiklikleri
- CameraX kamera yığını tarafından dahili olarak kullanılan işleyiciyi ayarlamak için deneysel bir API (
CameraXConfig.Builder#setSchedulerHandler()
) ekler.CameraXConfig.Builder#setCameraExecutor()
ile birlikte bu yeni API, CameraX kamera yığını tarafından kullanılan iş parçacıkları üzerinde tam kontrol sağlar. (I7bf32, b/121160431)
Hata Düzeltmeleri
ImageReaderProxy
kapatıldıktan sonraImageProxy
'a erişildiğiImageAnalysis
'te kilitlenme düzeltildi. Bu,Analyzer
tarafından alınan tümImageProxy
'lerinImageReaderProxy
kapatılmadan önce kapatılması gerektiği anlamına da gelir. (I4b299, b/145956416, b/154155377, b/156357269)CameraInfo
parametresiPreviewView#createSurfaceProvider()
'ten kaldırıldı.PreviewView
artık bu parametreyi dahili olarakSurfaceRequest
'ten alıyor. (If18f0, b/154652477)- Uygulama, sözde yerel ayar kullanan bir cihazda kullanıldığında otomatik başlatma düzeltildi. (I3bef3, b/154767663)
- Flaşın etkin olmasına rağmen çekilen görüntünün bazen çok karanlık olması sorunu düzeltildi. (I5d9fa, b/149729613)
- setAnalyzer/clearAnalyzer çağrılarının birden fazla kez yapılmasının, analizörün analiz edilecek resimleri almamasına neden olduğu
ImageAnalysis
sorunu düzeltildi. (I6169f, b/151605317, b/153514544) ImageCapture
kaynağındanImageProxy
'teki arabelleğin geri sarılmamasına neden olan hata düzeltildi (I0c455, b/153249512)CameraManager
'teki desteklenen listedeki ilk kameranın her zaman kullanılmak üzere seçilmemesi sorunu düzeltildi. (I4c624, b/153418028)Preview.SurfaceProvider
ayarının, daha önce istenen yüzeyi serbest bırakmamasından kaynaklanan aralıklı kilitlenme düzeltildi.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”
(I8e4e7, b/155936225)
Camera-Camera2 1.0.0-beta03 sürümü
15 Nisan 2020
androidx.camera:camera-camera2:1.0.0-beta03
yayınlanır. 1.0.0-beta03 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
camera-core
sürümünün yayınlanmasını destekleyen düzeltmeler
Camera-Core 1.0.0-beta03 sürümü
15 Nisan 2020
androidx.camera:camera-core:1.0.0-beta03
yayınlanır. 1.0.0-beta03 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Beta03'ten itibaren
bindToLifecycle()
işlevinin sıfırUseCase
ile çağrılmasının istisna atılmasına neden olduğu gerileme düzeltildi. Bu durum,UseCase
bağlamadanCamera
alınmasını engelledi.
Camera-Camera2 Sürüm 1.0.0-beta02
1 Nisan 2020
androidx.camera:camera-camera2:1.0.0-beta02
yayınlanır. 1.0.0-beta02 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
ImageCapture
tarafından üretilenImageProxy
öğesindekiImageInfo.getRotationDegrees()
, EXIF yön rotasyon değeriyle eşleşecek şekilde düzeltildi. (Id4281, b/150802561)- Varsayılan CameraX/Camera2 uygulamasını kullanmak için artık
build.gradle
içindeki CameraX bağımlılıkları açıkça sıralanmalıdır. Sıkı bağımlılıkların belirtilmesinin zorunlu olduğu durumlarda artık tüm CameraX bağımlılıkları derleme dosyasına dahil edilebilir. (I46e88) - Ekran boyutunun 640x480'ten küçük olduğu cihazlarda ortaya çıkan
IllegalArgumentException
sorunu düzeltildi. (Ife3f2, b/150506192) bindToLifecycle
, yalnızca başarılı bir şekilde bağlanırsa UseCase'ı değiştirecek şekilde düzeltildi. Önceden, çözünürlük hesaplamaları yapmak içinbindToLifecycle
çağrılırken UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'ı güncellemesi gerekmiyor (I78d9e)
Camera-Core Sürüm 1.0.0-beta02
1 Nisan 2020
androidx.camera:camera-core:1.0.0-beta02
yayınlanır. 1.0.0-beta02 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
ImageCapture
tarafından üretilenImageProxy
öğesindekiImageInfo.getRotationDegrees()
, EXIF yön rotasyon değeriyle eşleşecek şekilde düzeltildi. (Id4281, b/150802561)bindToLifecycle
, yalnızca başarılı bir şekilde bağlanırsa UseCase'ı değiştirecek şekilde düzeltildi. Önceden, çözünürlük hesaplamaları yapmak içinbindToLifecycle
çağrılırken UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'ı güncellemesi gerekmiyor (I78d9e)Preview.setSurfaceProvider()
birden fazla kez çağrıldıktan sonra önizleme yüzeyi değiştiğindePreview
kullanım alanının yakalama oturumunun güncellenmemesi sorunu düzeltildi.
Camera-Camera2 Sürüm 1.0.0-beta01
26 Şubat 2020
androidx.camera:camera-camera2:1.0.0-beta01
yayınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
SurfaceRequest.setSurface(Surface)
,SurfaceRequest.provideSurface(Surface)
olarak,SurfaceRequest.setWillNotComplete()
iseSurfaceRequest.willNotProvideSurface()
olarak yeniden adlandırıldı. (I224fe)ImageCapture.setTargetRotation()
kullanılarak hedef dönüş değeri değiştirildikten sonra kaydedilen bir resmin en boy oranının doğru olmaması sorunu düzeltildi. (I474ea, b/148763432)- Varsayılan
CameraXConfig
sağlayıcıyı ayarlayan işareti koruyarak ProGuard etkinken 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ınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.
API Değişiklikleri
SurfaceRequest.provideSurface()
'tekiListenableFuture
,Executor
veCallback
ile değiştirildi. Bu,provideSurface()
'te istisnaların ele alınmasını gerektirmediğinden veprovideSurface()
geri çağırma işlevinin iptal edilememesini zorunlu kıldığından API'yi basitleştirir. Bu, yüzeylerin erken yayınlanmasından kaynaklanan kilitlenmelerin eski cihazlarda yaşanmasını önlemek içindir.SurfaceRequest.Result
nesnesi artık birSurfaceRequest
'un sağlananSurface
'yi nasıl kullandığını izlemek için kullanılır. (I7854b)SurfaceRequest.setSurface(Surface)
,SurfaceRequest.provideSurface(Surface)
olarak,SurfaceRequest.setWillNotComplete()
iseSurfaceRequest.willNotProvideSurface()
olarak yeniden adlandırıldı. (I224fe)
Hata Düzeltmeleri
ImageCapture.setTargetRotation()
kullanılarak hedef dönüş değeri değiştirildikten sonra kaydedilen bir resmin en boy oranının doğru olmaması sorunu düzeltildi. (I474ea, b/148763432)- Varsayılan
CameraXConfig
sağlayıcıyı ayarlayan işareti koruyarak ProGuard etkinken uygulama varyantlarının başlatılması düzeltildi. (I2d6c1) - Flash modu API'lerinin dokümanları, olası değerleri içerecek şekilde güncellendi. (I4a3ec)
Camera-Camera2 1.0.0-alpha10 sürümü
10 Şubat 2020
androidx.camera:camera-camera2:1.0.0-alpha10
yayınlanır. 1.0.0-alpha10 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
Surface
'ların yalnızca Camera2 tarafından kullanıldığı süre boyunca tutulmasını sağlayarakINFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
cihazlarda kararlılık iyileştirmesi yapıldı. (I9dac2)CONTROL_AE_TARGET_FPS_RANGE
ayarı doğru şekilde yapılarak LEGACY cihazlarda düşük ışıklı önizleme sorunu düzeltildi. (1224638)
Camera-Core 1.0.0-alpha10 sürümü
10 Şubat 2020
androidx.camera:camera-core:1.0.0-alpha10
yayınlanır. 1.0.0-alpha10 sürümü bu taahhütleri içerir.
API Değişiklikleri
ImageCapture
, resimlerinUri
veOutputStream
'ye kaydedilmesine izin verecek şekilde güncellendi. Aşırı yüklenentakePicture
yöntemleri tek bir yöntemde birleştirildi. Test uygulaması, standart örnek olarakUri
kullanacak şekilde güncellendi. (Ia3bec)Preview.PreviewSurfaceProvider
,Preview.SurfaceProvider
olarak yeniden adlandırıldı.SurfaceProvider
'ler artık geliştiricilerin kendiListenableFuture
'lerini oluşturmasını gerektirmez veSurface
sağlama işlemi artık yeni birSurfaceRequest
nesnesi aracılığıyla gerçekleştirilir.Preview
,PreviewView
gibi diğer sınıflarla birlikte kullanıldığında kötüye kullanım olasılığı nedeniylePreview.getPreviewSurfaceProvider()
yöntemi kaldırıldı. (I20105)Preview
içingetTargetRotation()
vegetTargetName()
ekler. (Iceee7)ImageAnalysis
'tegetTargetRotation()
,getBackpressureStrategy()
vegetImageQueueDepth()
eklendi. (I9d6d9)ImageCapture()
(I5bc17) tarihindegetTargetRotation()
vegetCaptureMode()
eklendi- Daha önce
ImageCapture.OnImageSavedCallback.onError()
veImageCapture.OnImageCapturedCallback.onError()
içinde iletilen bağımsız değişkenler, artık daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişkenImageCaptureException
ile değiştirildi. - Daha önce
ImageCapture.OnImageSavedCallback.onImageSaved()
içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2) Preview
veImageCapture
sınıfları artık nihai olarak işaretlendi. (I2500b)- API,
CameraInfo
öğesiningetZoomState()
ile birleştirilmesine yönelikgetZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
vegetLinearZoom()
yöntemleriyle güncellendi. Bu yöntemlerZoomState
örneği döndürür. (Ib19fe) - Yalnızca şirket içi kitaplık kullanımı için tasarlandıkları için
OPTION_TARGET_CLASS
veOPTION_TARGET_NAME
API alanlarıCameraXConfig
'den kaldırıldı.CameraXConfig.Builder
için kurucu kaldırıldı. (I96912) - CameraX'i başlatmak için uygulamanın
Application
'ü genişletmesi şartı kaldırıldı. Artıkcamera-camera2
yapı, uygulamanınbuild.gradle
dosyasına dahil edildiği sürece CameraX varsayılan Camera2 yapılandırmasıyla başlatılacak. (I58ff5) (b/146923574)
Camera-Camera2 Sürüm 1.0.0-alpha09
22 Ocak 2020
androidx.camera:camera-camera2:1.0.0-alpha09
yayınlanır. 1.0.0-alpha09 sürümü bu taahhütleri içerir.
API değişiklikleri
Camera2 kamera kimliğini ayıklamak için camera2 birlikte çalışabilirlik yolunu ekleyin.
Camera2CameraInfo.extractCameraId()
kullanarakCameraInfo
öğesinden kamera kimliğini ayıklayabilirsiniz. Aşağıdaki kod örneğinde bunun nasıl kullanılacağı gösterilmektedir:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
Camera2CameraInfo
sınıfı içinExperimentalCamera2Interop
işaretçi sınıfı gereklidir.
Camera-Core Sürümü 1.0.0-alpha09
22 Ocak 2020
androidx.camera:camera-core:1.0.0-alpha09
yayınlanır. 1.0.0-alpha09 sürümü bu taahhütleri içerir.
API değişiklikleri
SurfaceOrientedMeteringPointFactory
parametresiuseCaseForSurface
,useCaseForAspectRatio
olarak yeniden adlandırıldı ve referans dokümanları genişletildi.FocusMeteringAction.Builder.from()
yöntemleri, oluşturucularlaFocusMeteringAction.Builder()
değiştirilir.DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)
kaldırıldı. Uygulamalar,Display
parametresi alan ve geçerli ekranı ilettiği kurucuyu kullanmalıdır.- Odak ve ölçüm API'leri için
MeteringMode
ve 3A işaretleri veDisplay
parametresinin kullanımıyla ilgili Javadoc iyileştirmeleri. setZoomRatio
vesetLinearZoom
ile ilgili referans dokümanlarını genişlettik.
Hata düzeltmeleri
- Kameraları kapatıp açarken "ön koşul" kontrolünün başarısız olmasına neden olan sorunlar düzeltildi.
- Torch ve zoom API'leri kullanılırken ortaya çıkabilecek bir
ConcurrentModificationException
sorunu düzeltildi. - mod16 boyutu mevcut olduğunda istenen çözünürlüğe daha yakın çözünürlükler seçilmesi için sorun düzeltildi.
startFocusMetering
vecancelFocusMetering
API'leri artık doğru zamanlamayla ve gerektiğinde hata döndürerek dokümanlardaki gibi davranıyor.- Bu tür boyutları desteklemeyen bir cihazda kırpma en boy oranıyla belirli bir hedef çözünürlük istendiğinde ortaya çıkan sorun düzeltildi. Artık, mevcut olduğunda orijinal isteği sınırlayacak yeterli çözünürlüğe sahip kırpılmamış bir boyut seçilecek.
Camera-Camera2 Sürümü 1.0.0-alpha08
18 Aralık 2019
androidx.camera:camera-camera2:1.0.0-alpha08
yayınlanır. 1.0.0-alpha08 sürümü bu taahhütleri içerir.
Bilinen Sorunlar
- Camera2 birlikte çalışabilirliği kullanılırken Camera2 yakalama isteği seçeneklerinin tümü çalışmaz. İstenen seçenek desteklenmiyorsa oturum başlatılamaz ve aşağıdaki gibi bir hata oluşabilir:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
Hata Düzeltmeleri
- API 21 ve 22 seviyelerinde kamera döndürüldükten veya değiştirildikten sonra önizlemenin siyah ekranda gösterilmesine neden olan sorun düzeltildi.
API Değişiklikleri
- Deneysel: Kamera kimliğini ayıklamak için camera2 birlikte çalışabilirlik yolu eklendi.
Camera-Core Sürüm 1.0.0-alpha08
18 Aralık 2019
androidx.camera:camera-core:1.0.0-alpha08
yayınlanır. 1.0.0-alpha08 sürümü bu taahhütleri içerir.
Bilinen Sorunlar
PreviewView
veyaCameraView
kullanan uygulamalarda yanlış en boy oranı önizlemesi olabilir. Bu durum, Pixel2 gibi bazı FULL cihazlarda duraklatma veya devam ettirme işleminden sonra gerçekleşir.
Hata Düzeltmeleri
FocusMeteringAction
veCameraControl
ile ilgili dokümanlar güncellendi.enableTorch()
vegetTorchState()
içinTorchControl
uygulandı.
API Değişiklikleri
- IntDef'leri gizledi ve IntDef sabitlerini IntDef tanımının dışına taşıdı.
rotationDegrees
,OnImageCaptureCallback
sınıfındanImageInfo
sınıfına taşındı.rotationDegrees
,Analyzer
sınıfındanImageInfo
sınıfına taşındı.
Camera-Camera2 Sürüm 1.0.0-alpha07
4 Aralık 2019
androidx.camera:camera-camera2:1.0.0-alpha07
yayınlanır. camera-camera2 sürümünün 1.0.0-alpha07 sürümü bu taahhütleri içerir
Camera2Config
artık CameraX için Camera2 tabanlı bir uygulamayı başlatmak ve yapılandırmak amacıyla kullanılabilir. Bu özelliğin ilk başlatmada nasıl kullanılacağı hakkında daha fazla bilgiyi sürüm notlarının camera-core bölümünde bulabilirsiniz.- camera2 birlikte çalışabilirlik işlevi artık deneysel olarak işaretlendi ve ayrı bir pakete taşındı.
androidx.camera.camera2.interop.
Camera-Core Sürümü 1.0.0-alpha07
4 Aralık 2019
androidx.camera:camera-core:1.0.0-alpha07
yayınlanır. camera-core'un 1.0.0-alpha07 sürümü bu taahhütleri içerir
Beta sürümüne hazırlanırken bu alfa sürümünde bazı önemli değişiklikler olduğunu unutmayın. Değişiklikleri incelemenizi ve CameraX Google grubunda geri bildirimlerinizi paylaşmanızı öneririz. Play Store'daki uygulamalarda CameraX kullanan geliştiricilerin, uygulamalarındaki kitaplığı yükseltmeden önce resmi Beta sürümünü beklemelerini öneririz.
API değişiklikleri
Önemli: CameraX başlatma işlemi değişti. Uygulamalar
CameraXConfig.Provider
'ü uygulamalı veandroidx.camera.camera2
tarafından sağlanan varsayılanCamera2Config
'ü 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()
vehasCamera()
artıkProcessCameraProvider
aracılığıyla kullanılabilir.ProcessCameraProvider
işlemi başına bir örnek, tamamlandığındaProcessCameraProvider
sağlayan, dinlenebilir bir gelecek döndüren statikProcessCameraProvider.getInstance()
yöntemi kullanılarak eşzamansız olarak elde edilir. Burada, tipik bir kullanım içinonCreate()
olarak gösterilmektedir. Başlatma gecikmesini daha sonraya ertelemek için (ör. kullanıcı işlemiyle kamera kullanıcı arayüzü açıldığında) etkinliğin yaşam döngüsünün daha sonlarınagetInstance()
çağrıları yerleştirebilirsiniz.import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }
getInstance()
tarafından döndürülenListenableFuture
öğesine bir dinleyici eklenebilir. Bu sayede kamera sağlayıcı,Future.get()
'da engellenmedenFuture
'ten alınabilir.cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))
Kamera seçimi artık kullanım alanına göre değil, kamera seçiciyle yapılıyor
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
CameraProvider.bindToLifecycle
'e yaşam döngüsü sahibi, kamera seçici ve kullanım alanları verilir. Bunlar daha sonra belirli yaşam döngüsü sahibine bağlanır ve seçilen kamera için çalıştırılır.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)
"Yapılandırma" kullanım alanı sınıfları kaldırıldı. Bunun yerine, her kullanım alanı oluşturucuda seçenekleri ayarlayarak doğrudan kullanım alanları oluşturun. Örnek:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
Önizleme kullanım alanı, Android en iyi uygulamalarını sağlamak için uygulama tarafından oluşturulan ve yönetilen bir yüzeyi kabul edecek şekilde güncellendi. camera-view paketinde sağlanan
PreviewView
görünüm sınıfının kullanılması önemle tavsiye edilir.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
Uygulama tarafından yönetilen bir yüzey eklemeyle ilgili dokümanları inceleyin. Bu durumlarda uygulama, platformun yaşam döngüsünü yönetir.
Önemli:
ImageAnalysis
Analizör yöntemi uygulaması, alınan görüntüleri kullanmayı bitirdiğindeimage.close()
'i çağırmalıdır. Aksi takdirde, geri basınç ayarına bağlı olarak yeni görüntüler alınamayabilir veya kamera duraklatılabilir. Ayrıntılar için referans dokümanlarını inceleyin.ImageAnalysis ImageReaderMode
artık geri basınç stratejisiintdef
olarak değiştirildi.ImageProxy.getImage()
, deneysel olarak işaretlenmiştir. Uygulamalar, örneğin@androidx.camera.core.ExperimentalGetImage
üzerinden kullanımla ilgili notlar almalıdır.Analyzer
içinUIThread
ek açıklaması şartı kaldırıldı.ImageAnalysis.clearAnalyzer()
işlevi, bir analizörün kaldırılması için eklenir.1'den fazla yöntemi olan dinleyiciler Geri Çağırma olarak yeniden adlandırıldı:
ImageCapture.OnImageCapturedListener
adlı bankanın yeni adıImageCapture.OnImageCapturedCallback
ImageCapture.OnImageSavedListener
adlı bankanın yeni adıImageCapture.OnImageSavedCallback
VideoCapture.OnVideoSavedListener
adlı bankanın yeni adıVideoCapture.OnVideoSavedCallback
Enum'ler IntDef olarak değiştirildi
Yakınlaştırma kontrolleri eklendi:
CameraControl.setLinearZoom()
CameraControl.setZoomRatio()
CameraInfo.getLinearZoom()
CameraInfo.getMaxZoomRatio()
CameraInfo.getZoomRatio()
CameraInfo.hasFlashUnit()
, flaş/el feneri donanımının olup olmadığını belirlemek için eklenir.CameraInfo.isFlashAvailable()
kaldırıldı. El feneri, flaş işlevini geçersiz kılar. Daha fazla bilgiyi referans belgelerinde bulabilirsiniz.ImageCapture.Metadata
alanları, get/set/is erişim yöntemleriyle değiştirilir.startFocusMetering
vecancelFocusMetering
artık çağrının eşzamansız çalışmasını temsil edenListenableFutures
değerini döndürüyor.MeteringPoints
artık ölçüm işlemlerinin tutamaç işlevi görmektedir ve fabrikalar tarafından üretilmektedir. Uygulamalar, özel fabrikalar yerine mevcut fabrikaları kullanmalıdır.
Çözülen sorunlar
- Devam ederken fotoğraf çekerken (önceki bir duraklatma işleminin tamamlanmayı bekleyen fotoğraflar çekildikten sonra) yaşanan sorun düzeltildi.
- Bilinen Sorun:
CameraControl.enableTorch()
işlevseldir ancak flash birimi olmasa bile döndürülenListenableFuture<Void>
her zaman anındacomplete(success)
gelecektedir. Gelecek sürümlerde bu sorun düzeltilerek nihai davranışa ulaşılacak: Flash birimi olmadığındaenableTorch(true)
hemen başarısız olur (CaptureSession
'e istek göndermez) veTorchState
kapalı kalır. - Bilinen Sorun:
startFocusAndMetering
vecancelFocusAndMetering
, odak ölçümünü başlatıp iptal eder ancak dokümanlardaki davranışı temsil etmeyen bircompleted (success)
gelecek döndürür.ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()
kaynağından gelenFocusMeteringResult
,isFocusSuccessful()
olan ve her zaman "false" olan sahte bir sonuçtur. Bu sonuç, amaçlanan ve belgelenmiş davranıştan farklıdır. - Bilinen Sorun:
PreviewView
dokunma etkinlikleriyle birlikte kullanılacak bir ölçüm noktası fabrikası geliştiriliyor. Özel yönetilen yüzeyleri bağlayan uygulamalar şu anda mevcut ölçüm noktası fabrikalarını kullanabilir. Aksi takdirdePreviewView
için dokunma odak işlevi kullanılamaz.
Camera-Camera2 ve Camera-Core Sürümü 1.0.0-alpha06
9 Ekim 2019
androidx.camera:camera-camera2:1.0.0-alpha06
ve androidx.camera:camera-core:1.0.0-alpha06
yayınlandı. Bunlar camera-camera2:1.0.0-alpha06
'a dahil edilen commit'ler, bunlar da camera-core:1.0.0-alpha06
'a dahil edilen commit'lerdir.
Yeni özellikler
En boy oranlarını ayarlamayla ilgili değişiklikler:
setTargetAspectRatioMode()
eklendi ve bir enum bağımsız değişkeni kabul eder. Bu işlem, en boy oranı modunu rastgele bir en boy oranı yerineRATIO_4_3
veyaRATIO_16_9
seçenekleriyle ayarlar. Bu, kameradan rastgele bir oran yerine yalnızca belirli en boy oranlarının sağlandığını daha iyi yansıtır.- Şu anda yalnızca 16:9 ve 4:3 oranları kullanılabilir. 1:1 oranında fotoğraf çekme özelliği, yalnızca belirli cihazlarda ve sınırlı çözünürlüklerde kullanılabilir. 1:1 arayüz veya işleme tasarlayan uygulamalar, daha esnek 16:9 veya 4:3 seçeneklerini kullanmalı ve ekranı kırpmalı ya da bir alt bölgeyi işlemelidir.
- Bu en boy oranları, maksimum sensör alanını kullanacak şekilde yönlendirilir.
getTargetAspectRatio()
, kullanım alanı yapılandırma API'lerine eklendi ve kullanım alanı çıktısının hedeflediği en boy oranını döndürür.- ImageCapture için
setTargetAspectRatio(Rational aspectRatio)
yöntemisetTargetAspectRatioCustom(Rational aspectRatio)
olarak değiştirildi. Ayarlandığında ImageCapture çıkışı buna göre kırpılır.
Yürütücü API'leri
- Aşağıdaki işlevler, uygulamanın işlevin hangi yürütücüde çalışacağını kontrol etmesine olanak tanıyan bir yürütücü parametresi kabul eder.
Preview.setOnPreviewOutputUpdateListener()
API'sini kullanın. Bu işlev için yürütücü yoksa ana iş parçacığında yürütülür.Preview.setOnPreviewOutputUpdateListener
FocusMeteringAction.Builder.setAutoFocusCallback
ImageAnalysis.setAnalyzer
ImageCapture.takePicture
CameraView.takePicture
CameraView.startRecording
VideoCapture.startRecording
Flaş Kullanılabilirliği ve Sensör Dönüşüm API'leri ile CameraInfo eklendi
Uygulamaların, CameraInfo'ya bakan bir lensin ve bu kamerada flaşın olup olmadığını kontrol etmesine olanak tanıyan
CameraInfo
vegetCameraInfo
yöntemleri eklendi. Örnek:try { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }
CameraInfo.getSensorRotationDegrees()
eklendi. Kamera sensörünün cihazın doğal yönüne göre veya kolaylık sağlamak için yüzey dönüşümü (doğal yöne göre bir yönü tanımlar) tarafından açıklanan bir yöne göre yönünü sağlar.
API değişiklikleri ve hata düzeltmeleri
- En Boy Oranları: Uygulamalar, her kullanım alanı için yalnızca
setTargetResolution()
veyasetTargetAspectRatio()
'ten birini çağırmalıdır. Her ikisi de aynı oluşturucuda çağrılırsa hata döndürülür.- Genel olarak, uygulamanın kullanıcı arayüzü tasarımına göre
setTargetAspectRatio()
kullanılması önerilir. Belirli çözünürlükler, kullanım alanına göre belirlenir. Örneğin, önizleme ekran çözünürlüğüne yakınken resim yakalama özelliği yüksek çözünürlüklü fotoğraflar sağlar. Daha fazla bilgi için otomatik çözümler tablosuna bakın. - Minimum (hesaplama tasarrufu için) veya maksimum çözünürlük (ayrıntıları işlemek için) gerektiği gibi daha özel durumlarda
setTargetResolution()
değerini kullanın.
- Genel olarak, uygulamanın kullanıcı arayüzü tasarımına göre
- Executor API: Kullanım alanı yapılandırma API'lerinden
setCallbackHandler()
çağrısı kaldırıldı. Bunun yerine, uygulamalar bir 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'ten küçük) çözünürlüklerin seçilmesi ve bunun da piksel piksel veya bulanık bir önizleme resmiyle sonuçlanması sorunu düzeltildi. Özellikle daha düşük çözünürlüklere ihtiyaç duyan uygulamalar bu çözünürlükleri açıkça isteyebilir.
- Başka bir kamera uygulaması 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 aşağıdaki hatayı veren bir hata düzeltildi:
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
- ImageAnalysis devre dışı bırakıldığında ortaya çıkan aşağıdaki hata düzeltildi:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
- Kamera bağlantısını kesme akışı için ek testler eklendi.
- Arka arkaya kamera testleri çalıştırırken test sisteminin sağlamlığı iyileştirildi.
Camera-Camera2 ve Camera-Core Sürüm 1.0.0-alpha05
5 Eylül 2019
androidx.camera:camera-camera2:1.0.0-alpha05
ve androidx.camera:camera-core:1.0.0-alpha05
yayınlandı. Bunlar camera-camera2:1.0.0-alpha05 sürümüne dahil edilen taahhütler ve camera-core:1.0.0-alpha05 sürümüne dahil edilen taahhütlerdir.
API Değişikliği: Yeniden adlandırılan kullanım alanı hata değişkenleri:
ImageCapture.UseCaseError
,ImageCapture.ImageCaptureError
olarak yeniden adlandırıldıVideoCapture.UseCaseError
,VideoCapture.VideoCaptureError
olarak yeniden adlandırıldı
Odaklanma için dokunma API'leri ile
CameraControl
API eklendiLens yönüne göre seçilen bir kamera için CameraX'ten
CameraControl
almak üzere API eklendi:CameraX.getCameraControl(LensFacing lensFacing)
Dokunarak Odaklanma özelliğini çalıştırmak için
MeteringPointFactory
,MeteringPoint
,MeteringMode
veFocusMeteringAction
eklendi:MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height); MeteringPoint point = factory.createPoint(x, y); FocusMeteringAction action = FocusMeteringAction.Builder.from(point, MeteringMode.AF_ONLY) .addPoint(point2, MeteringMode.AE_ONLY) // could have many .setAutoFocusCallback(new OnAutoFocusListener(){ public void onFocusCompleted(boolean isSuccess) { } }) // auto calling cancelFocusAndMetering in 5 sec. .setAutoCancelDuration(5, TimeUnit.Second) .build();
Odak ölçümünü başlatmak ve iptal etmek için
CameraControl
API'si eklendi:getCameraControl(lensFacing).startFocusAndMetering(action);
getCameraControl(lensFacing).cancelFocusAndMetering();
Görüntüleme sınıflarına göre dokunma koordinatlarını sensör koordinatlarına dönüştürmeye yardımcı olan Ölçüm Noktası Fabrikaları için API'ler eklendi:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);
MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
Aşağıdaki yöntemlerin ana (kullanıcı arayüzü) iş parçacığında çağrılmasını zorunlu kılın ve çağrılmadığında
IllegalStateException
hatası oluşturun. Gelecekteki sürümlerde diğer mesaj dizilerinde kullanıma izin verilecek ve serileştirme sağlanacaktır.CameraX.bindToLifecycle()
CameraX.unbind()
CameraX.unbindAll()
ImageAnalysis.setAnalyzer()
ImageAnalysis.getAnalyzer()
ImageAnalysis.removeAnalyzer()
Preview.removePreviewOutputListener()
Preview.getOnPreviewOutputUpdateListener()
Preview.setOnPreviewOutputUpdateListener()
Çeşitli yapılandırma ayarları artık null parametreleri kabul ediyor ve ilgili alıcı işlevleri null döndürebilir.
AF/AE/AWB ayarlarını desteklemeyen emülatörlerde test yaparken yaşanan sorun düzeltildi.
Resim analiz edilirken döndürme sırasında kilitlenme hatası düzeltildi.
Döndürme işleminden sonra veya ön ile arka kameralar arasında geçiş yaptıktan sonra önizlemenin siyah göründüğü (kamera verisi yok) hata düzeltildi.
Birden fazla eşzamanlı görüntü analizi kullanım alanı için test kaldırıldı. Uyumluluğu sağlamak için uygulamalara yalnızca tek bir resim analizi kullanım alanı eklenmelidir.
Kamera testleri paketine sahte kamera için ilk robolectric testleri eklendi (devam eden geliştirme).
Kapsamı net olmadığı/yanıltıcı olduğu için Camera2Inititalizer testi kaldırıldı.
Camera-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ü bu taahhütleri içerir.
Yeni Özellikler
En Boy Oranı ve Çözünürlük seçiminde yapılan değişiklikler
CameraX'in amacı, kamera oturumunu başarıyla başlatmaktır. Bu, CameraX'in ilk hedefi olarak bir çekim oturumu başlatmak için cihazın kapasitesine göre çözünürlük/en boy oranı konusunda ödün vermesi anlamına gelir. Bu nedenle, tam isteklerin karşılanması mümkün olmayabilir. Bunun nedeni aşağıdakilerden biri olabilir:
- İstenen çözünürlüğü desteklemeyen cihazlar
- Doğru şekilde çalışması için belirli çözünürlüklerin kullanılması gereken KALEDİ cihazlarda olduğu gibi uyumluluk sorunları
- Bazı cihazlarda belirli biçimler yalnızca belirli en boy oranlarında kullanılabilir.
- JPEG veya video kodlaması için "en yakın mod16" tercihi.
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
adresine göz atın.
CameraX oturumu oluşturup yönetse de kodunuzdaki kullanım alanı çıkışında döndürülen resim boyutlarını her zaman kontrol etmeniz ve buna göre ayarlama yapmanız gerekir.
API'yi daha net hale getirmek amacıyla çözünürlük ve en boy oranını ayarlamayla ilgili bazı değişiklikler yapıldı:
- Hiçbir şey ayarlanmadığında önizleme kullanım alanının varsayılan en boy oranının 4:3 olduğu kabul edilir.
- CameraX, istenen çözünürlük ve en boy oranlarında cihazın kapasitesine göre yapılan değişiklikleri dahili olarak değerlendirirken önce aynı en boy oranını (
setTargetAspectRatio
veyasetTargetResolution
çağrılarından herhangi biri tarafından belirlenir) korumaya çalışır. - Çözünürlüğün "En yakın mod16" sürümü aynı en boy oranı olarak kabul edilir.
ImageAnalysis Engellemesiz Modu
ImageReaderMode.ACQUIRE_LATEST_IMAGE
artık engelleme yapmıyor. Sırayla en son görüntüyü alır ancak kamera ardışık düzeninin tıkanmasını önlemek için kullanılmayan görüntüleri sürekli olarak atar.- Analizör, ardışık düzeni duraklatmadan tek bir resmi süresiz olarak tutabilir.
- Uygulama, daha sonra engelleyen bir yürütücü sağlarsa ImageAnalysis kullanım örneği engellenir.
- Varsayılan yürütücü grubu, dahili olarak engellemeyen bir yürütücü gibi davranır.
Hata Düzeltmeleri
- Otomatik odaklama, otomatik pozlama ve otomatik beyaz dengeleme olmayan cihazlarda görüntü çekerken 3A yakınsamasını beklerken zaman aşımı sorunları düzeltildi
- ImageCapture ile hızlıca fotoğraf çekerken yaşanan sorun düzeltildi.
java.lang.IllegalStateException: maxImages (2) has already been acquired
hatasını düzeltir. - Bir kullanım alanı için
setLensFacing
çağrılmadığındajava.lang.IllegalArgumentException: Unable to get camera ID for use case
sonucuna yol açan sorun düzeltildi. - KLASİK cihazın maksimum JPEG çözünürlüğü olarak belirli bir en-boy oranını gerektirdiği sorun düzeltildi
- Kamera açılırken uygulamayı arka plana aldığınızda oluşan sorun düzeltildi
checkAndUpdateEglState: invalid current EGLDisplay
hatası kaldırılarak API'de 25'ten eski sürümlerde yaşanan sorun düzeltildi- Uzantılar etkinleştirilip çalıştırıldıktan sonra önizlemenin bağlamı kaldırılırken yaşanan sorun düzeltildi
- camera-view ve camera-extensions için yapı yapıları artık alfa sürümleri olarak yayınlanıyor
Camera-Camera2 ve Camera-Core Sürüm 1.0.0-alpha03
2 Temmuz 2019
androidx.camera:camera-core:1.0.0-alpha03
ve androidx.camera:camera-camera2:1.0.0-alpha03
yayınlandı. 1.0.0-alpha03 sürümü bu taahhütleri 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/kapatma veya bağlama/bağlantı kaldırma sırasında yapılandırılmamış Giriş/Çıkış Yüzeyi kilitlenmesi düzeltildi
- Yeni Futures uygulamalarına geçiş
- Daha güçlü testler için düzeltmeleri test etme
- Temel entegrasyon testi artık fotoğrafların çekim zamanını gösteriyor
- Yürütücüler için dahili uyumluluk sınıfı geliştirildi
- Zamanlama testi uygulaması, önceki işlemin tamamlanmasını bekleyerek görüntü yakalar ve kararlılığı iyileştirir
Uzantılar
- Sürüm denetimleri eklendi
- Ek test kapsamı: uzantı etkinliği geri aramaları
- Dahili olarak eşleşen resim ve meta verilerle ilgili iyileştirmeler
- Test uygulamasında mod geçişiyle ilgili düzeltmeler
Camera-Camera2 ve Camera-Core Sürüm 1.0.0-alpha02
5 Haziran 2019
androidx.camera:camera-core:1.0.0-alpha02
ve androidx.camera:camera-camera2:1.0.0-alpha02
yayınlandı. 1.0.0-alpha02 sürümü bu taahhütleri içerir.
Hata düzeltmeleri
- Emülatör kullanırken sıfıra bölme sorunu düzeltildi
- Kullanım alanlarının bağlamasını hızlıca kaldırıp yeniden bağlarken bazı cihazlarda hızlıca fotoğraf çekilirken oluşan NullPointerException/Surface Abandoned hatası düzeltildi.
- Kayıt isteği güncellemelerinin tüm yüzeyleri tutarlı şekilde etkilemesi için dahili sorun düzeltildi
- Yeni uygulama örneklerinde kullanım alanlarını yeniden başlatırken istikrar 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 araçla test eklendi
- Uygulama Proguard yapılandırmasında "-keepattributes Signature" ihtiyacını ortadan kaldırma
Camera-Camera2 ve Camera-Core 1.0.0-alpha01
7 Mayıs 2019
androidx.camera:camera-core:1.0.0-alpha01
ve androidx.camera:camera-camera2:1.0.0-alpha01
yayınlandı. 1.0.0-alpha01 sürümü bu taahhütleri içerir.
Camera-Lifecycle Sürümü 1.0.0-beta11
14 Ekim 2020
androidx.camera:camera-lifecycle:1.0.0-beta11
yayınlanır. 1.0.0-beta11 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Builder veya UseCase'ta bir targetRotation ayarlanmadığı sürece, bir Camera örneğine eklenmeden önce çağrılırsa
<UseCase>.getTargetRotation()
,Surface.ROTATION_0
döndürür. (I80fcd)
Camera-Lifecycle Sürüm 1.0.0-beta10
23 Eylül 2020
androidx.camera:camera-lifecycle:1.0.0-beta10
yayınlanır. 1.0.0-beta10 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u desteklemek için yayınlanan sürüm
Camera-Lifecycle Sürümü 1.0.0-beta09
16 Eylül 2020
androidx.camera:camera-lifecycle:1.0.0-beta09
yayınlanır. 1.0.0-beta09 sürümü bu taahhütleri içerir.
Camera-Lifecycle Sürüm 1.0.0-beta08
19 Ağustos 2020
androidx.camera:camera-lifecycle:1.0.0-beta08
yayınlanır. 1.0.0-beta08 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
Context.getApplicationContext()
kaynağından bir Application nesnesi döndürmeyen bir Context kullanıldığında artık başlatma kilitlenmeyecek. (I3d3c9, b/160817073)
Kamera-Yaşam Döngüsü Sürümü 1.0.0-beta07
22 Temmuz 2020
androidx.camera:camera-lifecycle:1.0.0-beta07
yayınlanır. 1.0.0-beta07 sürümü bu taahhütleri içerir.
Camera-Lifecycle Sürüm 1.0.0-beta06
24 Haziran 2020
androidx.camera:camera-lifecycle:1.0.0-beta06
yayınlanır. 1.0.0-beta06 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Artık CameraX, ProcessCameraProvider#getInstance() çağrılmadan önce ProcessCameraProvider#configureInstance() ile yapılandırılabilir. Bu sayede, uygulamanın Application sınıfında CameraXConfig.Provider'ın uygulanması gerekmeden CameraXConfig özelleştirilebilir. (Ia1a8d)
Camera-Lifecycle Sürüm 1.0.0-beta05
10 Haziran 2020
androidx.camera:camera-lifecycle:1.0.0-beta05
yayınlanır. 1.0.0-beta05 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Telefon Rahatsız Etmeyin modundayken CameraX ilk başlatılırken uygulama başlatılırken kilitlenme sorunu düzeltildi.
InitializationException
içeren birCameraUnavailableException
, uygulamayı kilitlemek yerine başlatma sonucununListenableFuture
değerine ayarlanır. (I9909a, b/149413835)
Camera-Lifecycle Version 1.0.0-beta04
27 Mayıs 2020
androidx.camera:camera-lifecycle:1.0.0-beta04
yayınlanır. 1.0.0-beta04 sürümü bu taahhütleri içerir.
Camera-Lifecycle Version 1.0.0-beta03
15 Nisan 2020
androidx.camera:camera-lifecycle:1.0.0-beta03
yayınlanır. 1.0.0-beta03 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Beta03'ten itibaren
bindToLifecycle()
işlevinin sıfırUseCase
ile çağrılmasının istisna atılmasına neden olduğu gerileme düzeltildi. Bu durum,UseCase
bağlamadanCamera
alınmasını engelledi. camera-core
sürümünün yayınlanmasını destekleyen düzeltmeler
Camera-Lifecycle 1.0.0-beta01 sürümü
26 Şubat 2020
androidx.camera:camera-lifecycle:1.0.0-beta01
yayınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Başlatma sırasında
ProcessCameraProvider
elde edilirken varsayılan bir yapılandırma kullanıldığını veApplication
'un genişletilmesinin isteğe bağlı olduğunu belirtmek için dokümanlar düzeltildi. (I5e395)
Kamera-Yaşam Döngüsü Sürümü 1.0.0-beta02
1 Nisan 2020
androidx.camera:camera-lifecycle:1.0.0-beta02
yayınlanır. 1.0.0-beta02 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
camera-camera2:1.0.0-beta02
vecamera-core:1.0.0-beta02
yapılarındaki hata düzeltmelerini destekleyecek şekilde güncellendi.
Camera-Lifecycle 1.0.0-alpha10 sürümü
10 Şubat 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10
yayınlanır. 1.0.0-alpha10 sürümü bu 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ınlanır. 1.0.0-alpha03 sürümü bu taahhütleri içerir.
Güncellemeler
- Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler.
Camera-Lifecycle Sürüm 1.0.0-alpha02
18 Aralık 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02
yayınlanır. 1.0.0-alpha02 sürümü bu taahhütleri içerir.
Bağımlılık değişiklikleri
androidx.camera:camera-core:1.0.0-alpha08
özelliğini kullanmak için güncellendi.
Camera-Lifecycle Sürümü 1.0.0-alpha01
4 Aralık 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01
yayınlanır. camera-lifecycle'ın 1.0.0-alpha01 sürümü bu taahhütleri içerir
API notları
LifeCycleCameraProvider
arayüzünü sağlayan camera-lifecycle yapıları ve önceki CameraX sınıfının temelindeki işlevlerin çoğunu sağlayan vegetInstance()
yöntemi aracılığıyla elde edilenProcessCameraProvider
adlı bir uygulama eklenir.- Uygulamaların, CameraX'i kullanabilmek için camera-lifecycle kitaplığını içermesi gerekir.
ProcessCameraProvider
kullanarak CameraX'i nasıl başlatacağınız hakkında bilgi edinmek için camera-core bölümündeki notlara bakın.
Camera-Extensions ve Camera-View 1.0.0 sürümü
Sürüm 1.0.0-alpha32
15 Aralık 2021
androidx.camera:camera-extensions:1.0.0-alpha32
ve androidx.camera:camera-view:1.0.0-alpha32
yayınlandı. 1.0.0-alpha32 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Dahili sınıflardan/arayüzlerden gereksiz
@RequiresApi(21)
ek açıklamaları kaldırıldı. (I8e286, b/204917951) - camera-extensions yapısını içeren API dosyalarını güncelleyin. (If683a, b/161377155)
Hata Düzeltmeleri
- Uygulamanın,
VideoCapture
'ü bağlarken uzantı modlarını etkinleştirmesine izin vermeyin. CameraX uzantıları yalnızcaImageCapture
vePreview
'i destekler.VideoCapture
henüz desteklenemiyor. UygulamaVideoCapture
'e bağlanırsa ve herhangi bir uzantı modunu etkinleştirirse birIllegalArgumentException
atılır. (I0d87b) CameraSelector#filter
artık sonuç kümesi boş olduğundaIllegalArgumentException
hatası atmıyor. (I27804)ExtensionsManager#getInstance
API'si,ListenableFuture
döndürdüğü içingetInstanceAsync
olarak yeniden adlandırıldı. İşlev adının sonundaki Async eki, işlevin asynkron olduğunu açıkça belirtebilir. (I279d2)- Kullanıcılar
ImageCapture
kullanım alanı için hangi boyutların desteklendiğini bilemez ve döndürülen gecikmeli bilginin maksimum yakalama çıkış boyutu için mi yoksa giriş çözünürlüğü parametresi için mi olduğunu ayırt edemez. Bu nedenle, çözünürlük parametresiExtensionsManager#getEstimatedCaptureLatencyRange
API'den kaldırıldı. (I74bb2) ExtensionsManager
işlevlerininCameraProvider
parametresinigetInstance()
API'ye taşıyın. Böylece kullanıcılarınExtensionsManager
işlevlerini çağırırken her seferindeCameraProvider
parametresini girmesi gerekmez. (Ic7e48)
Sürüm 1.0.0-alpha31
17 Kasım 2021
androidx.camera:camera-extensions:1.0.0-alpha31
ve androidx.camera:camera-view:1.0.0-alpha31
yayınlandı. 1.0.0-alpha31 sürümü bu taahhütleri içerir.
API Değişiklikleri
- CameraSelector#filter, CameraSelector'a göre CameraInfos listesini filtrelemek için herkese açık API'ye eklendi. (I105d0)
Hata Düzeltmeleri
- Belirli cihazlarda uzantı modunu hızlıca değiştirirken yaşanan kilitlenme düzeltildi. (Iebbef)
Sürüm 1.0.0-alpha30
13 Ekim 2021
androidx.camera:camera-extensions:1.0.0-alpha30
ve androidx.camera:camera-view:1.0.0-alpha30
yayınlandı. 1.0.0-alpha30 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Tüm CameraX sınıflarına @RequiresApi(21) ek açıklama eklendi ve minSdkVersion, AndroidManifest.xml dosyasından kaldırıldı. Bu sayede, camera-core, minSdkVersion değeri 21'den az olan ancak API 21 ve sonraki sürümleri kullanan kod yollarını koşullu olarak kullanmak isteyen uygulamalara kolayca entegre edilebilir. minSdkVersion 21 veya sonraki sürümleri hedefleyen uygulamalar için bu değişiklikle ilgili herhangi bir işlem yapılması gerekmez. (Ie7f2e, b/200599470)
Hata Düzeltmeleri
- Proguard etkinleştirildiğinde ortaya çıkan AbstractMethodError sorunu düzeltildi. (Iae468, b/201177844)
Sürüm 1.0.0-alpha29
29 Eylül 2021
androidx.camera:camera-extensions:1.0.0-alpha29
ve androidx.camera:camera-view:1.0.0-alpha29
yayınlandı. 1.0.0-alpha29 sürümü bu taahhütleri içerir.
API Değişiklikleri
- API'ler artık deneysel olmadığından ExperimentalUseCaseGroup ek açıklaması kaldırıldı. (I01ef5)
RotationProvider#removeAllListeners()
öğesini kaldırın. Lütfen bunun yerineRotationProvider#removeListener(...)
kullanın. (Id9d4a)- RotationReceiver sınıfı güncellendi: Listener'ı ekle/kaldır/hepsini kaldır olarak ayarlama/temizlemeyi değiştirin, varsayılan olarak ana iş parçacısını kullanan setListener varyantını kaldırın ve yöntemlerin ek açıklamalarını ekleyin. (Ib1669)
Hata Düzeltmeleri
- ExtensionMode#BEAUTY, eklenti modu tarafından yapılanları doğru şekilde sunmak için 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 taahhütleri içerir.
API Değişiklikleri
- API'ler artık deneysel olmadığı için ExperimentalUseCaseGroupLifecycle ek açıklama kaldırıldı. (I17b85)
- RotationListener yeniden yapılandırıldı ve RotationProvider olarak yeniden adlandırıldı. Bu API, biraz farklı bir API ile aynı özelliği sunmaya devam eder. (Idffc5)
- TAP_TO_FOCUS_UNSUCCESSFUL öğesini TAP_TO_FOCUS_NOT_FOCUSED ve TAP_TO_FOCUS_SUCCESSFUL öğesini TAP_TO_FOCUS_FOCUSED olarak yeniden adlandırın. OutputSize'i nihai hale getirdi (I099fa)
Hata Düzeltmeleri
- Desteği sonlandırılan
<EffectName><UseCase>Extender
sınıfları, ExtensionsErrorListener ve ilgili ExtensionsManager API'leri kaldırıldı. (I3b8c3)
Sürüm 1.0.0-alpha27
21 Temmuz 2021
androidx.camera:camera-extensions:1.0.0-alpha27
ve androidx.camera:camera-view:1.0.0-alpha27
yayınlandı. 1.0.0-alpha27 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Görünüm alanı API'si, deneysel sürümden kaldırıldı. API'nin deneysel ek açıklamasını kaldırın. (I717ea)
CoordinateTransform#getTransform
,CoordinateTransform#transform
olarak yeniden adlandırıldı ve JavaDoc güncellendi (I864ae)
Hata Düzeltmeleri
- Oluşturma kullanıcı arayüzüyle birlikte kullanıldığında
PreviewView PERFORMANCE
modunun uzamasıyla ilgili sorun düzeltildi. (Ie1137, b/183864890)
Sürüm 1.0.0-alpha26
30 Haziran 2021
androidx.camera:camera-extensions:1.0.0-alpha26
ve androidx.camera:camera-view:1.0.0-alpha26
yayınlandı. 1.0.0-alpha26 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Dokunarak odaklama sonucunu gösteren yeni bir yöntem
CameraController#getTapToFocusState()
ekleyin. (Iaccb0) - CameraController'a kamerayla ilgili daha fazla özellik ekleme: hedef en boy oranı, hedef çözünürlük, yakalama modu, CameraControl ve özel yürütücüler için alıcı/değiştirici. (Iea8f2)
- Surface rotasyon değişikliklerini alan bir RotationReceiver sınıfı ekleyin. Bu, cihaz sabit dikey/yatay moddayken hedef döndürmeyi ayarlamak için kullanılabilir. (Ib278f)
- ExtensionsManager sınıfında yeni getEstimatedCaptureLatencyRange herkese açık API'leri kullanıma sunuldu. (I6a8ec)
- Desteği sonlandırılan ExtensionsErrorListener. Şu anda bu arayüz yalnızca uzantı modları etkinleştirilirken bir Önizleme veya ImageCapture'nin eksik olup olmadığını izlemek için kullanılmaktadır. CameraX, uzantı işlevlerinin düzgün çalışmasını sağlamak için otomatik olarak ek bir önizleme veya resim yakalama işlemi ekler. Bu tarihten sonra bu arayüz üzerinden hata bildirilmez. (I47d9e)
- Yeni ExtensionsManager getInstance, isExtensionAvailable ve getExtensionEnabledCameraSelector herkese açık API'lerini kullanıma sundu ve eski
<EffectName><UseCase>Extender
sınıflarını ve ilgili API'leri kullanımdan kaldırdı. (I329e6)
Sürüm 1.0.0-alpha25
2 Haziran 2021
androidx.camera:camera-extensions:1.0.0-alpha25
ve androidx.camera:camera-view:1.0.0-alpha25
yayınlandı. 1.0.0-alpha25 sürümü bu taahhütleri içerir.
API Değişiklikleri
- ExperimentalCameraFilter API'leri artık deneysel aşamayı tamamladı ve resmi API'ler oldu. Bunlar, ek açıklamalı tercih yapma olmadan kullanılabilir. (I4bc94)
- Koordinatları kullanım alanları arasında dönüştüren bir yardımcı program ekleyin. Örnek kullanım: ImageAnalysis kullanım alanında algılanan koordinatları dönüştürme ve algılanan nesneyi önizlemede vurgulama. (I63ab1, b/137515129)
CameraView
kaldırıldı.CameraView
,CameraController
ile değiştirildi. Taşıma işlemi hakkında bilgi edinmek için lütfen taşıma kılavuzuna bakın. (Id5005)
Hata Düzeltmeleri
ExperimentalUseCaseGroupLifecycle
,ExperimentalUseCaseGroup
ile değiştirildi. (I3b2ef, b/159033688)
Sürüm 1.0.0-alpha24
21 Nisan 2021
androidx.camera:camera-extensions:1.0.0-alpha24
ve androidx.camera:camera-view:1.0.0-alpha24
yayınlandı. 1.0.0-alpha24 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Deneysel API'lerde
@Experimental
ek açıklamaları@RequiresOptIn
ile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılanandroidx.annotation.experimental.UseExperimental
yerineandroidx.annotation.OptIn
kullanın. (Iff226) - Samsung J5 Prime'da (Ib10b6) Önizleme Görünümü'nün uzaması sorunu düzeltildi
Kamera Uzantıları ve Görüntüleme Sürümü 1.0.0-alpha23
24 Mart 2021
androidx.camera:camera-extensions:1.0.0-alpha23
ve androidx.camera:camera-view:1.0.0-alpha23
yayınlandı. 1.0.0-alpha23 sürümü bu taahhütleri içerir.
API Değişiklikleri
- CameraView desteği sonlandırılıyor. Lütfen bunun yerine
LifecycleCameraController
kullanın. Taşıma kılavuzuna (Idac2c) bakın. - setLinearZoom() işlevine FloatRange ek açıklama eklendi (I69971)
Hata Düzeltmeleri
- Kamera görünümü bağımlılıkları 1.0.0 yapılarına bağlı olacak şekilde sabitlendi. camera-view'e bağlı olmak artık gradle'in bağımlılık çözümlemesinin camera-core, camera-camera2 ve camera-lifecycle'u en son 1.1.0 yapılarına otomatik olarak yükseltmesine neden olmayacak. Ancak camera-view, 1.1.0 sürümü kullanılacak şekilde açıkça ayarlanmışsa bu yapılarla uyumlu olmaya devam edecektir. (Ic8fa1, b/181599852)
- Samsung A3'te önizleme görünümündeki gerilmiş önizleme düzeltildi. (Iacb30, b/180121821)
- Kamera, başlatılmadan önce kamera seçicinin ayarlanamaması sorunu düzeltildi. (Ic8bd0)
Kamera Uzantıları ve Görüntü Sürümü 1.0.0-alpha22
24 Şubat 2021
androidx.camera:camera-extensions:1.0.0-alpha22
ve androidx.camera:camera-view:1.0.0-alpha22
yayınlandı. 1.0.0-alpha22 sürümü bu taahhütleri içerir.
API Değişiklikleri
- CameraController'a CameraInfo alıcı ekleyin. (Ib8138, b/178251727)
Hata Düzeltmeleri
- Yalnızca Önizleme veya ImageCapture bağlıyken hataları bildirmesi için ExtensionsErrorListener düzeltildi. (I5ae39)
Kamera Uzantıları ve Görünümü 1.0.0-alpha21 sürümü
27 Ocak 2021
androidx.camera:camera-extensions:1.0.0-alpha21
ve androidx.camera:camera-view:1.0.0-alpha21
yayınlandı. 1.0.0-alpha21 sürümü bu taahhütleri içerir.
Diğer kamera kitaplığı yapılarını desteklemek için yayınlandı.
Kamera Uzantıları ve Görüntüleme Sürümü 1.0.0-alpha20
16 Aralık 2020
androidx.camera:camera-extensions:1.0.0-alpha20
ve androidx.camera:camera-view:1.0.0-alpha20
yayınlandı. 1.0.0-alpha20 sürümü bu taahhütleri içerir.
Diğer kamera kitaplığı yapılarını desteklemek için yayınlandı.
Camera-Extensions ve Camera-View 1.0.0-alpha19 sürümü
11 Kasım 2020
androidx.camera:camera-extensions:1.0.0-alpha19
ve androidx.camera:camera-view:1.0.0-alpha19
yayınlandı. 1.0.0-alpha19 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
@ExperimentalVideo
ek açıklaması kamera görünümüne eklendi. Bu ek açıklama, deneysel video işlevini gösteren 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
olarakExperimentalVideo
ile@UseExperimental
ek açıklamasını kullanmalıdır. (I6d729)
Camera-Extensions Sürüm 1.0.0-alpha18
14 Ekim 2020
androidx.camera:camera-extensions:1.0.0-alpha18
yayınlanır. 1.0.0-alpha18 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- CameraX'in başlatılması ve bindToLifecycle'in gecikmesi iyileştirildi (I61dc5)
- Builder veya UseCase'ta bir targetRotation ayarlanmadığı sürece, bir Camera örneğine eklenmeden önce çağrılırsa
<UseCase>.getTargetRotation()
,Surface.ROTATION_0
değerini döndürür. (I80fcd)
Kamera Görünümü Sürümü 1.0.0-alpha18
14 Ekim 2020
androidx.camera:camera-view:1.0.0-alpha18
yayınlanır. 1.0.0-alpha18 sürümü bu taahhütleri içerir.
Diğer kamera kitaplığı yapılarını desteklemek için yayınlandı.
Camera-Extensions Sürüm 1.0.0-alpha17
23 Eylül 2020
androidx.camera:camera-extensions:1.0.0-alpha17
yayınlanır. 1.0.0-alpha17 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u desteklemek için yayınlanan sürüm
Kamera Görünümü Sürümü 1.0.0-alpha17
23 Eylül 2020
androidx.camera:camera-view:1.0.0-alpha17
yayınlanır. 1.0.0-alpha17 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u desteklemek için yayınlanan sürüm
Camera-Extensions Sürüm 1.0.0-alpha16
16 Eylül 2020
androidx.camera:camera-extensions:1.0.0-alpha16
yayınlanır. 1.0.0-alpha16 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Kamera örneklerinde uzantıları etkinleştirmek ve sorgulamak için kullanılan bir
Extensions
nesnesi almak üzereExtensionsManager
yöntemine eklendi (I4fb7e)
Kamera Görünümü Sürümü 1.0.0-alpha16
16 Eylül 2020
androidx.camera:camera-view:1.0.0-alpha16
yayınlanır. 1.0.0-alpha16 sürümü bu taahhütleri içerir.
API Değişiklikleri
PreviewView#setDeviceRotationForRemoteDisplayMode()
vePreviewView#getDeviceRotationForRemoteDisplayMode()
kaldırıldı. Bu iki yöntem, istenen rotasyon ekran rotasyonu olmadığında (ör. uzaktan ekran) önizleme rotasyonunu özelleştirmek için kullanılır. Görüntüleme dışı önizleme rotasyonunu şimdi yönetmek içinPreview#setTargetRotation()
ve yeni eklenenPreviewView#getViewPort(targetRotation)
ile istediğiniz rotasyonu ayarlayın. (Ib62cc)createSurfaceProvider()
,getSurfaceProvider()
olarak yeniden adlandırıldı. Yöntem her zaman aynı Preview.SurfaceProvider örneğini döndürür. (Iff83c)
Hata Düzeltmeleri
- Uzantı efekti etkinse ve tedarikçi kitaplığı uygulamasının çıkış yüzeyinde özel bir işlem yapması gerekiyorsa PreviewView'ın TextureView kullanması zorunlu kılınır. (I0c3cc)
- Önizleme için rastgele hedef rotasyonuna izin verin. Dönüşüm bilgileri, yeni bir
TranformationInfoListener
geri çağırma işlevi aracılığıyla anında hesaplanır ve kullanıcıya döndürülür. (I21470)
Bilinen Sorunlar
- PreviewView'da, son kullanıcı PreviewView'ı tıkladığında
OnClickListener#onClick()
çağrılmaz. Dokunma etkinliği yanlışlıkla PreviewView#onTouchEvent() tarafından tüketiliyor. Sorun sonraki sürümde düzeltilecektir. - ViewPort, PreviewView ile birlikte kullanılırsa
PreviewView#getMeteringPointFactory()
adresinden alınan MeteringPoint yanlış olabilir.
Camera-Extensions Sürüm 1.0.0-alpha15
19 Ağustos 2020
androidx.camera:camera-extensions:1.0.0-alpha15
yayınlanır. 1.0.0-alpha15 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
ExtensionsManager.init()
yöntemi artık 0 bağımsız değişken yerine parametre olarak bir Context alıyor. (Ife754)Context.getApplicationContext()
kaynağından bir Application nesnesi döndürmeyen bir Context kullanıldığında artık başlatma kilitlenmeyecek. (I3d3c9, b/160817073)Kamera Görünümü Sürümü 1.0.0-alpha15
19 Ağustos 2020
androidx.camera:camera-view:1.0.0-alpha15
yayınlanır. 1.0.0-alpha15 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
DisplayOrientedMeteringPointFactory
,CameraSelector
yerineCameraInfo
örneği alır. Böylece fabrikanın puan oluşturacağı kameraya doğrudan bir eşleme yapılır.DisplayOrientedMeteringPointFactory
kullanan tüm sınıflar,CameraSelector
yerine birCameraInfo
örneği de alır. (I400c1)TextureViewMeteringPointFactory
kaldırıldı.PreviewView
,TextureView
veyaSurfaceView
kullanılıp kullanılmadığından bağımsız olarak bir ölçüm noktası fabrikası oluşturmak için herkese açık bir API (createMeteringPointFactory()
) sağlar. (Ide693)- PreviewView'ın
SURFACE_VIEW
/TEXTURE_VIEW
uygulama modlarınıPERFORMANCE
/COMPATIBLE
olarak yeniden adlandırın.PERFORMANCE
eskiSURFACE_VIEW
modu,COMPATIBLE
ise eskiTEXTURE_VIEW
modudur. (I0edc2) - Resim yakalama için kamera yönüne göre meta verilerdeki yatay çevirme işaretinin üzerine yazın. (I28499)
Camera-Extensions Sürüm 1.0.0-alpha14
22 Temmuz 2020
androidx.camera:camera-extensions:1.0.0-alpha14
yayınlanır. 1.0.0-alpha14 sürümü bu taahhütleri içerir.
Camera-View Sürümü 1.0.0-alpha14
22 Temmuz 2020
androidx.camera:camera-view:1.0.0-alpha14
yayınlanır. 1.0.0-alpha14 sürümü bu taahhütleri içerir.
Camera-Extensions Sürüm 1.0.0-alpha13
24 Haziran 2020
androidx.camera:camera-extensions:1.0.0-alpha13
yayınlanır. 1.0.0-alpha13 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Kameraları kamera kimliğine ve CameraCharacteristics özelliğine göre filtrelemek için deneysel arayüzler eklendi. (I28f61)
Kamera Görünümü Sürümü 1.0.0-alpha13
24 Haziran 2020
androidx.camera:camera-view:1.0.0-alpha13
yayınlanır. 1.0.0-alpha13 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- CameraView, yaşam döngüsü bağlandıktan kısa bir süre sonra DESTROYED durumuna geçen bir LifecycleOwner'a bağlanırken artık IllegalArgumentException hatasıyla kilitlenmiyor. DESTROYED durumundaki yaşam döngüleri bağlama işlemi, kamerayı açmaya çalışmaz. (I7c2b8)
- PreviewView StreamState artık CameraView.getPreviewStreamState() aracılığıyla kullanılabilir (I21a2b)
Camera-Extensions Sürüm 1.0.0-alpha12
10 Haziran 2020
androidx.camera:camera-extensions:1.0.0-alpha12
yayınlanır. 1.0.0-alpha12 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Telefon Rahatsız Etmeyin modundayken CameraX ilk başlatılırken uygulama başlatılırken kilitlenme sorunu düzeltildi.
InitializationException
,CameraUnavailableException
içeriyorsa uygulamayı kilitlemek yerine başlatma sonucununListenableFuture
değerine ayarlanır. (I9909a, b/149413835)
Kamera Görünümü 1.0.0-alpha12 sürümü
10 Haziran 2020
androidx.camera:camera-view:1.0.0-alpha12
yayınlanır. 1.0.0-alpha12 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Önizleme yüzeyinde görüntülenen içeriğin Bitmap temsilini döndüren
PreviewView#getBitmap()
API'yi ekleyin. (I9b500, b/157659818)
Camera-Extensions 1.0.0-alpha11 sürümü
27 Mayıs 2020
androidx.camera:camera-extensions:1.0.0-alpha11
yayınlanır. 1.0.0-alpha11 sürümü bu taahhütleri içerir.
Kamera Görünümü 1.0.0-alpha12 sürümü
10 Haziran 2020
androidx.camera:camera-view:1.0.0-alpha12
yayınlanır. 1.0.0-alpha12 sürümü bu taahhütleri içerir.
Yeni Özellikler
API Değişiklikleri
Hata Düzeltmeleri
- Önizleme yüzeyinde görüntülenen içeriğin Bitmap temsilini döndüren
PreviewView#getBitmap()
API'yi ekleyin. (I9b500, b/157659818)
Kamera Görünümü 1.0.0-alpha11 sürümü
27 Mayıs 2020
androidx.camera:camera-view:1.0.0-alpha11
yayınlanır. 1.0.0-alpha11 sürümü bu taahhütleri içerir.
API Değişiklikleri
- Uygulamaların, önizlemenin akışta olup olmadığını gözlemlemesine olanak tanıyan
PreviewView#getPreviewStreamState
API'yi ekleyin. Önizleme Görünümü TEXTURE_VIEW modundayken STREAMING durumu, önizleme resminin görünür olmasını da sağlar. (Ic0906, b/154652477) - Uygulama uzak ekran modunda çalışıyorsa dönüştürme hesaplamaları için cihaz rotasyonu sağlamak üzere
PreviewView#setDeviceRotationForRemoteDisplayMode()
API eklendi. (I59b95, b/153514525)
Hata Düzeltmeleri
- Android 7.0 ve önceki sürümleri çalıştıran
FULL/LIMITED/LEVEL_3
kameralarda önizleme bozulma sorunu düzeltildi. Android sürümü 7.0 veya daha eski olduğundaImplementationMode#TEXTURE_VIEW
modunu zorunlu kullanım. (I83e30, b/155085307) CameraInfo
parametresiPreviewView#createSurfaceProvider()
'ten kaldırıldı.PreviewView
artık bu parametreyi dahili olarakSurfaceRequest
'ten alıyor. (If18f0, b/154652477)- VideoCapture'ın varsayılan en boy oranı, CameraView'da 16:9 olarak düzeltildi. (Ie6a7b, b/153237864)
Preview
fragmanı kaydırıldığında ve ardından ViewPager2'de geri kaydırıldığındaPreviewView
siyah ekran sorunlarını düzeltin. Ayrıca,removeView(previewview)
ve ardındanaddView(previewView)
olduğunda ortaya çıkan sorun da düzeltildi. (Iab555, b/149877652, b/147354615)- Resimlerin
Uri
veOutputStream
'ye kaydedilmesine izin vermek içinCameraView#takePicture()
API'yi güncelleyin. Test uygulamasını, standart örnek olarakUri
kullanacak şekilde güncelleyin. (Ia2459, b/153607583) ScaleType
özelliğini ayarlayarak PreviewView'ın ölçek türünü bir XML düzeninden ayarlayabilirsiniz. (I08565, b/153015659)CameraView.ScaleType
kaldırıldı. Bunun yerine, CameraView ile ölçek türünü ayarlamak/almak içinPreviewView.ScaleType
kullanın. (Ia8974, b/153014831)PreviewView
'ye varsayılan olarak arka plan rengi verin (varsa). Bu sayede, önizleme akışı başlamadan önce arkasındaki içeriğin görünmesi engellenir. (I09fad)
Camera-Extensions 1.0.0-alpha10 sürümü
15 Nisan 2020
androidx.camera:camera-extensions:1.0.0-alpha10
yayınlanır. 1.0.0-alpha10 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Camera-Core'un yayınlanmasını destekleyen düzeltmeler
Camera-View 1.0.0-alpha10 sürümü
15 Nisan 2020
androidx.camera:camera-view:1.0.0-alpha010
yayınlanır. 1.0.0-alpha010 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
PreviewView
'ın surfaceView uygulamasının belirli cihazlarda düzgün çalışmadığı ve önizleme devam ettirildikten sonra uygulamanın kilitlenmesine neden olduğu bilinen bir sorun düzeltildi. (I5ed6b)
Camera-Extensions Sürüm 1.0.0-alpha09
1 Nisan 2020
androidx.camera:camera-extensions:1.0.0-alpha09
yayınlanır. 1.0.0-alpha09 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
camera-camera2:1.0.0-beta02
,camera-core:1.0.0-beta02
vecamera-lifecycle:1.0.0-beta02
yapılarındaki hata düzeltmelerini destekleyecek şekilde güncellendi
Camera-View Sürümü 1.0.0-alpha09
1 Nisan 2020
androidx.camera:camera-view:1.0.0-alpha09
yayınlandı. 1.0.0-alpha09 sürümü bu taahhütleri içerir.
Bilinen Sorunlar
ImplementationMode.SURFACE_VIEW
'üPreviewView
ile kullanmak belirli cihazlarda iyi çalışmayabilir. Bunun nedeni, önizleme için kullanılanSurfaceView
'nin, bulunduğu pencerenin yaşam döngüsü durdurulduğunda yüzeyini geçersiz kılması, yeniden başlatıldığında kameranın yeniden açılması veSurfaceView
'nin yüzeyi tekrar geçerli olmadan önce önizlemeyi devam ettirmeye çalışmasıdır. ŞimdilikImplementationMode.TEXTURE_VIEW
kullanmanız gerekir.
API Değişiklikleri
PreviewView.setImplementationMode()
,PreviewView.setPreferredImplementationMode()
olarak yeniden adlandırıldı.PreviewView.getImplementationMode()
,PreviewView.getPreferredImplementationMode()
olarak yeniden adlandırıldı.PreviewView.getSurfaceProvider()
, mümkün olduğundaImplementationMode.SURFACE_VIEW
kullanarak önizlemeyi optimize etmek için kullanılan, boş değer atanabilir birCameraInfo
örneği alanPreviewView.createSurfaceProvider(CameraInfo)
ile değiştirildi. Boş bir örnek iletilirse veya tercih edilen uygulama modunuImplementationMode.TEXTURE_VIEW
olarak ayarlarsanızImplementationMode.TEXTURE_VIEW
dahili olarak kullanılır.Aşağıdaki kod örneğinde, bir ö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()
'a eklenmiştir. Bu, ana iş parçacığında çağrılması gerektiği anlamına gelir. (I192f3)Önizlemenin ölçek türünü ayarlamanıza olanak tanıyan
PreviewView.setScaleType()
eklendi.PreviewView.ScaleType
içindeki değerlerden birini kabul eder ve varsayılan olarakPreviewView.ScaleType.FILL_CENTER
değerini kullanır.PreviewView.getScaleType()
eklendi.implementationMode
özelliğini kullanarak XML düzenindePreviewView
için uygulama modunu ayarlama desteği kaldırıldı.PreviewView
içindeki (x, y) değeriniMeteringPoint
olarak dönüştürmeyi desteklemek için PreviewView'acreateMeteringPointFactory()
API'sini ekleyin. (Ib36d7)
Hata Düzeltmeleri
PreviewView
boyutu değiştikten sonra yanlış bir önizlemenin gösterildiği durumlar düzeltildi. (I71101)
Camera-Extensions Sürüm 1.0.0-alpha08
26 Şubat 2020
androidx.camera:camera-extensions:1.0.0-alpha08
yayınlanır. 1.0.0-alpha08 sürümü bu taahhütleri içerir.
Kamera Görünümü Sürümü 1.0.0-alpha08
26 Şubat 2020
androidx.camera:camera-view:1.0.0-alpha08
yayınlanır. 1.0.0-alpha08 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
SurfaceRequest.provideSurface()
'tekiListenableFuture
,Executor
veCallback
ile değiştirildi. Bu,provideSurface()
'te istisnaların ele alınmasını gerektirmediğinden veprovideSurface()
geri çağırma işlevinin iptal edilememesini zorunlu kıldığından API'yi basitleştirir. Bu, eski cihazlarda yüzeylerin erken yayınlanmasından kaynaklanan kilitlenmelerin önüne geçmek içindir.SurfaceRequest.Result
nesnesi artık birSurfaceRequest
'un sağlananSurface
'yi nasıl kullandığını izlemek için kullanılır. (I7854b)SurfaceRequest.setSurface(Surface)
,SurfaceRequest.provideSurface(Surface)
olarak,SurfaceRequest.setWillNotComplete()
iseSurfaceRequest.willNotProvideSurface()
olarak yeniden adlandırıldı. (I224fe)- Varsayılan
CameraXConfig
sağlayıcıyı ayarlayan işareti koruyarak ProGuard etkinken uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)
Camera-Extensions 1.0.0-alpha07 sürümü
10 Şubat 2020
androidx.camera:camera-extensions:1.0.0-alpha07
yayınlanır. 1.0.0-alpha07 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Daha önce
ImageCapture.OnImageSavedCallback.onError()
veImageCapture.OnImageCapturedCallback.onError()
içinde iletilen bağımsız değişkenler, artık daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişkenImageCaptureException
ile değiştirildi. - Daha önce
ImageCapture.OnImageSavedCallback.onImageSaved()
içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2)
Camera-View Version 1.0.0-alpha07
10 Şubat 2020
androidx.camera:camera-view:1.0.0-alpha07
yayınlanır. 1.0.0-alpha07 sürümü bu taahhütleri içerir.
API Değişiklikleri
PreviewView
'ınTextureView
uygulaması artıkTextureView
'un boyutunu, ebeveyniPreviewView
'yi dolduracak şekilde ölçeklendirmeden önce kamera sensörü çıkış boyutuna ayarlar. Kamera önizlemesinin kullanıcı arayüzünün bir bölümünü (ör. ekranın tamamını) doldurmasını istiyorsanızPreviewView
öğesinin boyutunu sabit bir değere ayarlamayın veya içeriğini sarmalayın (ör. "wrap_content
" özelliğini kullanarak). Aksi takdirde, kamera önizlemesiPreviewView
öğesinin yalnızca bir bölümünü doldurabilir (kamera sensörünün çıkış boyutu daha küçükse). Bunun yerine,PreviewView
öğesini üst öğesi kadar büyük olarak ayarlamanız gerekir (örneğin, "match_parent
" özelliğini kullanarak). (1204869)
Hata Düzeltmeleri
ImageCapture
, resimlerinUri
veOutputStream
'ye kaydedilmesine izin verecek şekilde güncellendi. Aşırı yüklenentakePicture
yöntemleri tek bir yöntemde birleştirildi. Test uygulaması, standart örnek olarakUri
kullanacak şekilde güncellendi. (Ia3bec)Preview.PreviewSurfaceProvider
,Preview.SurfaceProvider
olarak yeniden adlandırıldı.SurfaceProvider
'ler artık geliştiricilerin kendiListenableFuture
'lerini oluşturmasını gerektirmez veSurface
sağlama işlemi artık yeni birSurfaceRequest
nesnesi aracılığıyla gerçekleştirilir.Preview
,PreviewView
gibi diğer sınıflarla birlikte kullanıldığında kötüye kullanım olasılığı nedeniylePreview.getPreviewSurfaceProvider()
yöntemi kaldırıldı. (I20105)- Daha önce
ImageCapture.OnImageSavedCallback.onError()
veImageCapture.OnImageCapturedCallback.onError()
içinde iletilen bağımsız değişkenler, artık daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişkenImageCaptureException
ile değiştirildi. - Daha önce
ImageCapture.OnImageSavedCallback.onImageSaved()
içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2) - API güncellendi.
CameraInfo
'ingetZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
vegetLinearZoom()
yöntemleri,ZoomState
örneği döndürengetZoomState()
ile birleştirildi. (Ib19fe)
Camera-Extensions Sürüm 1.0.0-alpha06
22 Ocak 2020
androidx.camera:camera-extensions:1.0.0-alpha06
yayınlanır. 1.0.0-alpha06 sürümü bu taahhütleri içerir.
Güncellemeler
- Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler.
Kamera Görünümü Sürümü 1.0.0-alpha06
22 Ocak 2020
androidx.camera:camera-view:1.0.0-alpha06
yayınlanır. 1.0.0-alpha06 sürümü bu taahhütleri içerir.
Güncellemeler
- Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler.
Camera-Extensions Sürüm 1.0.0-alpha05
18 Aralık 2019
androidx.camera:camera-extensions:1.0.0-alpha05
yayınlanır. 1.0.0-alpha05 sürümü bu taahhütleri içerir.
Hata Düzeltmeleri
- Dahili Camera Core API'leriyle eşleşecek şekilde güncellendi.
Camera-View Sürümü 1.0.0-alpha05
18 Aralık 2019
androidx.camera:camera-view:1.0.0-alpha05
yayınlanır. 1.0.0-alpha05 sürümü bu taahhütleri içerir.
Bilinen Sorunlar
- PreviewView (b/146215202) kullanılırken en boy oranı yanlış olabilir.
Yeni Özellikler
- SurfaceTexture'un yaşam döngüsünü kameranın TextureView yüzeyini kullanımıyla senkronize eden
PreviewView.TextureViewImplementation
adlı yeni bir sınıf uygulandı.
Camera-Extensions Sürüm 1.0.0-alpha04
4 Aralık 2019
androidx.camera:camera-extensions:1.0.0-alpha04
yayınlanır. camera-extensions'in 1.0.0-alpha04 sürümü bu taahhütleri içerir
API değişiklikleri
Bir uzantının kullanılabilirliğini ve etkinleştirilip etkinleştirilmediğini kontrol etmek için artık giriş parametresi olarak
CameraSelector
kullanılmaktadır. Bu, kullanım alanını bağlamak için kullanılanCameraSelector
ile aynı olmalıdır.val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA val builder = ImageCapture.Builder() val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder) if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) { bokehImageCaptureExtender.enableExtension(cameraSelector) } val imageCapture = builder.build() mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
Uzantıları kitaplıkta kullanmadan önce başlatmanız gerekir.
val availability = ExtensionsManager.init() Futures.addCallback<ExtensionsManager.ExtensionsAvailability>( availability, object : FutureCallback<ExtensionsManager.ExtensionsAvailability> { override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) { // Ready to make extensions calls } override fun onFailure(throwable: Throwable) { // Extensions could not be initialized } }, Executors.newSingleThreadExecutor() )
Camera-View Sürümü 1.0.0-alpha04
4 Aralık 2019
androidx.camera:camera-view:1.0.0-alpha04
yayınlanır. camera-view'ın 1.0.0-alpha04 sürümü bu taahhütleri içerir
API değişiklikleri
- Önizleme kullanım alanından elde edilen çıktıyı bir uygulamada kolayca görüntülemek için
PreviewView
sınıfı sağlanır. PreviewView
aşağıdakiler gibi öğeler içerebilir:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />
PreviewView
, bir önizleme kullanım alanını kolayca bağlamak içinPreviewSurfaceProvider
sağlarpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
API adlandırmasında "
ZoomLevel
" artık "ZoomRatio
" olduBazı yöntem parametrelerinin boşluk kabul etme durumu değişti
Camera-Extensions ve Camera-View Sürüm 1.0.0-alpha03
9 Ekim 2019
androidx.camera:camera-extensions:1.0.0-alpha03
ve androidx.camera:camera-view:1.0.0-alpha03
yayınlandı. Bunlar camera-extensions:1.0.0-alpha03
'a dahil edilen commit'ler, bunlar da camera-view:1.0.0-alpha03
'a dahil edilen commit'lerdir.
Yeni Özellikler
- Uzantılar için bağlam başlatıcı eklendi. Uzantı sürümü 1.1.0 olarak yükseltildi
Camera-Extensions ve Camera-View Sürüm 1.0.0-alpha02
5 Eylül 2019
androidx.camera:camera-extensions:1.0.0-alpha02
ve androidx.camera:camera-view:1.0.0-alpha02
yayınlandı. Bunlar camera-extensions:1.0.0-alpha02 sürümüne dahil edilen taahhütler, bunlar ise camera-view:1.0.0-alpha02 sürümüne dahil edilen taahhütlerdir.
PreviewImageProcessorImpl
'ün zaman damgalarını doğru şekilde uyguladığını doğrulamak için testler eklendi.- Nexus 5'te (API düzeyi 21)
ExtensionTest
testi hatasını düzeltin ve önizlemenin kullanılabilir olduğundan emin olun.
Camera-Extensions ve Camera-View Sürümü 1.0.0-alpha01
7 Ağustos 2019
androidx.camera:camera-extensions:1.0.0-alpha01
ve androidx.camera:camera-view:1.0.0-alpha01
yayınlandı.
Bunlar camera-extensions:1.0.0-alpha01 sürümüne dahil edilen taahhütler ve camera-view:1.0.0-alpha01 sürümüne dahil edilen taahhütlerdir.
- Desteklenen cihazlardaki efektlere erişmek için gelecekteki kamera uzantıları için yeni kitaplık. Bu kitaplık üzerinde çalışmalar devam etmektedir.
- Yeni Kamera Görünümü sınıfı. Bu kitaplık üzerinde çalışmalarımız devam etmektedir.