CameraX
Bu tabloda, androidx.camera grubundaki tüm yapılar listelenir.
| Yapı | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürümü |
|---|---|---|---|---|
| camera-camera2 | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-core | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-compose | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-effects | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-extensions | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
| camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
| camera-lifecycle | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-mlkit-vision | 1.6.2 | 1.7.0-rc01 | - | - |
| kamera-görünümü | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-viewfinder | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
| camera-video | 1.6.2 | 1.7.0-rc01 | - | - |
Cihaz testi
CameraX, laboratuvarımızda birçok cihazda test edilir. Şu anda laboratuvarda bulunan cihazların listesini görmek için CameraX laboratuvarda test edilmiş cihazlar bölümüne bakın.
Bağımlılıkları bildirme
CameraX'e bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposu sayfasını okuyun.
Uygulamanız veya modülünüz için build.gradle dosyasında ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.7.0-rc01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.7.0-rc01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir sorun için oy verebilirsiniz.
Daha fazla bilgi için Issue Tracker belgelerine bakın.
Kamera Vizörü Oluşturma Sürüm 1.0
Sürüm 1.0.0-alpha02
12 Haziran 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu commit'leri içerir.
Sürüm 1.0.0-alpha01
14 Mayıs 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü bu kayıtları içerir.
Yeni özellikler
- Yeni kitaplık. Bu kitaplık, CameraX ve Camera2 ile kullanılabilen yerel bir Compose Viewfinder bileşeni sunar. Birleştirilebilir Viewfinder, farklı en boy oranlarını ve dokunma etkinliklerinin işlenmesini destekler.
Kamera Vizörü 1.4 sürümü
Sürüm 1.4.0-alpha07
12 Haziran 2024
androidx.camera:camera-viewfinder:1.4.0-alpha07 ve androidx.camera:camera-viewfinder-core:1.4.0-alpha07 yayınlandı. 1.4.0-alpha07 sürümü bu kayıtları içerir.
Sürüm 1.4.0-alpha06
14 Mayıs 2024
androidx.camera:camera-viewfinder:1.4.0-alpha06 ve androidx.camera:camera-viewfinder-core:1.4.0-alpha06 yayınlandı. 1.4.0-alpha06 sürümü bu kayıtları içerir.
API Değişiklikleri
Viewfinder'ınImplementationModeEnum'larını, temel uygulamaları daha iyi yansıtacak şekilde yeniden adlandırın veTransformationInfo.sourceRotationiçin sabit değerler ekleyin. (Ic6149)- Yakınlaştırma hareketinin durumlarını kapsüllemek için
ZoomGestureDetector.ZoomEventeklendi. (I84cdf)
Sürüm 1.7
Sürüm 1.7.0-rc01
21 Ekim 2026
androidx.camera:camera-*:1.7.0-rc01 yayınlandı. 1.7.0-rc01 sürümü bu kayıtları içerir.
API Değişiklikleri
UseCaseCamera2Interop,ImageCaptureCamera2Interop,SessionConfigCamera2InteropveCameraControlCamera2Interoparayüzlerden soyut sınıflara dönüştürüldü. (If654e)- Camera2Interop V2 belirsizlik sorunu düzeltildi (I1bbe5)
Hata Düzeltmeleri
SurfaceProcessor,SurfaceRequesttamamlanmadan önce çöp toplama işlemine tabi tutulan bir girişSurfaceTextureyayınladığındaCameraXOpenGLiş parçacığında yerel birSIGSEGVkilitlenmesi düzeltildi. (I76f73, b/563673593)- Efektin
SurfaceOutputöğesi kapatılmadan önceCameraEffectyürütücüsü veyaHandlerThreadkapatıldığında çöp toplama sırasında oluşabilecek bir Surface sızıntısı ve yerelOpenGLkilitlenmesi düzeltildi. (Ifcc19, b/558819242) - Düşük Işık Güçlendirme davranışında iyileştirme: Düşük Işık Güçlendirme ve El Feneri artık "son ayar geçerlidir" politikasını izler. Bu politika uyarınca, birini etkinleştirdiğinizde isteği reddetmek yerine diğerini otomatik olarak devre dışı bırakır. Ayrıca, Düşük Işıkta Geliştirme etkinken Resim Yakalama sırasında flaş da kullanılabilir. (Ie583f)
androidx.lifecycle:lifecycle-runtimebağımlılığı 2.10.0 olarak güncellendi. Bu sürüm, paket halinde sunulan yaşam döngüsü çalışma zamanı lint kontrollerinin AGP 9.5.0-alpha04 veya sonraki sürümlerle çalışması için gereklidir. (I99bfd, b/556807521)CameraInfo.getPhysicalCameraInfos()üzerinden fiziksel kameralardaCameraSelectoralma ve fiziksel kameralaraUseCasesbağlama desteği. FizikselCameraSelectorileCameraInfosorgulandığında artık mantıksalCameraInfoyerine fizikselCameraInfodöndürülür. (Ibe7f2)- Video meta verilerinde yalnızca enlem ve boylamın depolandığına dair
OutputOptions.Builder.setLocationJavadoc açıklığa kavuşturuldu. (I77d3b, b/551348846) ImageAnalysisuygulamasında, çıkış rotasyonunu dinamik olarak değiştirmenin veya kullanım alanının bağlantısını kaldırmanın Surface/ImageReaderkaynak sızıntısına neden olabileceği bir hata düzeltildi. (I25cef)CameraInfo.getIntrinsicZoomRatio(), döndürülen oranı artık iki ondalık basamağa yuvarlar. (Ibe9a8)- Bazı cihazlarda yanlış negatif hatalarını önlemek için
ImageAnalysisiçindePRIVATEbiçimi içinHardwareBuffer.isSupportedkontrolü gevşetildi. (I347a4, b/545866947) CameraXdahili alanlarında geçişli olarak içe aktarılan JSpecify türü ek açıklamaları çözümlenirken daha yeni JDK sürümlerinde oluşan derleme kilitlenmesi düzeltildi. (I00bb4, b/543937345)
Sürüm 1.7.0-alpha03
12 Ağustos 2026
androidx.camera:camera-*:1.7.0-alpha03 yayınlandı. 1.7.0-alpha03 sürümü bu kayıtları içerir.
API Değişiklikleri
Camera2Interopyapılandırıcı fabrika yöntemleri ve Kotlin uzantı işlevleri lehine eski Camera2Interop API'leri (Camera2Interop.Extender,Camera2CameraControl,Camera2CameraInfoveCaptureRequestOptions) kullanımdan kaldırıldı. (Ib0845, b/529609261)preview,imageAnalysis,videoCapture,imageCaptureveSessionConfig.Builderiçin Kotlin DSLcamera2Interopuzantı blokları veCameraControl.applyCamera2InteropAsyncuzantı işlevi eklendi. (I51af9, b/529609261)Preview.Builder,ImageCapture.Builder,ImageAnalysis.Builder,VideoCapture.Builder,SessionConfig.BuilderveCameraControliçin yeniCamera2Interopyapılandırıcı fabrika yöntemleri (forUseCase,forImageCapture,forSessionConfig,forCameraControl) ve ilgilisetInterop/applyInteropAsyncyöntemleri eklendi. (I0007b, b/529609261)CameraInfo'ten Camera2 kamera kimliğini ve özelliklerini almak içinCamera2Interop'e yardımcı yöntemler ve eşdeğer Kotlin uzantısı özellikleri (CameraInfo.cameraId,CameraInfo.cameraCharacteristicsveString.toCameraSelector()) eklendi. (I11803, b/529609261)- Herkese açık API'lere
Preview.setMirrorMode,Preview.getMirrorModeveVideoCapture.setMirrorModeeklendi,ExperimentalMirrorModeek açıklaması kaldırıldı. (I4ed60, b/519794349, b/470629643) UseCasesoluşturmak için Kotlin DSL oluşturucularıpreview{ ... },imageCapture{ ... },imageAnalysis{ ... } vevideoCapture{ ... } eklendi. (I91df9, b/530013719)- ImagePlane.buffer, null değer alabilen ByteBuffer olarak değiştirildi. (I98593)
- Yalnızca yazma özelliklerini zorunlu kılmak için Kotlin DSL'de
SessionConfig.Builder,HighSpeedVideoSessionConfig.BuilderveExtensionSessionConfig.Builderiçin özellik alıcıları kullanımdan kaldırıldı. (I2875b, b/534570559)
Hata Düzeltmeleri
- Birden fazla
Previewkullanım alanını birOverlayEffectile bağlamanın bir önizleme akışı yayınlama hatasına neden olduğu sorun düzeltildi. (I7a383, b/532577546, b/532924417) - Sürekli video kaydı sırasında kamera değiştirilirken
Recording.pause()veRecording.resume()özelliklerinin başarısız olmasına neden olan sorun düzeltildi. (I71004, b/532327691, b/367121726) - Çok kameralı cihazlarda fiziksel kamera sınırları arasında yakınlaştırma yaparken Sıfır Deklanşör Gecikmesi (ZSL) kullanıldığında HAL'nin kilitlenmesi sorunu düzeltildi. (I1c374, b/527782712, b/514757157)
- Samsung Galaxy S25, S26 ve Fold 7 cihazlarda HDR video kaydının başarısız olmasına neden olan bir sorun düzeltildi. (Ic0827, b/529618629)
Sürüm 1.7.0-alpha02
1 Temmuz 2026
androidx.camera:camera-*:1.7.0-alpha02 yayınlandı. 1.7.0-alpha02 sürümü bu kayıtları içerir.
API Değişiklikleri
CameraXViewfinderartık iki parmakla yakınlaştırma ve dokunarak odaklama için yerleşik hareketleri destekliyor, ayrıca yanıp sönen ekran ışığı ve akış durumu için destek ekliyor.FocusState, odaklamak için dokunma sonuçlarının izlenmesine olanak tanımak amacıyla artık viewfinder-core'da herkese açık. (I66a17, b/522549890)SessionConfig.Builder,HighSpeedVideoSessionConfig.Builder,ExtensionSessionConfig.BuilderiçinisAutoRotationEnabledeklendi ve bunlar için Kotlin DSL fabrika işlevleri kullanıma sunuldu. Bu sayede, cihaz sensörlerine göre uygun döndürme otomatik olarak ayarlanabilir. (I5b4a3, b/510752515)- Uygulamaların
EMBEDDEDmodundaOpenGLardışık düzenini kullanmasını desteklemek içinTransformationInfoöğesineTransformationModeözelliği eklendi. (Id1de1, b/487826941) - Ortam koşullarının Gece Modu ölçütlerini ne zaman karşıladığını belirlemek için
CameraInfoöğesineisNightModeIndicatorSupported()vegetNightModeIndicator()eklendi. (Iae47b, b/499389465) - GPU tabanlı ImageAnalysis'i desteklemek için ImageAnalysis.OUTPUT_IMAGE_FORMAT_PRIVATE ve ImageProxy.getHardwareBuffer() genel API olarak kullanıma sunuldu. (I41cb3, b/496022391, b/492934501)
- ExtensionsManager#getExtensionEnabledCameraSelector desteği sonlandırıldı. Uzantı modlarını etkinleştirmek için lütfen yeni ExtensionSessionConfig API'yi kullanın. (I2b336, b/473715607)
- Eşzamanlı kamera kompozisyonu sırasında kamera karelerinin görsel stilini belirleme desteği eklendi. Artık şunları özelleştirebilirsiniz:
- Yuvarlak köşeler: Çerçeve kenarlarına normalleştirilmiş yuvarlama(0,0 ila 1,0) uygulamak için setRoundedCornerRatio (float) yöntemini kullanın.
- Kenarlıklar: Tutarlı kalınlıkta dekoratif bir çerçeve eklemek için setBorderWidthRatio(float) ve setBorderColor(int) yöntemlerini kullanın (I18a07, b/366349205).
- CompositionSettings, negatif olmayan z sırasını zorunlu kılacak şekilde güncellendi ve ConcurrentCamera.setCompositionSettings'e doğrulama eklendi. Bu sayede, geçerli bir kompozisyon modunda doğru sayıda ayarla çağrılması sağlandı. (If660d, b/496951658)
- Uygulamaların, kamera uzantılarını kullanırken mevcut ortamın gece modu koşulunda olup olmadığını izlemesine olanak tanımak için CameraExtensionsInfo'ya getNightModeIndicator() ve isNightModeIndicatorAvailable() eklendi. (I62bb4, b/499389465)
- VideoCapture'da
QHDvideo kalitesi için destek eklendi. (I0ac20, b/501305592) - Geliştiricilerin açık bir ses kanalı sayısı ayarlamasına olanak tanımak için
Recorder.Builder.setTargetAudioChannelCount(int)veRecorder.getTargetAudioChannelCount()eklendi. (I6bee0, b/441895100) - Hedef ses kodlama bit hızının ayarlanmasına olanak tanıyan
Recorder.Builder.setTargetAudioEncodingBitRate(int)eklendi. (I29062, b/241151504) - Yaşam döngüsü bağlandıktan sonra uygulamaların mevcut kameranın kompozisyonunu dinamik olarak güncellemesine olanak tanımak için ConcurrentCamera.setCompositionSettings API'si eklendi. Ayrıca, CompositionSettings.Builder'daki yeni setZOrder API'si, çakışan kamera görüntü akışlarının oluşturma sırası üzerinde hassas kontrol sağlar. (I90528, b/473702287)
- Kodlama biçimleri üzerinde ayrıntılı kontrol için API'ler kullanıma sunuldu. Geliştiriciler artık şu anda deneysel olan
Recorder.getSupportedVideoMimeTypes()vegetSupportedAudioMimeTypes()yöntemlerini kullanarak cihaz tarafından desteklenen biçimleri keşfedebilir. Tercih edilen biçimlerRecorder.Builder.setVideoMimeType()vesetAudioMimeType()aracılığıyla açıkça yapılandırılabilir. AyrıcaRecorder.getVideoCapabilities(CameraInfo, String), seçilen bir codec için desteklenen kaliteler ve dinamik aralıklar gibi kameraya özgü özelliklerin sorgulanmasına olanak tanır. (I4620e, b/491319384) - Otomatik cihaz döndürme dinleyicisinin devre dışı bırakılmasına izin vermek için CameraController.setAutoRotationEnabled(boolean) eklendi. (Ia0c03, b/449573627)
- Yeni bir setLockingMode API aracılığıyla FocusMeteringAction'a AE/AWB kilitleme desteği eklendi. Bu sayede, odağı kilitlemeden 3A bölgelerini güncelleyebilir ve odak alanını güncellerken kameranın sürekli otomatik odaklama modunda kalmasını sağlayabilirsiniz. (I6416f, b/481624745)
Hata Düzeltmeleri
compileSdk 37için şartı kaldır (If78b4)OpenGLardışık düzeni, daha fazlaUseCasesbağlamak veya yüzey işleme içinCameraXtarafından etkinleştirildiğindeEMBEDDEDmodundaCameraXViewfinderdönüşüm sorunu düzeltildi. (I3e637, b/487826941)- Testler ve etkinlikler, desteği sonlandırılan getExtensionEnabledCameraSelector API yerine ExtensionSessionConfig'i kullanacak şekilde güncellendi. (I765d8, b/473715607)
- "'ListenableFuture' sınıfına erişilemiyor" derleme hatası düzeltildi. (Ic8cba, b/497571473)
- Compose compileSdk, API 37'ye güncellendi. Bu nedenle, Compose kullanılırken minimum AGP sürümü 9.2.0 olmalıdır. (Id45cd, b/413674743)
Sürüm 1.7.0-alpha01
11 Mart 2026
androidx.camera:camera-*:1.7.0-alpha01 yayınlandı. 1.7.0-alpha01 sürümü bu kayıtları içerir.
API Değişiklikleri
CameraController.setSessionConfig()API'si kullanıma sunuldu. Bu sayede,CameraControllertarafından doğrudan sunulmayan gelişmişUseCaseyapılandırmaları için özel birSessionConfigsağlayabilirsiniz. BirSessionConfigetkin olduğundaCameraControllerüzerindeki diğer yapılandırma yöntemleri devre dışı bırakılır.(I35cf1, b/448525636)
Hata Düzeltmeleri
- Kitaplıkları Java 11 hedefini kullanacak şekilde taşır. Bu, üretilen bayt kodunun Java 11 (sınıf dosyası sürümü 55) olacağı ve kitaplığı kullanmak için desugaring işlemi gerekebileceği anlamına gelir (If4c2a, b/457821470).
ImageAnalysisuygulamasında, çıkış resmi döndürme etkinleştirildiğinde ve ilk göreceli döndürme 0 derece olduğunda resimlerin doğru şekilde döndürülmemesine neden olan hata düzeltildi. (Id46c2, b/487160584)
Kamera Sürümü 1.6
Sürüm 1.6.2
26 Ağustos 2026
androidx.camera:camera-*:1.6.2 yayınlandı. 1.6.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
CameraXdahili alanlarında geçişli olarak içe aktarılan JSpecify türü ek açıklamaları çözümlenirken daha yeni JDK sürümlerinde oluşan derleme kilitlenmesi düzeltildi. (I00bb4, b/543937345)
Sürüm 1.6.1
6 Mayıs 2026
androidx.camera:camera-*:1.6.1 yayınlandı. 1.6.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- CameraX 1.6.0 kullanılırken "
ListenableFuturesınıfına erişilemiyor" derleme hatası düzeltildi. (Ic8cba, b/497571473)
Sürüm 1.6.0
25 Mart 2026
androidx.camera:camera-*:1.6.0 yayınlandı. 1.6.0 sürümü bu commit'leri içerir.
1.5.0 sürümünden sonra yapılan önemli değişiklikler:
1. Yüksek performanslı, birleştirilmiş kamera yığınına geçiş yapıldı
- CameraX artık Pixel kamerayı destekleyen modern ve yüksek performanslı
CameraPipeyığınını kullanıyor. Bu geçiş, mimari verimliliği artırır ve gelişmiş dijital fotoğrafçılık özelliklerini geliştirici ekosistemine sunmak için ölçeklenebilir bir temel sağlar.
2. Media3 Muxer Entegrasyonu
- CameraX artık VideoCapture API'sinde Media3 Muxer'ı varsayılan olarak entegre ediyor. Bu taşıma işlemi çeşitli avantajlar sağlar:
- Daha yüksek performans: Daha verimli video işleme ve birleştirme.
- Kilitlenmeye karşı dayanıklılık: Video dosyalarının bozulmasına karşı daha iyi koruma sağlayarak kayıt sırasında uygulama kilitlense bile verilerin korunmasını sağlar.
3. Özellik grubu iyileştirmesi
- Feature Group API artık video sabitleme ve 4K kaydı destekliyor.
GroupableFeatures, uygulamaların diğer özelliklerle birlikte etkinleştirmesine olanak tanımak içinVIDEO_STABILIZATIONveUHD_RECORDING'yi içerir. Özellik grubu etkinleştirildiğindeSessionConfig'teCameraEffectveImageAnalysisdesteklenir.
4. SessionConfig API kararlı hale getirildi.
SessionConfig, deneysel aşamadanSessionConfigveHighSpeedVideoSessionConfigdahil olmak üzere tamamen kararlı bir herkese açık API'ye geçiş yaptı. CameraX Extensions artık yeni birExtensionSessionConfigAPI ile uygulanabilir. Yeni birisSessionConfigSupportedAPI kullanıma sunuldu. Bu API, geliştiricilerin yaşam döngüsüne bağlanmadan önce belirli bir kullanım alanı ve özellik kombinasyonunun (ör. HDR, sabitleme, belirli çözünürlükler, CameraX uzantıları veya ağır çekim) cihaz tarafından desteklenip desteklenmediğini sorgulamasına olanak tanır.
Hata Düzeltmeleri
- Belirli Android 17 (API 37) veya sonraki sürümleri çalıştıran cihazlarda meydana gelen kilitlenme sorunu düzeltildi. Bu cihazlar, CameraX 1.5.1 ve önceki sürümler tarafından bilinmeyen yeni dinamik aralık profillerini (ör.STANDARD_SMPTE_2094_50(ID 8192)) gösterdiğinde kitaplık daha önce bu kimlikleri uygun şekilde işleyemiyordu.Bu durum,
ProcessCameraProvider.bindToLifecycle()sırasındaNullPointerExceptionveyaIllegalArgumentExceptionile sonuçlanıyordu. Bu düzeltme, CameraX'in tanınmayan dinamik aralık profillerini sorunsuz bir şekilde yoksaymasına olanak tanıyarak kilitlenmeyi önler ve ileriye dönük uyumluluğu korur. Bu yeni profilleri sunan cihazlarda bu sorunun yaşanmaması için lütfen CameraX bağımlılığınızı 1.5.2 veya 1.6.0 (ya da daha yeni) sürümüne güncelleyin. Daha fazla bilgi için 519796838 numaralı sorunu inceleyin. (Ibd7b5) - Özellik grubu API'si artık
PREVIEW_STABILIZATION,VideoCaptureile kullanıldığında tutarlı sonuçlar sağlıyor. Bu sayede, bir önizleme kullanım alanı etkin olmadığında tutarsız sonuçlara neden olan bir hata düzeltildi. (Ifed82, b/449913903) - Desteklenmeyen tercih edilen özelliklerin yanlışlıkla kullanılabilir hale getirilmesine neden olan sorun düzeltildi. Özellikler, gerekli kullanım alanları karşılanmadığında artık doğru şekilde filtreleniyor. (I38db8, b/449532342)
- Samsung Galaxy S6'da video sonucunun bozuk görünmesine neden olan sorun düzeltildi. (I612d9, b/235127608)
- Sorgudaki
SessionConfigzaten diğer özelliklerle yapılandırılmışsaCameraInfo#isFeatureGroupSupportedişlevininPREVIEW_STABILIZATIONiçin yanlışlıkla doğru değerini döndürmesine neden olan sorun düzeltildi. (I2c355c, b/437816469) - Samsung Z Fold 4 cihazda sorunlu YUV biçimi çıkış boyutları hariç tutuldu. Alınan görüntülerde, bu çıkış boyutları kullanılırken bozulma sorunu yaşanıyor. (I776bf, b/460322307)
- Samsung A53'te,
VideoCapturekullanım alanı bağlıysa el feneri etkinken Resim Yakalama'nın bazen başarısız olmasına neden olan cihaza özgü bir sorun düzeltildi. (I0f183, b/458197367) - Bazı cihazlarda ultra geniş kamerayla flaş kullanıldığında görüntülerin az pozlanmasına neden olan bir sorun düzeltildi. (Ib7530, b/444590340)
ExifInterfacebağımlılığı,0xFFdolgulu JPEG'leri ayrıştırmaya yönelik bir düzeltme içerecek şekilde güncellendi. Bu sayede, JPEG kodlayıcının işaretçilerden önce dolgu baytları eklediği cihazlarda resim yakalama hataları çözüldü. (I0eb49)
Sürüm 1.6.0-rc01
25 Şubat 2026
androidx.camera:camera-*:1.6.0-rc01 yayınlandı. 1.6.0-rc01 sürümü bu kayıtları içerir.
Sürüm 1.6.0-beta02
11 Şubat 2026
androidx.camera:camera-*:1.6.0-beta02 yayınlandı. 1.6.0-beta02 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
ImageCaptureOUTPUT_FORMAT_RAW_JPEG bellek içi yakalamaIllegalArgumentExceptionsorunu düzeltildi. (Id4eec, b/479990902)- AndroidX Media3 muxer'a taşındı. Bu sayede 1: Beklenmedik kesintiler veya uygulamanın sonlandırılması sırasında videonun bozulması ve 2: Videolar proxy dosya tanımlayıcılarına kaydedilirken yaşanan kilitlenmeler düzeltildi. (I23b63, b/433649708, b/264812009, b/475750115)
Sürüm 1.6.0-beta01
28 Ocak 2026
androidx.camera:camera-*:1.6.0-beta01 yayınlandı. 1.6.0-beta01 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- CameraX 1.6.0-alpha'da LiveData nesnesinin güncellenmiş tür verilerini alamamasına neden olan
CameraExtensionsInfomevcut tür sorunu düzeltildi. (I2c7a5) - ExifInterface bağımlılığı, 0xFF dolgulu JPEG'leri ayrıştırmaya yönelik bir düzeltme içerecek şekilde güncellendi. Bu sayede, JPEG kodlayıcının işaretçilerden önce dolgu baytları eklediği cihazlarda resim yakalama hataları çözüldü. (I0eb49)
Sürüm 1.6.0-alpha02
17 Aralık 2025
androidx.camera:camera-*:1.6.0-alpha02 yayınlandı. 1.6.0-alpha02 sürümü bu kayıtları içerir.
Yeni özellikler
- Oturum yapılandırmasında video sabitleme özelliğini belirtmek için gruplandırılabilir bir özellik eklendi. Geliştiriciler artık video stabilizasyonunu zorunlu veya tercih edilen bir özellik olarak isteyebilir ve UHD_RECORDING, PREVIEW_STABILIZATION gibi diğer gruplandırılabilir özelliklerle uyumlu hale getirebilir. (Ic6757, b/419766630)
- Oturum yapılandırmasında video kayıt kalitesini belirtmek için gruplandırılabilir özellikler eklendi. Geliştiriciler artık gerekli veya tercih edilen bir özellik olarak belirli bir kalite (ör. UHD, FHD) isteyebilir ve bunu HDR ve 60 FPS gibi diğer gruplandırılabilir özelliklerle uyumlu hale getirebilir. (Ib5cd3, b/437820285)
SessionConfigiçinde hemCameraEffecthem de özellik grupları API'sini kullanma desteği eklendi. (I17f18, b/406370934)SessionConfigiçinde hemImageAnalysishem de özellik grupları API'sini kullanma desteği eklendi. (I87833, b/406371720)
API Değişiklikleri
ExtensionSessionConfig.BuilderiçinaddUseCaseayarlayıcı işlevi veExtensionSessionConfigiçin eksik alıcılar eklendi. (I71e07, b/453988621)ExtensionsManager.getInstanceAsyncAPI'sinin askıya alma sürümü olanExtensionsManager.getInstanceAPI'si eklendi (I3a0a9, b/452208792)isFeatureGroupSupported,isSessionConfigSupportedolarak yeniden adlandırıldı ve her türSessionConfigdesteklenir hale getirildi. (I21616, b/448781299)ExtensionsManager, Kotlin uygulamasına dönüştürüldü. (I73091, b/452208792)SessionConfigkamera seçimini etkileyebileceğindenCameraInfodeğerini almak içinCameraProvider#getCameraInfo(CameraSelector, SessionConfig)eklendi. Örneğin,ExtensionSessionConfigkullanırken. (Ic548c, b/451891648)ExtensionSessionConfigAPI'si kullanıma sunuldu. Uygulamalar birExtensionSessionConfigoluşturabilir ve bunu kullanarak uzantı oturumu oluşturabilir. (I6354c, b/448524373)androidx.camera.video.HighSpeedVideoSessionConfigAPI artık deneysel değil, tamamen kararlı bir herkese açık API'dir. (I492d4, b/447558239)androidx.camera.core.SessionConfigAPI artık deneysel değildir ve tamamen kararlı bir herkese açık API'dir. (Idc87a, b/447558437)
Hata Düzeltmeleri
- Android 17 veya sonraki sürümlerde
IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object:nedeniyle oluşan kilitlenme sorunu düzeltildi. (Ibd7b5, b/463465353) - Samsung Z Fold 4 cihazda sorunlu YUV biçimi çıkış boyutları hariç tutuldu. Alınan görüntülerde, bu çıkış boyutları kullanılırken bozulma sorunu yaşanıyor. (I776bf, b/460322307)
Camera2InteropAPI'si üzerinden ayarlandığındaCaptureRequest.FLASH_MODEpolitikasının uygulanmaması sorunu düzeltildi. (I0004c, b/459608684)- Samsung A53'te,
VideoCapturekullanım alanı bağlıysa el feneri etkinken Resim Yakalama'nın bazen başarısız olmasına neden olan cihaza özgü bir sorun düzeltildi. (I0f183, b/458197367) - Bazı cihazlarda ultra geniş kamerayla flaş kullanıldığında görüntülerin az pozlanmasına neden olan bir sorun düzeltildi. (Ib7530, b/444590340)
Sürüm 1.6.0-alpha01
22 Ekim 2025
androidx.camera:camera-*:1.6.0-alpha01 yayınlandı. 1.6.0-alpha01 sürümü bu kayıtları içerir.
Yeni özellikler
- CameraX, Pixel Kamera uygulamasının da kullandığı birleştirilmiş, yüksek performanslı bir kamera yığınına taşındı.
CameraPipeolarak bilinen bu yeni yığın, CameraX ve Pixel Kamera ekiplerinin ortak çalışmasıyla geliştirildi. Bu sayede tüm iyileştirmeler paylaşılır ve hem CameraX kullanıcıları hem de Pixel kamera uygulaması bu iyileştirmelerden yararlanır.
API Değişiklikleri
- Dinamik kamera ekleme/kaldırma algılama için yeni API'ler eklendi. Daha fazla bilgi için
CameraPresenceListenerAPI'sine bakın. (I41ead, b/427182232, b/419441394)
Hata Düzeltmeleri
- Özellik grubu API'si artık
PREVIEW_STABILIZATION,VideoCaptureile kullanıldığında tutarlı sonuçlar sağlıyor. Bu sayede,Previewkullanım alanının etkin olmadığı durumlarda tutarsız sonuçlara neden olan bir hata düzeltildi. (Ifed82, b/449913903) - Desteklenmeyen tercih edilen özelliklerin yanlışlıkla kullanılabilir hale getirilmesine neden olan sorun düzeltildi. Özellikler, gerekli kullanım alanları karşılanmadığında artık doğru şekilde filtreleniyor. (I38db8, b/449532342)
- Samsung Galaxy S6'da video sonucunun bozuk görünmesine neden olan sorun düzeltildi. (I612d9, b/235127608)
- Sorgudaki
SessionConfigzaten diğer özelliklerle yapılandırılmışsaCameraInfo#isFeatureGroupSupportedişlevininPREVIEW_STABILIZATIONiçin yanlışlıkla doğru değerini döndürmesine neden olan sorun düzeltildi. (I2c355c, b/437816469)
Kamera Sürümü 1.5
Sürüm 1.5.3
28 Ocak 2026
androidx.camera:camera-*:1.5.3 yayınlandı. 1.5.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- ExifInterface bağımlılığı 1.4.2 sürümüne güncellendi. Bu güncelleme, bir işaretçiden önce ek (ve izin verilen) 0xFF bayt içeren JPEG'ler üreten cihazlarda meydana gelen Resim Yakalama hatasını düzeltir. (I16df4)
Sürüm 1.5.2
4 Aralık 2025
androidx.camera:camera-*:1.5.2 yayınlandı. 1.5.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Android 17 veya sonraki sürümlerde
IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object:nedeniyle oluşan kilitlenme sorunu düzeltildi. (Ic9184) PREVIEW_STABILIZATIONözelliğiVideoCapturekullanım alanıyla eklenipPreviewkullanım alanıyla eklenmediğinde tutarsız özellik grubu API sonuçlarına yol açan bir hata düzeltildi. (Ifed82)- Özelliklerin desteklenmesi için gerekli kullanım alanları olmamasına rağmen tercih edilen özelliklerin filtrelenmemesi sorunu düzeltildi. (I38db8)
Sürüm 1.5.1
8 Ekim 2025
androidx.camera:camera-*:1.5.1 yayınlandı. 1.5.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Eşzamanlı kamera oluşturma modunda
CameraEffectdesteği. Efekt, kompozisyon çıkışına uygulanır. Efekt, eşzamanlı kamera kompozisyonu modunda ayarlandığındaVideoCaptureiçindekimirrorModedeğerinin yoksayılacağını lütfen unutmayın. (If3d00, b/425565129) - Eşzamanlı kamera kompozisyonu modunda
mirrorModeözelliğinin ikincil kameraya doğru şekilde uygulanmaması sorunu düzeltildi. (I686cd, b/446430827) - Eşzamanlı kamera birleştirme dışı modda
Preview,ImageCaptureveVideoCapture'yi birlikte bağlama desteği. (Ib410a, b/443009871) ImageCaptureveVideoCapturegibi UseCase'lerin yeniden oluşturulmaları durumunda hedef dönüş bilgilerini kaybetmesine neden olan sorun düzeltildi. Cihaz döndürüldükten sonraimageCaptureModegibi bir ayar değiştirilirse resimler veya videolar yanlış yönde görünebilir. (I477c8, b/444734537)- Önizleme'nin 16:9 çözünürlükleri seçmesini ve
VideoCaptureuygulamasının QUALITY_1080P çözünürlükte kayıt yapmasını engelleyen sorun düzeltildi. Bu sorun, dahiliStreamSharingözelliği etkinken varsayılan bir önizleme çözünürlüğü yapılandırması kullanıldığında (ör. dört UseCase aynı anda bağlandığında) ortaya çıkıyordu. (I493cb, b/440364875) SurfaceProcessorkapatıldıktan sonra efekt etkinleştirilirken oluşan kilitlenme sorunu düzeltildi (I2c450, b/414150174).CameraControlleriçinde, ilk UseCase maksimum çözünürlüğü seçtiğindeIllegalStateExceptionhatasına neden olan ve daha sonra diğer UseCase'lerin bağlanmasını engelleyen bir hata düzeltildi. (Ifb758, b/440374234)- Nokia 7 Plus için sorunlu YUV_420_888 çıkış boyutlarını hariç tutar. Bu boyutlar, herhangi bir hata mesajı bildirilmeden sessiz hata sorununa neden olur. (I3af47, b/436524501)
CameraInfo#isFeatureGroupSupportedözelliğininPREVIEW_STABILIZATIONözelliği için yanlışlıkla "true" değerini döndürmesine neden olan sorun düzeltildi. Bu durum bazen, daha önce başka özelliklerle yapılandırılmış birSessionConfigile sorgulama yaparken ortaya çıkabilir. (I2c355, b/437816469)- Bu tür senaryolarda varsayılan olarak
TextureViewkullanılarak eski API düzeylerinde veSurfaceViewsorunları olan cihazlardaCameraXViewfinderkararlılığı iyileştirildi. Bu yedek mekanizma yeni varsayılan mekanizmadır ancak programatik olarak geçersiz kılınabilir. (Ieb476, b/437496463) PreviewViewiçinde, etkinliğinin çöp toplayıcı tarafından toplanmasını engelleyebilecek bir bellek sızıntısı düzeltildi. Bu durum, önceki işlenmeden önce yeni birSurfaceRequestgeldiğinde ortaya çıkar. (I4aa0b,b/443112512)- Huawei P smart, Infinix Hot 40i ve Realme C53'te yüksek hızlı/ağır çekim kaydın başarısız olması sorunu düzeltildi. (40a668e, b/442984200)
Sürüm 1.5.0
10 Eylül 2025
androidx.camera:camera-*:1.5.0 yayınlandı. 1.5.0 sürümü bu commit'leri içerir.
1.4.0 sürümünden sonra yapılan önemli değişiklikler:
- Yüksek hızlı ve ağır çekim kayıt: Minimum kodla yüksek hızlı (120/240 fps) ve ağır çekim video kaydını kolayca entegre edin. Ayrıntılar için
Recorder#getHighSpeedVideoCapabilities(CameraInfo)veHighSpeedVideoSessionConfigsayfalarına bakın. SessionConfigveFeatureGroupAPI: YeniSessionConfigAPI, kamera oturumunu yapılandırmanıza ve HLG (HDR), Ultra HDR, 60 FPS ve önizleme sabitleme gibi birden fazla özelliği birlikte güvenli bir şekilde etkinleştirmenize olanak tanır. Ayrıca, öncelikli bir tercih edilen özellik grubu ayarlayarak CameraX'in desteklenen en uygun kombinasyonu belirlemesini sağlayabilirsiniz. Daha fazla bilgi içinSessionConfig.Builder#setPreferredFeatureGroup,SessionConfig.Builder#setRequiredFeatureGroupveCameraInfo#isFeatureGroupSupported(SessionConfig)sayfalarını inceleyin.- Deterministik Kare Hızı API'si: Sorgulamak için
CameraInfo.getSupportedFrameRateRanges(sessionConfig), kesin ve desteklenen kare hızlarını ayarlamak içinSessionConfig.setExpectedFrameRateRangekullanaraksetTargetFrameRateile ilgili önceki sınırlamaları giderin. - Kamera Uzantıları: UltraHDR formatı artık Uzantılar ile destekleniyor.
ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats()ayarını kontrol edin veImageCapture.Builder.setOutputFormatiçinde etkinleştirin. Uzantılar etkinleştirildiğinde yakınlaştırma oranı ve önizleme sabitleme özellikleri artık yansıtılır. - El feneri gücü:
CameraControl.setTorchStrengthLevelsimgesini kullanarak el feneri gücünü ayarlayın. - Düşük Işıkta Güçlendirme Modu: Düşük ışıkta güçlendirme modunu(
CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) aşağıdaki API'leri kullanarak etkinleştirebilirsiniz:CameraInfo#isLowLightBoostSupported,CameraInfo#getLowLightBoostStateveCameraControl#enableLowLightBoostAsyncsayfalarına bakın. - Video Yakalama:
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEartık kayıt sırasında depolama alanı yetersiz olduğunda tetiklenir.PendingRecording.withAudioEnabled(boolean initialMuted), ses kaydı için ilk ses kapatma durumunun kontrol edilmesine olanak tanır. - Resim Yakalama:
ImageCaptureuygulamasında DNG (RAW) ve JPEG + DNG (RAW) biçimleri için destek. RAW desteği içinImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats()sayfasını inceleyin. RAW+DNG çekimi için birden fazlaOutputFileOptionsiçeren aşırı yüklenmiştakePictureAPI'lerini kullanın. - Resim Analizi:
ImageAnalysisiçinde NV21 biçimi desteği.ImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21)ile etkinleştirin.
Sürüm 1.5.0-rc01
13 Ağustos 2025
androidx.camera:camera-*:1.5.0-rc01 yayınlandı. 1.5.0-rc01 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Varsayılan minSdk, API 21'den API 23'e taşındı (Ibdfca, b/380448311, b/435705964, b/435705223).
- Düşük ışık güçlendirmesi otomatik pozlama modu için 10 bit çıkış kısıtlaması kaldırıldı. Uygulamalar artık desteklenen cihazlarda her iki özelliği de aynı anda etkinleştirebilir. (I5a638)
UniSocyonga setine sahip cihazların görüntü yakalarken kilitlenmesine neden olan sorun çözüldü. Sorun,VideoCapture,PreviewveImageCaptureaynı anda kullanıldığında ve tüm yayınlar 1280x720 çözünürlüğe ayarlandığında ortaya çıkıyordu. (Ia00c4, b/380802479)- Yüksek hızlı/ağır çekim kayıt için yüksek hızlı kare hızı ayarlanmadığında önizlemede siyah ekran görünmesi sorunu düzeltildi. (cdf0ff2e9)
getViewportAspectRatioIntiçinde hata işleme ve günlük kaydı iyileştirildi (82fca18)
Sürüm 1.5.0-beta02
16 Temmuz 2025
androidx.camera:camera-*:1.5.0-beta02 yayınlandı. 1.5.0-beta02 sürümü bu kayıtları içerir.
API Değişiklikleri
- Bu özellikler tüm cihazlarda bir arada desteklenmeyebileceğinden, yüksek kaliteli özellik gruplarını daha sezgisel ve doğru bir şekilde ayarlamak veya sorgulamak için yeni API'ler eklendi.
SessionConfigartık bir özellik grubunu zorunlu veya tercih edilen olarak belirtmek için yeni API'ler içeriyor.CameraInfo.isFeatureGroupSupportedAPI'si, birSessionConfigbağlamadan önce özellik grubunun desteklenip desteklenmediğini öğrenmenize olanak tanır.SessionConfig, bir oturum yapılandırması bağlandığında hangi özelliklerin seçildiğini öğrenmek için bir dinleyici ayarlamanıza da olanak tanır. (Ie4d60) - Geliştiricilerin belirli bir
SessionConfigile kısıtlanmış garantili desteklenen kare hızlarını sorgulamasına ve ardından kare hızınıSessionConfigüzerinde uygulamasına olanak tanıyan yeni APISessoinConfig.Builder.setFrameRateRange(Range<Integer>)veCameraInfo.getSupportedFrameRateRanges(SessionConfig)eklendi. (Ieacf7) - Kullanım alanlarını, oturum parametrelerini,
CameraEffect,ViewPortvb. yapılandırmak için daha iyi bir soyutlama içeren yeniSessionConfigAPI'si kullanıma sunuldu.SessionConfigöğesini bir LifecycleOwner'a bağlamak, kamera oturumunu açar, belirtilen kullanım alanlarını ve oturum parametrelerini kullanarak yapılandırır ve belirlenenCameraEffectileViewPortöğelerini uygular. Yeni birSessionConfigöğesini aynıLifecycleOwnerile güncellerken önce unbind veyaunbindAllyöntemini çağırmanıza gerek kalmadan yeni birSessionconfigbağlayabilirsiniz. (Iedfc3) - Yüksek hızlı/ağır çekim video kaydetmek için yeni API'ler eklendi. Daha fazla bilgi için
HighSpeedVideoSessionConfigAPI'sine bakın. (Ia16f3)
Hata Düzeltmeleri
ImageCaptureCapabilities#getSupportedOutputFormats()API'nin, RAW özelliği olmayan bazı cihazlarda RAW biçimlerini destekleniyor olarak bildirmesi sorunu düzeltildi. (Ibcadb)PreviewViewkullanıldığında,CameraEffectetkinleştirildiğinde veya 4 kullanım alanı(StreamSharing) bağlandığında oluşan bellek sızıntısı düzeltildi (I87468).AssertionErrortarafından video kaydı sırasında yaşanan kilitlenme sorunu düzeltildi: Geçersiz dahili ses durumu: IDLING. (I38d4b, b/414259796)- Uygulama harici bir ekranda çalışırken ve cihaz yatay moddayken
PreviewViewuygulamasındaki önizlemenin uzaması veya yan dönmesi sorunu düzeltildi (Ia917a). - Kamera görüntü akışı, Önizleme ve VideoCapture arasında paylaşılırken Önizleme Sabitleme ayarlarının doğru şekilde uygulanmaması sorunu düzeltildi.(I5430e)
CameraXViewfinder, temelViewfinder'deki yüzey değişimini artık düzgün şekilde işliyor. Bu, API düzeyi 28 veya daha düşük birEXTERNALvizörün ekrandan çıktığı ya daCameraXViewfinder(herhangi birImplementationModeile) öğesininmoveableContentOf()kapsamında olduğu senaryoları kapsar. TemelViewfinderSurfaceSessionetkin tutulamadığındaCameraXViewfinder, mevcut CameraXSurfaceRequestöğesini geçersiz kılarak CameraX'in yeniSurfaceöğesini kullanmasına olanak tanır. (I79432)- Android 10/11'de, dönüşüm işlemlerinin (ölçeklendirme veya çeviri gibi) çok erken uygulanması nedeniyle
EXTERNALCameraXViewfinderuzatılmış veya yanlış görünebilmesine neden olan bir sorun düzeltildi. Sistem artık düzen aşamasında bu dönüşümleri uygulamadan önce Surface'ın oluşturulmasını bekler ve doğru çıkışın elde edilmesini sağlar. (Icc77c) - Oluşturulabilir
CameraXViewfinderartık Compose'unPagerile doğru şekilde çalışıyor. Bu değişiklik,AndroidViewöğesininonResetgeri çağırma işlevini uygulayarak Composable'ın başarıyla sıfırlanabilmesini sağlar ve hemEMBEDDEDhem deEXTERNALuygulamalarını destekler. (I0d9be) - Kullanım alanlarının, kamera sağlayıcı kapatılmadan bir yaşam döngüsü sahibinden ayrılması durumunda ortaya çıkan yaşam döngüsü sahibi sızıntısı düzeltildi.
Sürüm 1.5.0-beta01
7 Mayıs 2025
androidx.camera:camera-*:1.5.0-beta01 yayınlandı. 1.5.0-beta01 sürümü bu kayıtları içerir.
API Değişiklikleri
- Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir (Idb6b5).
ContentScaleve Hizalama artık vizörde, görüntülenen yüzeyi kapsayıcısı içinde ölçeklendirmek ve yerleştirmek için kullanılabilir. Bu,androidx.compose.foundation.Image'in davranışına benzer. (Ibcea3)TransformationInfoartık tüm bağımsız değişkenler için varsayılan değerlere sahip. Bu sayede vizörlerTransformationInfoolmadan oluşturulabilir. Bu durumda varsayılan olarak kaynak döndürme 0 olur, kaynak yansıtma ve kırpma dikdörtgeni olmaz. (I2b1b2)- Özelleştirilmiş bir bağlamla yapılandırarak sanal cihazın kamerasına erişme gibi özellikler için farklı yapılandırmalarla örneklendirilebilen bir kamera sağlayıcı olan
LifecycleCameraProvidereklendi. (Ia2992)
Hata Düzeltmeleri
- Samsung SM-E556B cihazda
ImageAnalysis,TEMPLATE_RECORDkullanan başka bir akışla birlikte kullanıldığında önizlemenin donması sorunu düzeltildi. (Ic0e62, b/409478042) - Samsung SM-M556B cihazda
ImageAnalysis,TEMPLATE_RECORDkullanan başka bir akışla birlikte kullanıldığında önizlemenin donması sorunu düzeltildi. (Ic1a6a, b/395822788) - Android 15 Pixel cihazlarda yakınlaştırmayla ilgili işlemler yapılırken karşılaşılan uzantıların GECE modu
AssertErrorsorunu düzeltildi. (I27a5d, b/401460276) CameraControllerkullanılırken ML Kit Analyzer'ın yanlış sınırlayıcı kutu koordinatları sorunu düzeltildi. (Iae91b, b/409808510)
Sürüm 1.5.0-alpha06
26 Şubat 2025
androidx.camera:camera-*:1.5.0-alpha06 yayınlandı. 1.5.0-alpha06 sürümü bu kayıtları içerir.
API Değişiklikleri
- El feneri parlaklığının özelleştirilmesine olanak tanımak için
CameraInfo.getTorchStrengthLevel,CameraInfo.getMaxTorchStrengthLevelveCameraControl.setTorchStrengthLeveleklendi (I00878) - Kullanıcıların
PreviewViewodaklanmak için dokunma etkinlikleri için otomatik iptal davranışını kontrol edebilmesi amacıyla yeni bir APICameraController#setTapToFocusAutoCancelDurationeklendi. Varsayılan olarak CameraX, odaklama etkinliklerini 5 saniye sonra iptal eder (yani kamera odağı sıfırlanır). Bu API, bu süreyi değiştirmenize veya otomatik iptali tamamen devre dışı bırakmanıza olanak tanır. (Icf59a) FLASH_STATE_READY,NOT_FIREDolarak yeniden adlandırıldı ve diğerFlashStatesabit adları daha kolay okunabilmesi için basitleştirildi. (I8771d)- Low Light Boost API kullanıma sunuldu. Android 15 veya sonraki sürümleri çalıştıran cihazlar, düşük ışıkta güçlendirme özelliğini destekleyebilir. Bu özellik, düşük ışık koşullarında önizleme, video veya görüntü analizi akışlarının parlaklığını otomatik olarak ayarlayabilir. Uygulamalar yeni API'yi kullanarak şunları yapabilir: 1. Özelliğin kullanılabilirlik durumunu kontrol etmek için
CameraInfo#isLowLightBoostSupportedkullanın. 2. Cihazlar desteklediğinde modu etkinleştirmek içinCameraControl#enableLowLightBoostAsynckullanın. 3. Zayıf ışık güçlendirme durumunu izlemek içinCameraInfo#getLowLightBoostStatekullanın. (I937ed) - camera-feature-combination-query'de camera2 dışı daha hızlı sorgulamaya izin vermek için uyumluluk sınıfları ekleyin. (Ie97ee)
CameraControllerdokunarak odaklama etkinlikleri için yeni bir APIgetTapToFocusInfoState(),TapToFocusInfosınıfınınLiveDatadeğerini döndürerek ilgili dokunma konumunu da gösterir.getTapToFocusState()döndüren öncekiLiveData<Integer>API'nin desteği ise yeni API lehine sonlandırıldı. (I238d2)
Hata Düzeltmeleri
- Uzantılar ile önizleme sabitleme etkinleştirildiğinde önizleme sabitlemenin uygulanmaması sorunu düzeltildi. (I24ad7)
- CameraX, varsayılan olarak 5 saniye sonra gerçekleşen bir odaklanma etkinliğini otomatik olarak iptal ettiğinde
CameraControllerodaklanma durumu etkinliğininTAP_TO_FOCUS_NOT_STARTEDdeğerine sıfırlanmaması sorunu düzeltildi. (I31954) - Yayınlanmamış resim kaynakları nedeniyle birden fazla çekimden sonra Sıfır Deklanşör Gecikmesi (ZSL) kullanılırken önizlemenin donması sorunu düzeltildi. (Ic3c2a)
- Bazı cihazlarda, ardışık düzen
OpenGLiçerdiğinde UHD videoların kırmızı tonlu olmasıyla ilgili sorunlar düzeltildi. (Idcedc)
Sürüm 1.5.0-alpha05
15 Ocak 2025
androidx.camera:camera-*:1.5.0-alpha05 yayınlandı. 1.5.0-alpha05 sürümü bu kayıtları içerir.
API Değişiklikleri
QualitySelectortemel alınarak seçilen kaliteyi öğrenmek içinVideoCapture.getSelectedQuality()ekleyin. (I70508, b/204288986)ImageCapture.OnImageCapturedCallbackAPI'si ile bir Resim Yakalama işlemi çağrıldığında, döndürülenImageProxyiçindeki ImageInfo artık yeniImageInfo.getFlashState()API'si aracılığıyla flaşın patlayıp patlamadığını öğrenmek için kullanılabilir. (Id2c61, b/380527406)ImageAnalysisiçinOUTPUT_IMAGE_FORMAT_NV21çıkış biçimi desteği eklendi. (I484ab)featurecombinationqueryyapısının deneysel ek açıklamasını kaldırın (I4427f)- Bir uzantı modu etkinleştirildiğinde, uzantıya özgü özelliklere göre
CameraControliçin izin verilen yakınlaştırma oranı aralığını ayarlayın. (I85af1)
Hata Düzeltmeleri
- Android 15 ile ilgili API'yi kullanmak için
compileSdk, 35 olarak yükseltildi. CameraX kitaplıklarını kullanan uygulamaların dacompileSdkyapılandırma ayarını yükseltmesi gerekir. (Ic80cd) - Bu kitaplık artık tür kullanımı olan JSpecify boşluk ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için şu derleyici bağımsız değişkenini kullanmalıdır:
-Xjspecify-annotations=strict(Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan olarak bu kullanılır). (Idc6c6, b/326456246)
Sürüm 1.5.0-alpha04
11 Aralık 2024
androidx.camera:camera-*:1.5.0-alpha04 yayınlandı. 1.5.0-alpha04 sürümü bu kayıtları içerir.
API Değişiklikleri
ImageCapture.Builder#setOutputFormatveImageCaptureCapabilities#getSupportedOutputFormats, kararlı API'ler olarak kullanıma sunuldu (Ieb04a)- Bir
VideoCapture, Lifecycle'a bağlandığında çözünürlük bilgilerini almak içinVideoCapture.getResolutionInfo()ekleyin. (Icb478) PreviewView.getScreenFlashvePreviewView.setScreenFlashOverlayColor, kararlı API'ler olarak kullanıma sunuldu. (I74fee)
Hata Düzeltmeleri
- Vivo 1610 cihazda karanlıkta flaşla fotoğraf çekerken yaşanan çekim hatası sorunu düzeltildi. (I366f4)
- Redmi Note 6 Pro'da görüntü yakalama işleminden sonra el fenerinin beklenmedik şekilde kapanması sorunu düzeltildi. (I2e0e8, b/377144569)
- Pixel Android 15 cihazlarda, Uzantılar'daki GECE modunun, kamera yakındaki bir nesneye odaklanana kadar fotoğraf çekememesi sorunu düzeltildi. (I228d4)
- Uzantılar etkinleştirildiğinde ve
VideoCapturebirbirine bağlandığında hareketsiz görüntü yakalama işlevinin bozulması sorunu düzeltildi. (I5c745) - Cihaz destekliyorsa Uzantılar için
UltraHDRhareketsiz görüntü yakalama desteği etkinleştirildi. (I48300) - TCL cihazlarda
CameraEffecthedefleme resim yakalamaları için flaş yakalama ile ilgili flaş zamanlaması sorunu düzeltildi. (I7698c)
1.5.0-alpha03 sürümü
30 Ekim 2024
androidx.camera:camera-*:1.5.0-alpha03 yayınlandı. 1.5.0-alpha03 sürümü bu kayıtları içerir.
API Değişiklikleri
- RAW ve RAW + JPEG için çıkış biçimi API'leri ekleyin
ImageCapture. Cihaz özelliği kontrolüImageCaptureCapabilities#getSupportedOutputFormatsiçinde gösterilir.OUTPUT_FORMAT_RAW, Adobe DNG biçiminde RAW resim çekmek,OUTPUT_FORMAT_RAW_JPEGise aynı anda RAW ve JPEG resim çekmek içindir. YeniImageCapture#takePictureAPI'si, eşzamanlı Resim Yakalama için kullanılır. İkiOutputFileOptionssağlaması gerekir. Bunlardan ilki RAW görüntüsü, ikincisi ise JPEG görüntüsü içindir. (Ib0f3d)
Hata Düzeltmeleri
VideoCaptureetkinleştirildiğinde TCL cihazlarda önizleme ve videonun az pozlanması sorunu düzeltildi. (Id7a64)- Bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlıyken (akış paylaşımı)
PreviewView.getMeteringPointFactoryilestartFocusMeteringçağrıldığında doğru sensör koordinatlarının alınmaması sorunu düzeltildi. (I916c5, b/345993685) - Video kaydederken ve yeterli depolama alanı olmadığında
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEetkinliğinin tetiklenmemesi sorunu düzeltildi. (I35779, b/356399842)
Sürüm 1.5.0-alpha02
2 Ekim 2024
androidx.camera:camera-*:1.5.0-alpha02 yayınlandı. 1.5.0-alpha02 sürümü bu kayıtları içerir.
Yeni özellikler
- Cihazın desteklediği kamera özelliklerini sorgulamak için yeni API'ler. Örneğin, HDR ve 60 FPS'nin aynı anda etkinleştirilip etkinleştirilemeyeceğini kontrol etme. Bu kitaplıkta iki yapı bulunur: camera-feature-combination-query ve camera-feature-combination-query-play-services.
Bu, Google Play Hizmetleri tarafından sağlanan ek verilerle camera2'nin
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupportedAPI'sinin uyumlu bir sürümüdür.
Hata Düzeltmeleri
- LEGACY düzeyindeki cihazlarda
Preview/VideoCapturehedef kare hızı sorunu düzeltildi.setTargetFrameRateveyaCamera2InteropAPI aracılığıyla ayarlanan hedef kare hızı, her zamanAeFpsRangeLegacyQuirktarafından sağlanan değerle değiştiriliyordu. Bu düzeltmeyle CameraX kitaplığı,setTargetFrameRateveyaCamera2InteropAPI aracılığıyla ayarlanan değere uyar. (Ie2d32) CameraEffectile resim yakalama için flaş/fener/3A işlevleri eklendi.CameraEffectile yapılan Resim Yakalama işlemleri, artıkCameraEffectolmadan yapılan Resim Yakalama işlemleriyle aynı yakalama öncesi ve sonrası işlemlere (ör. flaş tetikleyici, 3A yakınsama vb.) sahip olmalıdır. (I5ff30)- Samsung SM-A057G cihazda
ImageAnalysisiçin sorunlu çıkış boyutları hariç tutuldu.ImageAnalysis, 1920x1440 veya daha yüksek bir çözünürlük kullandığında önizlemenin siyah görünmesi sorununa neden olur. Sorunu önlemek için SM-A057G cihazaExcludedSupportedSizesQuirkuygulandı. (I63dfe, b/365877975) - Akış paylaşım mekanizması, akışı
PreviewveVideoCaptureile paylaşmak için dahili olarak etkinleştirildiğinde ortaya çıkanPreview/VideoCapturehedef kare hızı sorunu düzeltildi. (I4fdac) - Samsung S10e ve S10+ cihazlarda yanlış JPEG resim meta verileri sorununu düzeltmek için geçici çözüm etkinleştirildi. Düzeltme sayesinde CameraX, JPEG görüntüyü başarıyla kaydedebilir veya yanlış JPEG görüntü meta verileri sorunu yaşanırsa bu cihazlarda
ImageProxy.toBitmap()işlevi çağrıldığında doğru Bitmap nesneleri döndürülebilir. (Iae493, b/356428987) - HDR görüntüler yakalanırken yerel kilitlenmeler meydana gelebileceğinden ve BOKEH veya FACE_RETOUCH modları için yakalama oturumları yapılandırılamayabileceğinden Samsung A52s'nin kimliği 0 olan arka kamerası için uzantılar devre dışı bırakıldı. (I03ec9, b/364152642)
- Video kaydederken ve yeterli depolama alanı olmadığında
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEetkinliğinin tetiklenmemesi sorunu düzeltildi. (Ia5b4f, b/356399842) - Oppo A5'te (CPH1931) ikinci video kaydı denemesinin başarısız olmasına neden olan sorun düzeltildi. (I181d6)
Sürüm 1.5.0-alpha01
4 Eylül 2024
androidx.camera:camera-*:1.5.0-alpha01 yayınlandı. 1.5.0-alpha01 sürümü bu kayıtları içerir.
Yeni özellikler
camera-core'den CameraXSurfaceRequest'ten bir önizleme akışı gösteren CameraX Viewfinder Compose Adapter için yeni bir yapı olancamera-composeyayınlandı. (I8666e)Viewfinderiçin CameraXSurfaceRequest'leri uyarlayan deyimsel bir composable olarak işlev gören yeni bir composable (CameraXViewfinder) eklendi. (I4770f)
API Değişiklikleri
- İki eşzamanlı kamerayla video çekimi için kompozisyon ayarlarını belirleyen API'yi sunun. Ayarlar arasında karıştırma için alfa değeri, x ve y koordinatlarında uzaklık, kamera karesi görüntüleme penceresinin genişlik ve yükseklik ölçeği bulunur. Ofset, genişlik ve yükseklik, normalleştirilmiş cihaz koordinatlarında belirtilir. (Ia2b8a)
CameraProvider.getCameraInfo, resmi bir API olarak kullanıma sunuldu. (I901cd)- İlk ses kapatma durumunu kontrol etmek için API
PendingRecording.withAudioEnabled(boolean initialMuted)eklendi. (I635c3, b/354829267)
Hata Düzeltmeleri
bindToLifecycle, imha edilmiş birLifecycleOwnerile çağrıldığında oluşan kilitlenme sorunu düzeltildi. (I6e6d8)- Motorola Edge 20 Fusion'da
VideoCaptureile bağlanırken ön kamerada önizlemenin siyah ekran olması sorunu düzeltildi. (I1fe88) PreviewViewuygulamasında yakınlaştırma hareketlerini algılama yapılandırması daha akıcı bir deneyim için optimize edildi. (I04ffc)
Kamera Sürümü 1.4
Sürüm 1.4.2
26 Mart 2025
androidx.camera:camera-*:1.4.2 yayınlandı. 1.4.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Samsung Galaxy M55'te
ImageAnalysis,TEMPLATE_RECORDkullanan başka bir akışla birlikte kullanıldığında önizlemenin donması sorunu düzeltildi. (Ic1a6a, b/395822788)
Sürüm 1.4.1
11 Aralık 2024
androidx.camera:camera-*:1.4.1 yayınlandı. 1.4.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Pixel Android 15 cihazlarda, Uzantılar'daki GECE modunun, kamera yakındaki bir nesneye odaklanana kadar fotoğraf çekememesi sorunu düzeltildi. (I228d4)
- Uzantılar etkinleştirildiğinde ve
VideoCapturebirbirine bağlandığında ortaya çıkanImageCapture#takePicturearızası düzeltildi. (I5c745)
Sürüm 1.4.0
30 Ekim 2024
androidx.camera:camera-*:1.4.0 yayınlandı. 1.4.0 sürümü bu commit'leri içerir.
1.3.0 sürümünden sonra yapılan önemli değişiklikler
CameraX 1.4.0, heyecan verici güncellemelerle dolu. Aşağıda bir özet verilmiştir:
Öne Çıkan Özellik: 10 bit HDR:
- Kolayca muhteşem HDR fotoğraflar ve videolar çekin.
- HLG ve 10 bit HEVC kodlamayı destekler.
- 10 bit HDR önizlemeden yararlanabilir ve cihaz özelliklerini sorgulayabilirsiniz.
- Giderek daha fazla cihazda
UltraHDRresimler ve HDR videolarla çalışır.
Diğer ilgi çekici özellikler:
- Kotlin Uzantıları:
takePictureveawaitInstanceaskıya alma işlevleri eklendi. - Gerçek Zamanlı Efektler: Filigran ve nesne vurgulama gibi efektler uygulayabilirsiniz.
- CameraController API: Video yakalama yapılandırması için yeni kontroller.
- Önizleme stabilizasyonu: Cihazın kapasitesini sorgulayın ve stabilizasyonu etkinleştirin.
- VideoCapture İyileştirmeleri: Kalite üzerinde daha hassas kontrol ve daha yüksek çözünürlüklere erişim.
- CameraX Extensions entegrasyonu:
VideoCaptureve yeniImageCaptureözellikleriyle sorunsuz entegrasyon. - Shutter Sound API: Bölgesel deklanşör sesi şartlarını kolayca kontrol edin.
- Yanıp sönen ekran ışığı: Ön kameralar için düşük ışıkta çekilen fotoğraflar iyileştirildi.
- Camera Extensions Metadata API'leri: Uzantıların gücünü ayarlamak ve
ExtensionMode#AUTOuygulamasındaki mevcut uzantı moduyla ilgili bildirim almak için destekleyici API'ler. Beta ve RC duyurularımızda daha fazla hata düzeltmesi bulabilirsiniz.
Sürüm 1.4.0-rc04
16 Ekim 2024
androidx.camera:camera-*:1.4.0-rc04 yayınlandı. 1.4.0-rc04 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Bir efekt etkinleştirildiğinde veya 4 kullanım alanı bağlıyken (akış paylaşımı)
PreviewView.getMeteringPointFactoryilestartFocusMeteringçağrıldığında doğru sensör koordinatlarının alınmaması sorunu düzeltildi. (I916c5, b/345993685)
Sürüm 1.4.0-rc03
2 Ekim 2024
androidx.camera:camera-*:1.4.0-rc03 yayınlandı. 1.4.0-rc03 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
CameraEffectile resim yakalama için flaş/fener/3A işlevleri eklendi.CameraEffectile yapılan Resim Yakalama işlemleri, artıkCameraEffectolmadan yapılan Resim Yakalama işlemleriyle aynı yakalama öncesi ve sonrası işlemlere (ör. flaş tetikleyici, 3A yakınsama vb.) sahip olmalıdır. (I5ff30)PreviewViewuygulamasında iki parmakla yakınlaştırma akıcılığı optimize edildi (I04ffc)- Ultra HDR desteği için artık cihazların 10 bit çıkış özelliğine sahip olması gerekmediğinden Ultra HDR'yi 10 bit çıkış özelliğinden ayırın. (I96ff2, I0c3b3)
Sürüm 1.4.0-rc02
18 Eylül 2024
androidx.camera:camera-*:1.4.0-rc02 yayınlandı. 1.4.0-rc02 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
bindToLifecycle, imha edilmiş birLifecycleOwnerile çağrıldığında oluşan kilitlenme sorunu düzeltildi. (I6e6d8)ScreenFlash#applyiçinScreenFlashViewgörünürlük animasyonu eklendi. Bu animasyon, parlaklık değişikliğinin bir süre sonra eşzamansız olarak tamamlanmasından kaynaklanan hataları da düzeltir. (I37cdb)- Desteklenen cihazlarda çerçevedeki yakınlaştırma ayarları geçersiz kılınarak yakınlaştırma akıcılığı iyileştirildi.
Sürüm 1.4.0-rc01
7 Ağustos 2024
androidx.camera:camera-*:1.4.0-rc01 yayınlandı. 1.4.0-rc01 sürümü bu kayıtları içerir.
Yeni özellikler
- Kullanım alanlarını kameraya bağlamaya gerek kalmadan belirli kamera bilgilerini sağlamak için deneysel
CameraInfo.getCameraInfoeklendi. (I550d1)
API Değişiklikleri
ScreenFlashView'nin açıkça eklenmediği durumlar içinPreviewView.getScreenFlashvePreviewView.setScreenFlashOverlayColorAPI'leri eklendi. (I43945)
Hata Düzeltmeleri
- VideoCapture kullanım alanı bağlıyken düşük ışıkta flaş açık olarak çekilen Resim Yakalama'daki pozlama ve renk tonu sorunları düzeltildi. (Ic9814)
- Uzantılar etkinken bir
takePictureisteğinin kesintiye uğraması nedeniyle sonuç alınamaması ve sonrakitakePictureisteğinin çalışmaması sorunu düzeltildi. (Iae78f) - Uzantılar etkinleştirildiğinde ortaya çıkan bellek sızıntısı sorunu düzeltildi. (Iab276)
- Pixel 7/8 ve Samsung Galaxy S24 serisi gibi cihazlarda CameraX uzantılarının çalışmaması sorunu düzeltildi. Sürüm modundaki bir
Camera2OutputConfigImpldönüştürme sorunundan kaynaklanan bu sorun, AGP'yi 8.5.1 sürümüne yükseltip sadeleştirmeyi etkinleştirdikten sonra ortaya çıktı. (I99598, b/354824993)
Sürüm 1.4.0-beta02
12 Haziran 2024
androidx.camera:camera-*:1.4.0-beta02 yayınlandı. 1.4.0-beta02 sürümü bu kayıtları içerir.
API Değişiklikleri
VideoCaptureöğesine benzer şekilde, önizleme kullanım alanı içinsetMirrorModeekleyin. API 33 ve sonraki sürümlerdeOutputConfiguration.setMirrorModearacılığıyla önizleme akışı için ayna modunun AÇIK ve KAPALI olmasını destekler. Eski API'lerde ise işlem yapılmaz. (I821f4)
Hata Düzeltmeleri
ImageCapture,Preview+VideoCapture+ImageCaptureUseCasekombinasyonunda 1920x1080'i seçtiğinde uygulamaların Samsung Tab A8'de başarılı bir şekilde fotoğraf çekememesi sorunu düzeltildi. (I5a463, b/336925549)- Kamera değiştirildikten sonra kesintisiz kaydın devam etmemesi sorunu düzeltildi. (Icb0a1)
Sürüm 1.4.0-beta01
14 Mayıs 2024
androidx.camera:camera-*:1.4.0-beta01 yayınlandı. 1.4.0-beta01 sürümü bu commit'leri içerir.
API Değişiklikleri
- Yakınlaştırma hareketinin durumlarını kapsüllemek için
ZoomGestureDetector.ZoomEventeklendi. (I84cdf)
Hata Düzeltmeleri
- Fotoğraf çekme ve odaklamak için dokunma özelliklerinin, tekrarlanan istek FPS/stabilizasyon modu değerlerini kullanmamasına neden olan bir hata düzeltildi. Bu hata, çekim oturumunu yeniden oluşturarak bazı cihazlarda gecikme sorunlarına veya önizlemenin donmasına neden olabiliyordu. (I7dc0b)
- Bazı cihazlarda
CameraEffectetkinleştirildiğinde yüksek çözünürlüklerin seçilememesine yol açan hata düzeltildi. (ör. Samsung A32 5G'de 4000x3000). (Ie3ed3, b/337336152) - Pixel 4XL API29'da önizleme,
ImageCaptureveVideoCapture(UHD)bağlıyken fotoğraf çekildiğinde oluşan kilitlenme sorunu düzeltildi. (I5b288) - Sanal cihazları destekleme:
ProcessCameraProvideryöntemine iletilen bağlam, sanal cihaz ortamında işlevselliği sağlamak için cihaz kimliğini korur. (I5ba48)
Sürüm 1.4.0-alpha05
17 Nisan 2024
androidx.camera:camera-*:1.4.0-alpha05 yayınlandı. 1.4.0-alpha05 sürümü bu commit'leri içerir.
Yeni özellikler
ProcessCameraProvider, Kotlin uygulamasına dönüştürüldü. (I46d4f)- Kotlin'e özgü bir şekilde çağrılabilmesi için
ImageCapture.takePictureaskıya alma işlevleri eklendi. (I920be)
API Değişiklikleri
ImageCapturesınıfına çıkış biçimi API'leri ekleyin ve cihaz özelliklerini sorgulamak içinImageCaptureCapabilitiessınıfınagetSupportedOutputFormatsyöntemini ekleyin. Varsayılan çıkış biçimi değeriOUTPUT_FORMAT_JPEGolup SDR resimleri JPEG biçiminde yakalar. Cihaz Ultra HDR'yi desteklediğinde ve çıkış biçimiOUTPUT_FORMAT_JPEG_ULTRA_HDRolarak ayarlandığında CameraX, JPEG/R resim biçimini kullanarak Ultra HDR sıkıştırılmış resimler çeker. Bu biçim, SDR JPEG biçimiyle geriye dönük uyumludur ve içeriğin HDR olarak oluşturulmasını destekler. Bu, eski uygulamalarda veya cihazlarda resimlerin normal JPEG olarak sorunsuz bir şekilde göründüğü, biçimi tam olarak destekleyecek şekilde güncellenen uygulama ve cihazlarda ise resimlerin HDR olarak göründüğü anlamına gelir. (I5de50)- Fiziksel kamera bilgilerini sorgulamak için
CameraInfoiçinePhysicalCameraInfoekleyin veCameraSelectoriçine fiziksel kamera kimliği ayarlayıcı/alıcı ekleyin (Ic5b90) CameraController#COORDINATE_SYSTEM_VIEW_REFERENCEDyerineImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCEDkoyun. Sabitin değeri aynı kalır. Bu, tüm sabitleri tek bir yerde birleştirmek içindir. (I890bb)- Yeni
RetryPolicyAPI, geliştiricilerin CameraX başlatma için yeniden deneme davranışını özelleştirmesine olanak tanır. (I36dd2) - Test edilebilirliğe yardımcı olmak için
ImageCaptureLatencyEstimatenesnesinin oluşturulmasını etkinleştirme (Iaba99) ImageAnalysis#COORDINATE_SYSTEM_SENSORekleyin. Bu kullanıldığındaMlKitAnalyzer, kamera sensörü koordinat sistemindeki koordinatları döndürür. (I3ec61)- Uzantı meta verileri API'si kullanıma sunuldu. Yeni
CameraExtensionsInfoveCameraExtensionsControlarayü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ığıylaCameraExtensionsInfoya daCameraExtensionsControlörneğini alabilir. (I28e1a) ProcessCameraProvider.getInstance'in askıya alma sürümü olanProcessCameraProvider.awaitInstanceeklendi (Ib22b9)PreviewView#getSensorToViewTransform()API'si ekleyin. Matris, kamera sensörü koordinatlarındanPreviewViewkoordinatlarına dönüşümü temsil eder. Bu, koordinatları birUseCasedeğerinden diğerine dönüştürmek için kullanılabilir. Örneğin,ImageAnalysisiçinde algılanan nesnelerin koordinatlarınıPreviewViewyer paylaşımına dönüştürme. (I947ab)camera-viewfinder-coreAPI'sini daha genel hale getirerekcamera-viewfindervecamera-viewfinder-composetarafından kullanılabilmesini sağlayın. (I1e295)ViewfinderSurfaceRequestöğesinegetSurfaceişlevini ekleyin. (I781a0)camera-viewfinderiçindecamera-viewfinder-corekullanın veViewfinderSurfaceRequestileCameraViewfinderöğelerini kullanımdan kaldırın. (I6198c)- Özellikle yakınlaştırmak için sıkıştırma etkinliği için yapılandırılmış ölçeklendirme hareketlerini yorumlayan
ZoomGestureDetectoreklendi. (Ifafbf)
Hata Düzeltmeleri
ImageAnalysis'ın analizör varsayılan hedef çözünürlük ayarıyla ilgili çözünürlük seçimi sorunu düzeltildi: Uygulamalar farklı bir analizör varsayılan çözünürlük ayarı belirlemiş olsa bile hedef çözünürlük yanlış bir şekilde 640x480 olarak tutuluyordu. Uygulamalar bu sorunla (1.3.0 ~ 1.3.2) karşılaşırsa ve çözümü içeren daha yeni sürümlere yükseltilemiyorsa tercih edilen çözünürlüğe sahip birResolutionSelectorve eşleşen birAspectRatioStrategydeğerini doğrudanImageAnalysisUseCaseolarak ayarlayarak bu sorunu çözebilirsiniz. (I81f72, b/330091012)- Mevcut istek başarısız olursa sıraya alınan
takePictureisteğinin çalıştırılamamasına neden olan sorun düzeltildi. (Ie0801) - Geçersiz JPEG veri kontrolünün Vivo X60 ve X60 Pro cihazlara uygulanmasını sağlayın. Bu işlem, söz konusu cihazlardaki anormal derecede büyük resim sorununu düzeltebilir. (I82247, b/288828159)
- Samsung A24 cihazlarda JPEG resim meta verilerinin yanlış olması sorunu düzeltildi. Düzeltme sayesinde CameraX, JPEG görüntüsünü başarıyla kaydedebilir veya Samsung A24 cihazlarda
ImageProxy.toBitmap()işlevi çağrılırken doğru Bitmap nesneleri döndürülebilir. (I8d6eb, b/309005680) - Çekilen resim 10 MB'tan büyükse geçersiz JPEG veri kontrolünün tüm Samsung cihazlara uygulanmasını sağlayın. Bu sayede Samsung cihazlarda anormal derecede büyük resim sorunu düzeltilebilir. (Ic2a65, b/288828159)
- Birçok OEM'in uzantı uygulamaları
ImageAnalysisile iyi çalışmadığından ve tutarsız sorunlara neden olabileceğinden CameraX uzantılarındaImageAnalysisdesteği kaldırıldı. (I2d926)
Sürüm 1.4.0-alpha04
24 Ocak 2024
androidx.camera:camera-*:1.4.0-alpha04 yayınlandı. 1.4.0-alpha04 sürümü bu kayıtları içerir.
Yeni özellikler
- Yeni yapı: camera-effects:
Preview,VideoCaptureve/veyaImageCapturedahil olmak üzere CameraX çıkışına gerçek zamanlı efektler uygulamak için kullanılan bir kitaplık. Bu yapı, kamera çıkışını verimli bir şekilde işleyenCameraEffectAPI'sinin OpenGL uygulamalarını içerir. OverlayEffect: Android'in Canvas API'si ile yer paylaşımları çizmek için kullanılır. Bu sayede uygulama, kamera çıkışlarına filigran ekleyebilir veya algılanan nesneleri vurgulayabilir.DynamicRangeÖnizleme Kullanım Alanı için API'ler: Dinamik aralık artık Video Kullanım Alanı'ndan bağımsız olarak Önizleme Kullanım Alanı'nda ayarlanabilir. Bu sayede, yalnızca önizleme için HLG10 gibi HDR dinamik aralıkları kullanılabilir. Her kameranın hangi dinamik aralıkları desteklediğini sorgulamak içinCameraInfoiçinde yeni API'ler de mevcuttur.
API Değişiklikleri
ScreenFlashUiCompleter,ScreenFlashListenerolarak yeniden adlandırıldı veScreenFlashUiCompleter#getExpirationTimeMillis,ScreenFlash#applyparametresininexpirationTimeMillisparametresine taşındı. (I13944)- Önizleme kullanım alanında dinamik aralığın ayarlanmasına ve her kameranın desteklediği dinamik aralıkların sorgulanmasına olanak tanıyan yeni API'ler eklendi. Bu sayede, HLG10 gibi HDR dinamik aralıkları yalnızca önizleme kullanım alanıyla kullanılabilir ve artık aynı anda bir
VideoCapturebağlanması gerekmez. (If25e3) getMirroring(),isMirroring()olarak yeniden adlandırıldı (I47063)- CameraX'e gerçek zamanlı fotoğraf çekme gecikme süresi tahmini desteği eklendi. Kamera uzantıları, uygulamaların çekimin ne kadar süreceğini tahmin eden bir API kullanmasına olanak tanır. Tahmin, mevcut ortam koşullarını ve kamera durumunu dikkate alır. Ayrıca, çok kareli yakalama isteklerini işlemek için harcanan süreyi ve gerekirse işlenen arabellekleri kodlamak için gereken ek süreyi içerir. (I05c3a)
ScreenFlashUiControl,ScreenFlasholarak;ScreenFlashUiControl#applyScreenFlashUi,ScreenFlash#applyolarak;ScreenFlashUiControl#clearScreenFlashUi,ScreenFlash#clearolarak yeniden adlandırıldı veSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDSdoğrudan gösterilmek yerinegetScreenFlashUiApplyTimeoutSecondsyöntemi eklendi. (Iccdd0)
Hata Düzeltmeleri
- Uzantılar etkinleştirildiğinde etkinliklerin veya parçaların yayınlanmamasına neden olan bir bellek sızıntısı düzeltildi (I14215).
- Artan bir yakınlaştırma oranı uygulanırken
getZoomRatioözelliğinin yanlışlıkla daha düşük bir değer döndürmesi sorunu düzeltildi. (I4aa0d, b/317543616) ImageCapture#ScreenFlash#clearetkinliği,ImageCapturebağlantısı kaldırıldığında veya kamera kapatıldığında hemen çağrılır. Ayrıca, bu senaryolardaki yakalamaların düzgün şekilde tamamlanmaması nedeniyle etkinliğin hiç çağrılmadığı bazı hatalar da düzeltildi. (If99f9)takePictureisteği tamamlanmadan önce yaşam döngüsü durdurulduğunda meydana gelen kilitlenme sorunu düzeltildi (Idf017, b/306202751).- Bazı cihazlarda uzantılar etkinleştirildiğinde kamera önizlemesinin siyah olmasına neden olan sorun düzeltildi (I1ffd0).
- Snapdragon 778G SoC kullanan cihazlarda video kaydının yanlış süresi düzeltildi. (If6aa7, b/316057919)
Sürüm 1.4.0-alpha03
13 Aralık 2023
androidx.camera:camera-*:1.4.0-alpha03 yayınlandı. 1.4.0-alpha03 sürümü bu kayıtları içerir.
Yeni özellikler
- Bölgesel kısıtlamalara göre deklanşör sesinin çalınıp çalınmayacağı bilgisini sağlamak için
CameraInfo.mustPlayShutterSoundeklendi. (Ifda84) - Kameranın bir kareyi pozlamaya başladığını bildirmek için
OnImageCapturedCallback.onCaptureStartedveOnImageSavedCallback.onCaptureStartedeklendi. Bu noktada deklanşör sesini veya deklanşör animasyonunu oynatmanız önerilir. (Ic49b3) - CameraX'te ön kamerayla resim yakalama için yanıp sönen ekran ışığı özelliği desteği eklendi. CameraX, çerçeve tarafındaki API işlemeyi üstlenir ve zamanlamayı uygulamanın kullanıcı arayüzü değişiklikleriyle gerektiği şekilde senkronize eder (ör. uygulama ekranı rengi/parlaklığı değiştikten sonra AE ön yakalama tetikleyicisi). Uygulamaların yalnızca CameraX'e sağlanan
ScreenFlashUiControlarayüzüne kullanıcı arayüzü tarafındaki uygulamalarını eklemesi gerekir. (I8ae84) - CameraX'te, yanıp sönen ekran ışığı özelliğinin kullanıcı arayüzü tarafındaki uygulama desteği eklendi. Uygulamalar,
PreviewViewveya yeni eklenenScreenFlashViewüzerinden temel birImageCapture.ScreenFlashUiControluygulaması alabilir. Bu uygulama, yanıp sönen ekran ışığıyla fotoğraf çekimi sırasında tek renkli bir yer paylaşımı görünümü ekler ve ekran parlaklığını artırır. (I1810e)
API Değişiklikleri
- Yeni uzantı özelliklerini(görüntüleme sonrası ve yakalama işlemi ilerleme durumu) destekler: Uygulamaların, görüntüleme sonrası ve yakalama işlemi ilerleme durumu geri çağırma işlevinin özelliklerini sorgulaması için
ImageCapture#getImageCaptureCapabilities()API'leri eklendi. Uygulamalar,ImageCapture.Builder#setPostviewEnabled()kullanarak görüntüleme sonrası özelliğini etkinleştirebilir. Görüntüleme sonrası boyutuImageCapture.Builder#setPostviewResolutionSelector()kullanılarak seçilebilir.takePicture()çağrılırkenonPostviewBitmapAvailableveonCaptureProcessProgressed, destekleniyorsa görüntüleme sonrası ve işlem ilerleme durumu bildirimini almak içinOnImageSavedCallbackveyaOnImageCapturedCallbackiçinde uygulanabilir. (I5cd88) - Sensörden mevcut arabelleğe koordinat dönüşümünü hesaplayan API'ler, Surface'ın kamera yönü bilgilerini içerip içermediğini gösteren bir işaretle birlikte sunulur. (I59096)
UseCaseönizlemesindePreviewCapabitlitysorgulamak için API'yi kullanıma sunun. (Ie5b6c)VideoCaptureiçin daha fazla kaliteyi destekleyen API'ler eklendi.Recorder.Builder#setVideoCapabilitiesSource(int),VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIESile birlikte kullanılarakVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE'ten daha fazla kaliteyi destekleyen birRecorderörneği oluşturulabilir. Yaygın kullanım alanlarından biri, uygulamanın mümkün olduğunda UHD video kaydetmeye çalıştığı ancak codec'in UHD video kaydedebilmesine rağmen cihazınCamcorderProfileayarlarında UHD ayarlarının bulunmadığı durumlardır. (Iedbe2, b/263961771)CameraControlleröğesineImageAnalysisçıkış biçimi alıcısı/ayarlayıcısı ekleyin. (I9a96c, b/308240643)
Hata Düzeltmeleri
- Kamera
1.3.1:ProcessCameraProvider#bindToLifecycle()performansı iyileştirildi. En önemli değişiklik,UseCasesiçin en uygun boyut kombinasyonlarını belirleme sürecinin optimize edilmesidir. En iyi sonuçlar, belirliUseCasekombinasyonları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
VideoCapturekullanımına izin verin. (I91f32) - Samsung A71 ve M51 serisi cihazlarda yakalanan büyük JPEG resim sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Çekilen görüntülerin dosya boyutunun çok büyük olmasına neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I01afc, b/288828159)
- Pixel'de, desteklenen boş olmayan
ImageAnalysisboyutlarını yanlışlıkla döndüren hatayı önlemek için Pixel'lerdeImageAnalysisdesteğini devre dışı bırakın. (I7ec31) - Uzantılar etkinleştirildiğinde CPU yüklemesinin ve güç tüketiminin artmasına neden olan performans sorunu düzeltildi. (Ibdccb)
- Snapdragon 480,
CameraUseInconsistentTimebaseQuirklistesine eklendi. Bu güncelleme, bu yonga setini kullanan cihazlarda Android 12'de görülen ve kayıtlardaki sesin, cihazın askıya alınma süresi kadar kaymasına neden olan bir sorunu düzeltir. (I58010)
Sürüm 1.4.0-alpha02
18 Ekim 2023
androidx.camera:camera-*:1.4.0-alpha02 yayınlandı. 1.4.0-alpha02 sürümü bu kayıtları içerir.
API Değişiklikleri
- API'yi
setCameraOpenRetryMaxTimeoutInMillisWhileResumingolarak yeniden adlandırın ve bağımsız değişkeni yeniden adlandırın. (I72370) - Cihaz kapasitesini sorgulamak ve video/önizleme sabitlemeyi etkinleştirmek için API'ler ekleme. (I87544)
- Kameranın açılmasını yeniden deneme için maksimum zaman aşımı süresini özelleştiren API sağlar. (I0c642)
- İşlem kamerası sağlayıcısının, testler arasında CameraX'i farklı şekillerde ilk kullanıma hazırlaması gerekebilecek test paketlerinde kullanılabilmesi için
ProcessCameraProvider.shutdownAsync, herkese açık bir test API'si olarak yayınlandı. (I9eca7) - Video yakalama dinamik aralığını, kare hızını ve ayna modunu yapılandırmak için API'ler ekleyin. (Ifb8f7)
OutputSizedesteğini sonlandırıpResolutionSelectorile değiştirin.ResolutionSelector, çözünürlükleri seçmenin daha kapsamlı bir yoludur ve camera-core API ile tutarlıdır. (I93abd, b/286801438)
Hata Düzeltmeleri
- Samsung Galaxy S23 Ultra 5G'de, arka kamerada
ImageAnalysisile Bokeh veya Yüz Rötuşu uzantıları etkinleştirildiğinde ortaya çıkan siyah önizleme sorunu düzeltildi. (I2e8b1) - Moto E5 Play'de önizleme ve
VideoCaptureuzatılmış sorunları düzeltildi. (73dce2)
Sürüm 1.4.0-alpha01
20 Eylül 2023
androidx.camera:camera-*:1.4.0-alpha01 yayınlandı. 1.4.0-alpha01 sürümü bu kayıtları içerir.
API Değişiklikleri
- Kayıt sırasında ses genliği bilgilerine erişmek için yeni API ekleyin. (Id4925)
Hata Düzeltmeleri
- Başlatma ve başlatmayı kaldırma etkinliklerinin doğru sırada tetiklenmesini sağlayarak uzantıların kararlılığını artırın. (Ib3b8e)
- Dahili olarak fazladan yinelenen yüzey eklenmesi nedeniyle desteklenen yüzey kombinasyonunun aşılmasıyla ilgili yakalama oturumu yapılandırma hatası düzeltildi. (Id718c)
- Vivo S16 cihazda yakalanan büyük JPEG resim sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Çekilen görüntülerin dosya boyutunun büyük olmasına neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I79505, b/299069235)
- Bazı cihazlarda belirli uzantı modları etkinleştirildiğinde
ImageAnalysis,ImageCaptureve Önizleme ile birlikte bağlanamama sorunu düzeltildi. Düzeltme, uygulamalarExtensionsManager#isImageAnalysisSupported()üzerindenImageAnalysiskullanılabilirliğini sorguladığında doğru değeri döndürür. (I7d538) - JavaDoc'u davranışla eşleşecek şekilde güncelleyin.
#setZoomRatio,#setLinearZoomve#enableTorchhemen tamamlanmak yerine kamera hazır olana kadar bekler. Ayrıca#takePictureAPI ile maksimum görüş alanının nasıl elde edileceği hakkında bilgi eklendi. (I23588)
Sürüm 1.3
Sürüm 1.3.4
12 Haziran 2024
androidx.camera:camera-*:1.3.4 yayınlandı. 1.3.4 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Artan bir yakınlaştırma oranı uygulanırken
getZoomRatioözelliğinin yanlışlıkla daha düşük bir değer döndürmesi sorunu düzeltildi. (I4aa0d, b/317543616) - Fotoğraf çekme/odaklamak için dokunma özelliğinin, tekrarlanan istek FPS/stabilizasyon modu değerlerini kullanmaması sorunu düzeltildi. Bu sorun, çekim oturumunun yeniden oluşturulmasına ve bazı cihazlarda gecikme sorunlarına veya önizlemenin donmasına neden olabiliyordu. (I7dc0b)
setTargetFrameRate,FRAME_RATE_RANGE_UNSPECIFIEDile çağrıldığında kare hızının daha düşük bir değere ayarlanması sorunu düzeltildi. (I78c61)
Sürüm 1.3.3
17 Nisan 2024
androidx.camera:camera-*:1.3.3 yayınlandı. 1.3.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
ImageAnalysis'ın analizör varsayılan hedef çözünürlük ayarıyla ilgili çözünürlük seçimi sorunu düzeltildi: Uygulamalar farklı bir analizör varsayılan çözünürlük ayarı belirlemiş olsa bile hedef çözünürlük yanlış bir şekilde 640x480 olarak tutuluyordu. Uygulamalar bu sorunla (1.3.0 ~ 1.3.2) karşılaşırsa ve çözümü içeren daha yeni sürüm sürümlerini kullanmak için yükseltme yapamazsa tercih edilen çözünürlükle doğrudan birResolutionSelectorveImageAnalysisUseCase ile eşleşen birAspectRatioStrategyayarlamak bu sorunu çözebilir. (I81f72, b/330091012)
Sürüm 1.3.2
6 Mart 2024
androidx.camera:camera-*:1.3.2 yayınlandı. 1.3.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Samsung A24 cihazlardaki JPEG meta veri sorunu düzeltildi. CameraX artık görüntüleri doğru şekilde kaydediyor ve
ImageProxy.toBitmap()işlevi doğru Bitmap nesnelerini döndürüyor. (I8d6eb, b/309005680) - Sorunlar nedeniyle Redmi Note 9 Pro cihazlarda 9280x6944 çözünürlük seçeneği kaldırıldı. (Ia23da)
Sürüm 1.3.1
13 Aralık 2023
androidx.camera:camera-*:1.3.1 yayınlandı. 1.3.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
ProcessCameraProvider#bindToLifecycle() performansı iyileştirildi. En önemli değişiklik, UseCases için en uygun boyut kombinasyonlarını belirleme sürecinin optimize edilmesidir. En iyi sonuçlar, belirli UseCase kombinasyonlarına ve hedef cihazlar için desteklenen çıkış boyutlarının sayısına göre değişir. (I454f2)
Çeşitli senaryolar için bazı referans sonuçları aşağıda verilmiştir:
Dört
UseCases:Preview+ImageCapture+ImageAnalysis+VideoCapture- Google Pixel 7: Yaklaşık 430 ms - 60 ms
- Samsung Galaxy S23 Ultra: Yaklaşık 540 ms'den 45 ms'ye
- Samsung A53 5G: Yaklaşık 115 ms ila 70 ms
Üç
UseCases:Preview+ImageCapture+ImageAnalysis- Google Pixel 7: Yaklaşık 9 ms ila 7 ms
- Samsung Galaxy S23 Ultra: Yaklaşık 6 ms - 5 ms
- Samsung A53 5G: Yaklaşık 32 ms - 12 ms
Snapdragon 480,
CameraUseInconsistentTimebaseQuirklistesine eklendi. Bu güncelleme, bu yonga setini kullanan cihazlarda Android 12'de görülen ve kayıtlardaki sesin, cihazın askıya alınma süresi kadar kaymasına neden olan bir sorunu düzeltir. (I58010)
Sürüm 1.3.0
18 Ekim 2023
androidx.camera:camera-*:1.3.0 yayınlandı. 1.3.0 sürümü bu commit'leri içerir.
1.2.0 sürümünden sonra yapılan önemli değişiklikler
- 10 bit HDR, kırpma, aynalı/aynasız, sessize alma/sesi açma, kare hızını ayarlama gibi video özellikleri.
- Eşzamanlı Çift 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ınlandı. 1.3.0-rc02 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Başlatma ve başlatmayı kaldırma etkinliklerinin doğru sırada tetiklenmesini sağlayarak uzantıların kararlılığını artırın. Bu sayede, uzantı modları veya kameralar arasında geçiş yaparken yaşanan bazı siyah önizleme sorunları düzeltildi. (Iddaac)
- Bazı cihazlarda belirli uzantı modları etkinleştirildiğinde
ImageAnalysis,ImageCaptureve Önizleme ile birlikte bağlanamama sorunu düzeltildi. Düzeltme, uygulamalarExtensionsManager#isImageAnalysisSupported()üzerindenImageAnalysiskullanılabilirliğini sorguladığında doğru değeri döndürür. (I7d538) - Xiaomi Poco X3 NFC'de yansıtma modu etkinleştirildiğinde kaydedilen videonun ses ve görüntüsünün senkronize olmaması sorunu düzeltildi. (I20b4c)
Sürüm 1.3.0-rc01
23 Ağustos 2023
androidx.camera:camera-*:1.3.0-rc01 yayınlandı. 1.3.0-rc01 sürümü bu kayıtları içerir.
API Değişiklikleri
- Kaydedici'nin bağlı olduğu
VideoCaptureyeniden bağlandığında kaydın kesintisiz devam etmesi içinPendingRecording.asPersistentRecordingeklendi. (I517c6)
Hata Düzeltmeleri
- Bir akış hem
VideoCapturehem de Önizleme ile paylaşıldığında yaşanan kilitlenme sorunu düzeltildi. Ayrıca, akış paylaşımı etkinleştirildiğinde LEGACY cihazlarda görülen siyah ekran sorunu da düzeltildi. - Samsung S7 (SM-G930T, SM-G930V) serisi cihazlarda büyük JPEG resimlerin yakalanmasıyla ilgili sorun düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Çekilen görüntülerin dosya boyutunun büyük olmasına neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I407b0, b/288828159)
- Samsung S22 (SM-S901B, SM-S901B/DS) ve S22+ (SM-S906B) serisi cihazlarda yakalanan JPEG resimlerin büyük olması sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. S22 SM-S901B/DS cihazda çekilen resimlerin dosya boyutunun yaklaşık 13 MB olmasına neden oluyor. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I73be9, b/288828159)
- Samsung A5, A52, A70 ve A72 serisi cihazlarda yakalanan büyük JPEG resim sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Bu durum, çekilen resimlerin dosya boyutunun çok büyük olmasına (ör. yaklaşık 32 MB, hatta 96 MB) neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I97c4d, b/288828159)
- Uzantılar etkinken fotoğraf çekildiğinde yerel kilitlenme sorunu düzeltildi (I698f5).
Sürüm 1.3.0-beta02
26 Temmuz 2023
androidx.camera:camera-*:1.3.0-beta02 yayınlandı. 1.3.0-beta02 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Düşük ışıkta çekim kalitesini iyileştirmek için Pixel 4 ve 5 varyantlarında flaş olarak el fenerini kullanın (I56ff5, b/280221967)
- Samsung A5 (2017) serisi cihazlarda yakalanan büyük JPEG resim sorunu düzeltildi. Yakalanan JPEG resimler, JFIF sıkıştırılmış veri segmentinde gereksiz 0'lar içeren dolgu verileri içeriyor. Bu ayar, çekilen resimlerin dosya boyutunun yaklaşık 32 MB olmasına neden olur. Yakaladığınız resimlerin normal resim dosyası boyutlarına sahip olması için bu gereksiz 0'lar kaldırılır. (I29837, b/288828159)
CaptureFailedRetryQuirkbölümünde belirtilen sorunlu cihazlarda yakalama hatası durumunda yeniden denemenin düzgün şekilde tetiklenmemesi sorunu düzeltildi. (I7b589)
Sürüm 1.3.0-beta01
21 Haziran 2023
androidx.camera:camera-*:1.3.0-beta01 yayınlandı. 1.3.0-beta01 sürümü bu kayıtları içerir.
API Değişiklikleri
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)işlevinin adısetAllowedResolutionModeolarak,ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONsabitleri isePREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATEolarak 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) DynamicRangesınıfı, resimlerin dinamik aralığını temsil eder. Bu,VideoCaptureileVideoCapture.Builder#setDynamicRange()arasındaki çıkış olarak Yüksek Dinamik Aralıklı biçimleri seçmek için kullanılabilir. (Ib0377)ExtensionsManageriçin birisImageAnalysisSupportedAPI'si eklendi. Bu API sayesinde uygulamalar, Uzantılar etkinleştirildiğinde birImageAnalysiskullanım alanının Önizleme veImageCaptureile birlikte bağlanıp bağlanamayacağını belirleyebilir. (I1bc63)Recordersınıfından elde edilen yeniVideoCapabilitiessınıfı, cihazda video kaydı için desteklenen dinamik aralıkları ve kaliteleri sorgulamak amacıyla kullanılabilir.QualitySelectorsınıfınıngetSupportedQualities()veisQualitySupported()yöntemlerinin desteği sonlandırılıyor. Lütfen bunun yerineVideoCapabilities'ningetSupportedQualities()veisQualitySupported()yöntemlerini kullanın. (I04014)CameraController#setVideoCaptureTargetQuality(),setVideoCaptureQualitySelectorolarak yeniden adlandırıldı ve video kalitesi ayarları için daha fazla esneklik sağlayanQualitySelectorbağımsız değişkenini alır.CameraController#getVideoCaptureTargetQuality(), buna göregetVideoCaptureQualitySelectorolarak değiştirilir. (I520ed)- Video özellikleriyle ilgili deneysel ek açıklama kaldırıldı. Video özellikleri artık kararlı sürümde. (I1a113)
Hata Düzeltmeleri
- Samsung SM-A320 modellerinde, düşük ışıkta hızı ve çekilen resim kalitesini artırmak için flaş olarak el fenerini kullanın. (I6a022, b/286190938)
ImageProxy.toBitmap()içinImageFormat.JPEGbiçim desteği ekleyin. JPEG bayt dizisinin kodu çözülemezseUnsupportedOperationExceptionhatası verilir. (I81958, b/282057603)
1.3.0-alpha07 sürümü
24 Mayıs 2023
androidx.camera:camera-*:1.3.0-alpha07 yayınlandı. 1.3.0-alpha07 sürümü bu kayıtları içerir.
Yeni özellikler
- Yeni
VideoCapture.Builder# setTargetFrameRate(Range)API'si, video kayıtlarının cihaz varsayılanı dışındaki kare hızlarında kaydedilmesine olanak tanır. Kayıtlar için kullanılabilen kare hızları, yeniCameraInfo#getSupportedFrameRates()API'si aracılığıyla sorgulanabilir.
API Değişiklikleri
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONsabitleriALLOWED_RESOLUTIONS_NORMAL/SLOWolarak yeniden adlandırıldı ve oluşturucusetHighResolutionEnabledFlagişlevinin adısetAllowedResolutionModeolarak değiştirildi. (Iae817)CameraInfo#getSupportedFrameRateRanges(), aralıkların sıralanmadığını daha iyi göstermek için artıkListyerineSetdöndürüyor. (I02f43)- Düzeltilemeyen hataları (Ice471) işlemek için
CameraEffectöğesine bir hata işleyici ekleyin. - Daha iyi test edilebilirlik için
ResolutionInfosınıfına herkese açık kurucu ekleyin (If6d1c) setTargetRotationDegreeskullanımının yerini alacak veImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)veVideoCapture.setTargetRotationDegrees(int)API'lerinin desteğini sonlandıracak bir APIUseCase.snapToSurfaceRotation(int)sağlandı. (Ia9010)- Önizleme kullanım alanında hedef kare hızını ayarlamak ve almak için yeni API
Preview#getTargetFrameRatevePreview.Builder#setTargetFrameRateeklendi (If4f22) Recordingnesnesi, çöp toplama nedeniyle durdurulduğundaVideoRecordEvent.FinalizeartıkERROR_RECORDING_GARBAGE_COLLECTEDhata koduyla tamamlanacak. (Iba974)
Hata Düzeltmeleri
StreamConfigurationMapCompatiçindeki önbelleğe alınmış çıkış boyutları boş olduğundaNullPointerExceptiondüzeltildi. (Idf124, b/282025204)Preview.setSurfaceProvider(null)tuşunun, Uzantılar'da önizlemeyi duraklatmaması sorunu düzeltildi (Ia903e).VideoCapturebağlıyken kamera açılırkenConcurrentModificationExceptionhatasının oluşmasına neden olan sorun düzeltildi. (Ic8ac4)
Sürüm 1.3.0-alpha06
19 Nisan 2023
androidx.camera:camera-*:1.3.0-alpha06 yayınlandı. 1.3.0-alpha06 sürümü bu kayıtları içerir.
Yeni özellikler
- Eşzamanlı kamera, Android 11'de kullanıma sunulan yeni bir özelliktir. Kamera cihazlarının eşzamanlı akışını destekler. Örneğin, bir cihazın hem ön hem de arka kameralarının aynı anda çalışmasına olanak tanır. CameraX şu anda yalnızca iki kameranın aynı anda çalışmasına olanak tanıyan çift eşzamanlı kamerayı destekler. Her biri için en fazla iki {@link UseCase} bağlıdır. Maksimum çözünürlük 720p veya 1440p'dir. Daha fazla bilgi için aşağıdaki bağlantıyı inceleyin: CameraManager#getConcurrentCameraIds()
- Aşağıdaki özellikleri içeren yeni
ResolutionSelectorAPI'yi kullanıma sunuyoruz:- Uygulamalar, ihtiyaçlarına en uygun çözünürlüğü seçmek için en boy oranı ve çözünürlük stratejileri belirleyebilir.
- Tüm boyutlar ve en-boy oranı parametreleri, kamera cihazı sensörünün koordinatlarıyla ifade edilir.
- Uygulamalar, desteklenen boyutları istenen sırada düzenlemek için özel bir çözünürlük filtresi uygulayabilir.
- Uygulamalar, daha yüksek çözünürlüklü görüntüler elde etmek için yüksek çözünürlüklü yakalamayı da etkinleştirebilir. Ancak yüksek çözünürlük kullanmanın yakalama sürelerini uzatabileceğini unutmayın.
VideoCaptureyansıtma API'leri eklendi.VideoCapturetarafından kaydedilen videolar varsayılan olarak yansıtılmaz. Ancak kamera önizlemesi, ön kamerada varsayılan olarak yansıtılır.VideoCaptureyansıtma API'leri, ön kamerayı kullanırken kamera önizlemesiyle hizalamayı mümkün kılar. ÜçMirrorMode,OFF,ONveON_FRONT_ONLYvar. Kamera önizlemesiyle hizalamak içinON_FRONT_ONLYkullanılması önerilir. Bu, yansıtmanın arka kamera için etkinleştirilmediği ancak ön kamera için etkinleştirildiği anlamına gelir.
API Değişiklikleri
- Yeni
ResolutionSelectorAPI'si kullanıma sunuldu. Uygulamalar, istenen sonuçları elde etmek için yedek kurallarla veya özel bir çözünürlük filtresiyle en boy oranı ve çözünürlük stratejileri belirtebilir. Uygulamalar, yüksek çözünürlüklü yakalamayı etkinleştirmek için bir işaret belirtebilir. Bu sayede CameraX, fotoğraf veya video çekerken daha yüksek çözünürlükler seçebilir. Ancak yüksek çözünürlük kullanmanın yakalama sürelerini uzatabileceğini unutmayın. (Ibed95) - AE algoritması tarafından desteklenen FPS aralıkları artık
CameraInfo#getSupportedFrameRateRanges()üzerinden sorgulanabilir. (Iaa67f) - Tüm kare hızı yöntemlerinin adlarını "FrameRate" olarak birleştirin.
VideoCapture#getTargetFrameRate()(I83304) dosyasındaki javadoc hatasını düzeltin. - Eski
setTargetAspectRatiovesetTargetResolutionAPI'nin desteği sonlandırıldı. Lütfen bunun yerine yeniResolutionSelectorAPI'yi kullanın. (I542c3) - Eşzamanlı çift kamera için herkese açık API'ler eklendi. Bunlar arasında şunlar yer alır:
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)boolean isConcurrentCameraModeOn()veConcurrentCameraConfig,SingleCameraConfigveConcurrentCamera(Iab1c1)
ImageProcessor.Response#getOutputImageNonNull yapıldı (Ib9c60)VideoCapture.Builder.setMirrorMode(int)veVideoCapture.getMirrorMode()dahil olmak üzereVideoCaptureyansıtma API'leri eklendi. API'ler, video kaydının yaygın kamera önizleme davranışıyla tutarlı olmasını gerektiren uygulamalar için kullanışlıdır. Örneğin, arka kamera önizlemesi yansıtılmaz ancak ön kamera önizlemesi yansıtılır. (I713b6, b/194634656)VideoCapture.Builder'esetTargetFrameRate()API'si veVideoCapture'egetTargetFramerate()API'si eklendi (I109d4)SurfaceOutput'yi Closable'ı genişletecek şekilde ayarlayın ve SurfaceOutput.Event'nin herkese açık kurucusunu gizleyin. (I60ea8)- İşlenmekte olan bir kaydın sesini dinamik olarak kapatmak veya açmak için
Recording.muteeklendi. İşleme sırasındaki kayıt açıkça sessize alındığındaRecordingStats,AudioStats.AUDIO_STATE_MUTEDdeğerini içerir. (Ie17fc) #setEffects()parametresi boş olmayan bir değer olarak ayarlandı. Efektleri temizlemek için#clearEffects()API'si eklendi. Uygulama, efektleri kaldırmak için#clearEffects()yöntemini çağırmalıdır. (I4b4d9)- Kopya oluşturucu için bir oluşturucu almak üzere
ViewfinderSurfaceRequest.Builderiçin ikinci bir oluşturucu ekleyin (I621a7)
Hata Düzeltmeleri
- Extensions API'yi çağıran uygulamaların, kamera kapatılırken kilitlenmesine neden olan sorun düzeltildi (Ib27e5).
VideoCaptureuygulamasının bazı cihazlarda ön kamerayla çalışamamasına neden olan sorun düzeltildi. Örneğin, Samsung Galaxy S23 ve Xiaomi 2107113SG. (Ibec7e, b/270656244)- Android 10 veya sonraki sürümlerde, harici depolama alanındaki herkese açık klasörde Dosya'yı kullanarak fotoğraf çekmenin her zaman başarısız olmasına neden olan sorun düzeltildi. Android 10'da, harici depolama alanındaki herkese açık klasörde Dosya'yı kullanarak fotoğraf çekmek için uygulama etiketinde
requestLegacyExternalStoragedeğerinin "true" olarak ayarlanması gerektiğini lütfen unutmayın. (I11b2c) DefaultSurfaceProcessoruygulamasındaRejectedExecutionExceptionkilitlenme sorunu düzeltildi. Kilitlenme,VideoCapturebağlıyken ve etkinlik duraklatıldığında gerçekleşebilir. (Idb46a, b/273713906)
Sürüm 1.3.0-alpha05
22 Mart 2023
androidx.camera:camera-*:1.3.0-alpha05 yayınlandı. 1.3.0-alpha05 sürümü bu kayıtları içerir.
API Değişiklikleri
VideoCapture.Builder.setTargetRotation(int),VideoCapture.setTargetRotation(int),VideoCapture.setTargetRotationDegrees(int)veVideoCapture.getTargetRotation()dahil olmak üzereVideoCapturerotasyon API'leri eklendi. API'ler, cihaz yönünü kilitleyen uygulamalar için kullanışlıdır.ImageCapture.setTargetRotationDegrees(int)veImageAnalysis.setTargetRotationDegrees(int)da eklenir. (Id3ffe, b/205242781)- Efekt hedefi olarak
VIDEO_CAPTUREvePREVIEW|VIDEO_CAPTURE'e izin verin.VIDEO_CAPTUREhedefleyen efektlerVideoCaptureUseCase'e uygulanır.PREVIEW|VIDEO_CAPTUREhedefleyen efektler, Önizleme veVideoCaptureakışına kopyalanmadan önce paylaşılan bir akışa uygulanır. (Iee6f3)
Hata Düzeltmeleri
- Kamera
1.2.2: Pixel gibi bazı cihazlarda proguard etkinleştirildiğinde CameraX uzantılarının düzgün çalışmaması sorunu düzeltildi (I90aa2). - Uygulama, ekran yönünü kendisi yönetiyorsa döndürme sırasında önizlemenin bozulmasına neden olan bir
PreviewViewhatası düzeltildi. Bu durum yalnızca belirli cihazlarda yaşanır. Pixel 4a, Pixel 5 ve Pixel 6a'da yeniden üretilebilir. (I14340, b/223488673)
Sürüm 1.3.0-alpha04
22 Şubat 2023
androidx.camera:camera-*:1.3.0-alpha04 yayınlandı. 1.3.0-alpha04 sürümü bu commit'leri içerir.
Yeni özellikler
Bir akışı birden fazla UseCase ile paylaşarak daha önce desteklenmeyen Surface kombinasyonlarını destekleyen yeni bir özellik.
- Daha önce, "Preview, VideoCapture, ImageAnalysis"i FULL ve altındaki kamera donanım seviyesine veya "Preview, VideoCapture, ImageCapture"ı LEGACY donanım seviyesine bağlarken CameraX,
IllegalArgumentExceptionhatası veriyordu. - Yeni davranış, bağlamaların istisna oluşturmadan çalışmasıdır. Bunun yerine CameraX, paylaşılan bir akışı hem Önizleme'ye hem de VideoCapture'a kopyalamak için OpenGL'yi kullanır.
- Arabellek kopyasının maliyeti nedeniyle uygulamada gecikme ve güç tüketimi artabilir.
API Değişiklikleri
ImageProxydeğeriniBitmapdeğerine dönüştürmek için API ekleyin. DesteklenenImageProxybiçimiImageFormat.YUV_420_888vePixelFormat.RGBA_8888'dir. Biçim geçersizseIllegalArgumentExceptionhatası verilir. (Ic7110)- Kotlin'de askıya alma işlevlerini kullanarak vizör yapılandırmayı desteklemek için
CoroutineCameraViewfinderekleyin. (I657bc) ViewfinderSurfaceRequestiçin yeni bir herkese açık kurucu ekleyin. KullanıcıCameraCharacteristicssağlayamadığında esneklik sunar. (Ie6549)
Hata Düzeltmeleri
- Uygulama çok hızlı bir şekilde duraklatılıp devam ettirildiğinde bazı Samsung cihazlarda meydana gelen uzantı kilitlenmesi düzeltildi (Iaca26).
Sürüm 1.3.0-alpha03
25 Ocak 2023
androidx.camera:camera-*:1.3.0-alpha03 yayınlandı. 1.3.0-alpha03 sürümü şu taahhütleri içerir:
API Değişiklikleri
- Varsayılan kameraya göre görüş açısı bilgisi sağlamak için
CameraInfo.getIntrinsicZoomRatioeklendi. (Ib300c) - Lens yönü bilgilerini sağlamak için
CameraInfo.getLensFacingeklendi. Harici kameraları seçmek için deneysel bir özellik olarakCameraSelector#LENS_FACING_EXTERNALeklendi. (Icaf3e) - Kamera çıkışına efekt eklemeye olanak tanıyan
#setEffect()özelliğiniCameraControllercihazına ekleyin. (I1d21f) SurfaceRequestiçininvalidate()yöntemi eklendi. Yüzey sağlayıcı, daha önce sağlanan yüzeyin artık geçerli olmadığını bildirebilir. (Idc649)ImageProcessorAPI'si ekleyin. Bu arayüz, son işleme efektleriniImageCaptureardışık düzenine eklemek için kullanılır. (I575c6)- Daha fazla video çözünürlüğünü desteklemek için
QualitySelectorile birleştirilebilen APIRecorder.Builder.setAspectRatio()eklendi. (I8a082) - Hedef Video Kodlama'yı
BitRateayarlamak içinRecorder.Builder#setTargetVideoEncodingBitRateve Hedef Video Kodlama Bit Hızı'nı almak içinRecorder#getTargetVideoEncodingBitRateeklendi. (I5984d)
Hata Düzeltmeleri
- Flaş birimi olmadığında ve flaş modu açıkken
ImageCaptureişleminin başarısız olması sorunu düzeltildi. (I9e8b4, b/263391112) - Bazı Samsung Android 12 cihazlarda Exif konum verileri yazılırken JPEG resimlerin bozulması sorunu düzeltildi. (Ib7086, b/263747161, b/263289024)
- Kamera başlatma işlemi tamamlanmadan önce fener/yakınlaştırma önceliği ayarlanırken (ör.
CameraController#enableTorchçağrılırken) bekleyen işlem önbelleğe alınır ve başlatma işlemi tamamlandıktan sonra gönderilir. (I11e92, b/264157663)
Sürüm 1.3.0-alpha02
7 Aralık 2022
androidx.camera:camera-*:1.3.0-alpha02 yayınlandı. 1.3.0-alpha02 sürümü bu kayıtları içerir.
API Değişiklikleri
- Önizleme çıkışına son işleme efekti uygulamak için yeni bir API ekleyin. (Ic17d5)
OutputOptions.getDurationLimit,OutputOptions.getDurationLimitMillisolarak veOutputOptions.setDurationLimit,OutputOptions.setDurationLimitMillisolarak yeniden adlandırıldı. (I91f0c)- Video kaydederken sesle ilgili ayarları yönetmek için
AudioConfigsınıfını ekleyin. Sesin gerekli olmadığı durumlarda gereksiz izin isteklerini önlemek için@RequiresPermissionek açıklaması,startRecordingişlevlerindenAudioConfigişlevlerine taşındı. (I28755) - Yeni video yakalama API'si uygulandıktan sonra artık kullanılmayan Metadata,
OnVideoSavedCallback,OutputFileOptionsveOutputFileResultssınıflarını kaldırın. (I38cd8) - Yeni video yakalama API'sini uygulayın.
setTargetResolutionartık desteklenmediğindengetVideoCaptureTargetSizevesetVideoCaptureTargetSizeyöntemleri, sırasıylagetVideoCaptureTargetQualityvesetVideoCaptureTargetQualityyöntemleriyle değiştirildi. (I2a1d5)
Hata Düzeltmeleri
- Desteği sonlandırılan
core.VideoCaptureAPI'yi kaldırın. (I531e0) - Depolama alanı izni olmadan fotoğraf çekilirken
onErrorgeri çağırma işlevinin çağrılmaması sorunu düzeltildi.(I936db, b/244807669) - Kamera uzantılarının kalitesini ve güvenilirliğini artırma Bokeh desteği, Resim Yakalama ve önizlemenin devam etmemesiyle ilgili sorunlar nedeniyle, Kamera Uzantıları v1.1.0 ve daha eski sürümleri kullanan Motorola cihazlarda kamera uzantıları devre dışı bırakıldı. (Id3ce3)
- Eski cihazlarda
ViewPortüzerinden video kırpma etkinleştirildiğinde meydana gelen yerel kilitlenme sorunu düzeltildi. (I16b8a, b/251357665)
Sürüm 1.3.0-alpha01
9 Kasım 2022
androidx.camera:camera-*:1.3.0-alpha01 yayınlandı. 1.3.0-alpha01 sürümü bu kayıtları içerir.
Yeni özellikler
Camera-viewfinderresmi olarak yayınlandı.Camera-viewfinder, Camera2 için kamera feed'ini gösterebilen temel bir vizör widget'ı sağlar. Örnek için lütfen örnek kodu inceleyin.
API Değişiklikleri
- Video süresi sınırının ayarlanmasına izin vermek için
OutputOptions.setDurationLimiteklendi. Belirtilen süre sınırı aşıldığında kayıt otomatik olarak tamamlanır. (I902a0) - Video kaydı ses hatası durumu
AudioStats.AUDIO_STATE_SOURCE_ERROReklendi. Ses kaynağı kurulumu başarısız olduğunda veya bir hata oluştuğunda gönderilir. (I37410)
Hata Düzeltmeleri
- Sorunlu bazı cihazların, yakalama hatalarıyla karşılaştığında yakalama işlemini bir kez daha denemesine olanak tanıyan bir özellik eklendi. (Id4795)
ViewPager2cihazındaPreviewViewSurfaceViewuygulamasının siyah ekran sorununu düzeltme Düzeltme kapsamında, istenen çözünürlük değiştirilmezsePreviewView,SurfaceViewdeğerini yeniden kullanır. (Ib3f27)ViewPortveyaCameraControllerAPI'si kullanıldığında video kırpma (WYSIWYG özelliği) desteklenir. (Ifbba8, b/201085351)- Huawei P40 lite'ta ön kamerayla çekilen sabit videonun kaydedilememesi sorunu düzeltildi. (I87c57, b/250807400)
Sürüm 1.2
Sürüm 1.2.3
24 Mayıs 2023
androidx.camera:camera-*:1.2.3 yayınlandı. 1.2.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
VideoCaptureuygulamasının bazı cihazlarda ön kamerayla çalışamamasına neden olan sorun düzeltildi. Örneğin, Samsung Galaxy S23 ve Xiaomi 2107113SG. (Ibec7e, b/270656244)
Sürüm 1.2.2
22 Mart 2023
androidx.camera:camera-*:1.2.2 yayınlandı. 1.2.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Pixel gibi bazı cihazlarda ProGuard etkinleştirildiğinde CameraX uzantılarının düzgün çalışmaması sorunu düzeltildi (I90aa2).
Sürüm 1.2.1
25 Ocak 2023
androidx.camera:camera-*:1.2.1 yayınlandı. 1.2.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Bazı Samsung Android 12 cihazlarda Exif konum verileri yazılırken JPEG resimlerin bozulması sorunu düzeltildi. (b/263289024)
Sürüm 1.2.0
7 Aralık 2022
androidx.camera:camera-*:1.2.0 yayınlandı. 1.2.0 sürümü bu commit'leri içerir.
1.1.0 sürümünden sonra yapılan önemli değişiklikler
- Yeni kitaplık camera-mlkit-vision. CameraX'i barkod tarama, yüz algılama, metin algılama gibi birçok MLKit özelliğiyle kolayca entegre edin.
MLKitAnalyzeryeni API'ler olarak eklendi. - Yeni deneysel sıfır deklanşör gecikmesi API'si. Yakalama hattını, iyi resim kalitesini korurken daha iyi gecikme süresi sağlayacak şekilde optimize eder. Yakalama modu
CAPTURE_MODE_ZERO_SHUTTER_LAGolarak ayarlandığında, deklanşör düğmesinin tıklanması ile fotoğrafın çekilmesi arasındaki gecikmenin diğer yakalama modlarına kıyasla en aza indirilmesi beklenir.ZERO_SHUTTER_LAGözelliğini desteklemeyen cihazlardaCAPTURE_MODE_MINIMIZE_LATENCYkullanılır. android.camera.core.VideoCapturedesteği sonlandırıldı.setStreamUseCase(), herkese açık birCamera2InteropAPI olarak eklendi.setOutputImageRotationEnablediçin API düzeyi şartı eklendi.ImageAnalysis.Analyzer#getTargetResolutionOverride(),ImageAnalysis.Analyzer#getDefaultTargetResolution()olarak yeniden adlandırıldı.- Kaydedilen videoya konum meta verilerini ayarlamak için API eklendi.
- 16:9 en boy oranıyla
VideoCaptureve önizleme kullanım alanları kullanılırken görülen düşük kare hızı sorunu düzeltildi. - Bazı Samsung cihazlarda BOKEH uzantısı etkinleştirildiğinde ve kullanıcı kameralar arasında geçiş yaptığında ortaya çıkan siyah önizleme sorunu düzeltildi.
- API düzeyi 27 cihazlarda Samsung J7 Prime (SM-G610M) ve J7 (SM-J710MN)
Preview/VideoCaptureuzatılmış sorunu düzeltildi. - Sorun düzeltildiği için Samsung Android T'de ön kameraların AF bölgesini yatay olarak çevirme geçici çözümü devre dışı bırakıldı.
Sürüm 1.2.0-rc01
24 Ekim 2022
androidx.camera:camera-*:1.2.0-rc01 yayınlandı. 1.2.0-rc01 sürümü bu kayıtları içerir.
API Değişiklikleri
OutputConfigurationiçinsetStreamUseCaseAPI'sini ekleyin. Kullanıcı, akış oturumu için Akış Kullanım Alanı'nı belirtebilir ve CameraX'in Akış Kullanım Alanı'nı seçmek için kullandığı dahili mantığı geçersiz kılarak ihtiyacına göre optimizasyon yapabilir. (Ib1a95)
Hata Düzeltmeleri
- API düzeyi 27 cihazlarda Samsung J7 Prime (SM-G610M) ve J7 (SM-J710MN)
Preview/VideoCaptureuzatılmış sorunu düzeltildi. 1920x1080 çözünürlük,Preview/VideoCaptureresimlerin uzatılmasına neden olur. Görüntünün uzaması sorununu önlemek için Önizleme veyaVideoCaptureiçin 1920x1080 çözünürlüğün seçilmemesiyle ilgili geçici çözüm eklendi. (I0e04e) - Bazı Huawei cihazlarda 16:9 en boy oranıyla
VideoCaptureve önizleme kullanım alanları kullanılırken görülen düşük kare hızı sorunu düzeltildi. (If8c88, b/223643510) - Önizleme'nin
SurfaceProviderdeğeri ayarlanmadığında kameranın açılmaması sorunu düzeltildi. Düzeltme kapsamında,SurfaceProviderayarlanmamış önizleme artık kamera yakalama oturumunda yapılandırılmayacak. (I99681)
Sürüm 1.2.0-beta02
21 Eylül 2022
androidx.camera:camera-*:1.2.0-beta02 yayınlandı. 1.2.0-beta02 sürümü bu kayıtları içerir.
API Değişiklikleri
setOutputImageRotationEnablediçin API düzeyi şartı eklendi (I26e3e, b/240993561)
Hata Düzeltmeleri
- Sorun düzeltildiği için Samsung Android T'de ön kameraların AF bölgesini yatay olarak çevirme geçici çözümü devre dışı bırakıldı. (I05f69)
- Bazı Samsung cihazlarda
BOKEHuzantısı etkinleştirildiğinde ve kullanıcı kameralar arasında geçiş yaptığında ortaya çıkan siyah önizleme sorunu düzeltildi. (If6168)
Sürüm 1.2.0-beta01
24 Ağustos 2022
androidx.camera:camera-*:1.2.0-beta01 yayınlandı. 1.2.0-beta01 sürümü bu kayıtları içerir.
Yeni özellikler
- Yeni kitaplık
camera-mlkit-vision. CameraX'i barkod tarama, yüz algılama, metin algılama gibi birçok MLKit özelliğiyle kolayca entegre edebilirsiniz. Örnek kodu burada bulabilirsiniz. - Yeni deneysel Zero-Shutter Lag API. Yakalama hattını, iyi resim kalitesini korurken daha iyi gecikme süresi sağlayacak şekilde optimize eder. Yakalama modu CAPTURE_MODE_ZERO_SHUTTER_LAG olarak ayarlandığında, deklanşör düğmesinin tıklanması ile fotoğrafın çekilmesi arasındaki gecikmenin diğer yakalama modlarına kıyasla en aza indirilmesi beklenir. ZERO_SHUTTER_LAG'i desteklemeyen cihazlarda CAPTURE_MODE_MINIMIZE_LATENCY'ye geri döner.
ImageAnalysis.AnalyzerveMLKitAnalyzerresmi API'ler olarak kullanıma sunuldu.- Konum meta verilerini kaydedilen videoya ayarlamak için API kullanıma sunuldu.
ImageAnalysis.Analyzer#getTargetResolutionOverride()adlı öğeyiImageAnalysis.Analyzer#getDefaultTargetResolution()olarak yeniden adlandırın.
Hata Düzeltmeleri
- Alps k61v1_basic_ref Resim Yakalama sorunu düzeltildi. HAL'den yakalanan JPEG resimlerde yanlış Exif meta verileri var. Exif meta verilerinde,
ExifInterfaceuygulamasının özellikleri doğru şekilde ayrıştırmasını sağlayacak 0xffd9 veya 0xffda etiketi yok. Bu sorunu çözmek için görüntüleri YUV biçiminde yakalayıp JPEG çıkış görüntülerine sıkıştırın. (I45abb)
Sürüm 1.2.0-alpha04
27 Temmuz 2022
androidx.camera:camera-*:1.2.0-alpha04 yayınlandı. 1.2.0-alpha04 sürümü bu kayıtları içerir.
API Değişiklikleri
ImageAnalysis.Analyzer#getTargetResolutionOverride()adlı öğeyiImageAnalysis.Analyzer#getDefaultTargetResolution()olarak yeniden adlandırın. Davranış da bu yöntem tarafından döndürülen değerinImageAnalysis#setTargetResolution()değeriyle geçersiz kılınabileceği şekilde değiştirildi. (If1d36)- Konum meta verilerini kaydedilen videoya ayarlamak için API kullanıma sunuldu.
android.location.Locationnesnesi, yeni APIandroidx.camera.video.OutputOptions.Builder.setLocation(Location)aracılığıyla ayarlanabilir. (I313a0, b/204197544)
Hata Düzeltmeleri
- Bağlantısız önizlemeyle fotoğraf çekme sorunu düzeltildi (Ie70b6, b/235119898)
- Ses kaynağı kullanılamıyorken kayıt yapmaya çalışıldığında
Recorderuygulamasının kilitlenmesine neden olan sorun düzeltildi. (I9f652)
Sürüm 1.2.0-alpha03
29 Haziran 2022
androidx.camera:camera-*:1.2.0-alpha03 yayınlandı. 1.2.0-alpha03 sürümü bu kayıtları içerir.
API Değişiklikleri
ImageAnalysis.AnalyzerveMLKitAnalyzeriçin deneysel ek açıklama kaldırıldı. (I0ff22)
Hata Düzeltmeleri
FocusMeteringActioniptal edilmezse ve AF kısmı bu süre içinde birleşmezse AF kısmınıisFocusSuccessfulfalse ile tamamlayacak 5.000 ms'lik otomatik odaklama varsayılan zaman aşımı eklendi. (Ibc2e3)- Bağlantısız önizlemeyle fotoğraf çekme sorunu düzeltildi (I1d3a2, b/235119898)
- Gelişmiş genişletici uygulaması etkinleştirildi ve CameraX destek uzantıları arayüzü sürümü 1.2'ye güncellendi (I92256).
Sürüm 1.2.0-alpha02
1 Haziran 2022
androidx.camera:camera-*:1.2.0-alpha02 yayınlandı. 1.2.0-alpha02 sürümü bu kayıtları içerir.
Yeni özellikler
- CameraX Zero-Shutter Lag API'yi deneysel olarak kullanıma sunma
API Değişiklikleri
ImageCaptureiçinde yeni yakalama moduCAPTURE_MODE_ZERO_SHUTTER_LAGve cihaz özelliğini sorgulamak içinCameraInfoiçindeisZslSupportedeklendi.CAPTURE_MODE_ZERO_SHUTTER_LAGmodu, anında çekim için minimum gecikme süresi sağlamayı amaçlar. Bu özellik, kullanıcı fotoğraf çekmek için düğmelere bastığında daha sonra yeniden işlenmek üzere ara çekim sonuçlarını önbelleğe alan bir halka arabelleğe göre uygulanır. {@link VideoCapture} bağlıysa veya flaş modu KAPALI değilse ya da OEM Uzantısı AÇIK ise bu mod otomatik olarak devre dışı bırakılır. (I9ae74)ImageAnalysis.getBackgroundExecutor()yöntemi ekle (Icc945)
Hata Düzeltmeleri
- Bildirilen cihazlarda
ImageCapturetakePicture yönteminin feneri kapatması sorunu düzeltildi. (Ib5eb5, b/228272227) CONTROL_ZOOM_RATIO_RANGEözelliği alınırkenAssertionErrorhatasının işlenmemesine neden olan bir hata düzeltildi.(/Ia248a, b/231701345)
Sürüm 1.2.0-alpha01
18 Mayıs 2022
androidx.camera:camera-*:1.2.0-alpha01 yayınlandı. 1.2.0-alpha01 sürümü şu taahhütleri içerir:
Yeni özellikler
- Yeni camera-mlkit-vision kitaplığı kullanıma sunuldu.
Hata Düzeltmeleri
- Yedek strateji etkinleştirildiğinde
QualitySelectoruygulamasının UHD video kaydetmemesi sorunu düzeltildi. Bu sorun,VideoCapture,ImageCaptureile bağlıyken ve FULL veya daha yüksek donanım seviyesine sahip bir kamera cihazında önizleme yapıldığında ortaya çıkar.QualitySelectoryedek stratejisi,VideoCapturecihazının yanlışlıkla FHD çözünürlük almasına neden oluyor. UHD çözünürlük, bu kullanım alanı kombinasyonu için desteklenir ve kullanılmalıdır. (I0e788, b/230651237) ImageCapture.takePicture()tarihindeNullPointerExceptionsabitlendi. (I92366, b/230454568, b/229766155)androidx.camera.video.Recorderöğesinin eşzamansız duraklatma davranışını düzeltme (Ia8ce8)
Camera-Camera2, Camera-Core, Camera-Lifecycle ve Camera-Video 1.1.0 sürümü
Sürüm 1.1.0
29 Haziran 2022
androidx.camera:camera-*:1.1.0 yayınlandı. 1.1.0 sürümü bu commit'leri içerir.
1.0.0 sürümünden sonra yapılan önemli değişiklikler
- View, Extension ve Video Capture kitaplıkları ilk RC sürümü olarak kullanıma sunuldu. 1.1.0-beta01 sürümünden itibaren tüm CameraX kitaplıkları aynı sürüm numarasını kullanacaktır. Bu sayede geliştiriciler, sürümleri çok daha kolay takip edebilecek ve büyük sürüm uyumluluk matrislerinin karmaşıklığı azalacak.
- Aşağıdakiler de dahil olmak üzere yeni herkese açık API'ler ve özellikler kullanıma sunuldu:
- Video çekimi kullanım alanlarını desteklemek için resmi camera-video kitaplığını ekleyin.
- YUV'den RGB'ye dönüştürme ve döndürme özelliği (
ImageAnalysis.Builder.setOutputImageRotationEnabledvesetOutputImageFormat) - 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
CameraStateAPI'si eklendi. - Kullanılabilir kameralar hakkında doğrudan bilgi almak için bir API
ProcessCameraProvider.getAvailableCameraInfos()eklendi. - Uzantılar etkinleştirildiğinde
ImageCapture#OnImageCapturedCallbackiçin JPEG biçiminde çıkış yap. CameraInfoiçinde, uygulamaların belirli birFocusMeteringActiondeğerinin mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyan bir APIisFocusMeteringSupportedeklendi.- Önizleme,
ImageCaptureveImageAnalysisiçin çözünürlük bilgilerini sağlayangetResolutionInfoAPI'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#setJpegQualityeklendi. CameraInfoslistesiniCameraSelectorölçütüne göre filtrelemek için herkese açık API'yeCameraSelector#filtereklendi.- Mevcut yakalama isteği seçeneklerini temizlemek için
Camera2CameraControl.clearCaptureRequestOptionseklendi. CameraController'i harici görüntü işleme kitaplıklarıyla (ör. MLKit) kullanmak için deneysel bir API eklendi.- Kamerasına özgü bir
CameraSelectordöndüren deneysel APICameraInfo#getCameraSelector()eklendi. - Birkaç deneysel API, resmi herkese açık API'lere yükseltildi.
- Deneysel API'lerdeki
@Experimentalek açıklaması@RequiresOptInile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılan androidx.annotation.experimental.UseExperimental yerine androidx.annotation.OptIn'i kullanın. CameraXConfig.Builder#setAvailableCamerasLimiter(),CameraXConfig.Builder#setMinimumLoggingLevel(),CameraXconfig.Builder#setSchedulerHandler(),CameraXConfig#getAvailableCamerasLimiter(),CameraXConfig#getMinimumLoggingLevel(),CameraXConfig#getCameraExecutor(),CameraXConfig#getSchedulerHandler()deneysel API'leri resmi API'lere yükseltildi.@ExperimentalCameraFilterAPI'leri- deneysel pozlama telafisi API'leri.
- camera-core, camera-lifecycle ve camera-video için deneysel
UseCaseGroupAPI'yi yükseltti. Görüntü alanını özelleştirmek içinViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirectionveViewPort.Builder#setScaleTypeeklendi. ExperimentalUseCaseGroupLifecycle, resmi herkese açık API'lere yükseltildi.- Mevcut API'lerde yapılan değişiklikler
Renamed MediaStoreOutputOptions.getCollectionMediaStoreOutputOptions.getCollectionUrikullanıcısına haklar atanırken hata oluştu.- "
ActiveRecording" ifadesi, daha kısa olması için "Kayıt" olarak değiştirildi. QualitySelectoroluşturucu API'si, liste tabanlı bir API olarak değiştirildi.
Hata Düzeltmeleri
- Uzantı modu etkinleştirildiğinde ve
ImageCapture#CAPTURE_MODE_MAX_QUALITYmodu ayarlandığında ortaya çıkanYuvToJpegProcessorEOFExceptionsorunu düzeltildi. - Video kaydı kapatıldığı için codec yapılandırmasının başarısız olması sorunu düzeltildi.
- FHD çözünürlükte kayıt yaparken önizleme/video en-boy oranının uzatılması sorunu düzeltildi.
- Bazı cihazlarda duraklatma ve devam ettirme işleminden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi.
- Düşük ışıklı ortamlarda flaş modu otomatik veya her zaman açık olarak ayarlandığında, dokunarak odaklama (
startFocusAndMetering) sırasında flaşın tetiklenmesi sorunu düzeltildi.
Sürüm 1.1.0-rc02
1 Haziran 2022
androidx.camera:camera-*:1.1.0-rc02 yayınlandı. 1.1.0-rc02 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
ImageCapture.takePicture()tarihindeNullPointerExceptionsabitlendi. (I92366, b/230454568, b/229766155)CONTROL_ZOOM_RATIO_RANGEözelliği alınırkenAssertionErrorözelliğinin işlenmemesine neden olan hata düzeltildi. (Ia248a, b/231701345)
Sürüm 1.1.0-rc01
11 Mayıs 2022
androidx.camera:camera-*:1.1.0-rc01 yayınlandı. 1.1.0-rc01 sürümü bu commit'leri içerir.
Yeni özellikler
- camera-video, camera-view ve camera-extension için ilk RC sürümünü yayınlama
Hata Düzeltmeleri
VideoCapture<Recorder>bağlantısı kaldırıldığında video codec'inin serbest bırakılmaması nedeniyle, özellikle API 21-22 cihazlardaVideoCapture<Recorder>'nin sonraki kullanımlarındaMediaCodec.CodecExceptionile kaydetme işleminin başarısız olmasına neden olan bir sorun düzeltildi. (Ie7f68)ImageCaptureTestuygulamasındaCameraExtensionsActivityile çekilen resimlerin silinmemesi sorunu düzeltildi.
1.1.0-beta03 sürümü
6 Nisan 2022
androidx.camera:camera-*:1.1.0-beta03 yayınlandı. 1.1.0-beta03 sürümü bu kayıtları içerir.
API Değişiklikleri
CaptureRequestOptionsoluşturucusu kısıtlandı. (I261b6)CameraControlleröğesini harici görüntü işleme kitaplıklarıyla (ör. MLKit) kullanmak için deneysel bir API eklendi (I4ea71).
Hata Düzeltmeleri
- Çoklu pencerede cihazlar döndürüldükten sonra etkinlik yeniden başlatılmadığında
PreviewViewuygulamasında önizlemenin yan dönmesine neden olan sorun düzeltildi. (I1ea36, b/223488673) - (1) Önceliği yüksek başka bir uygulama farklı bir kamera açtığında ve (2) cihaz Samsung Android 12 olduğunda, odak tekrar uygulamaya döndüğünde kameranın devam ettirilememesine neden olan çoklu pencere sorunu düzeltildi. (I7e9f2)
- Flaşın kullanılabilirliği kontrol edilirken kilitlenen cihazlar için geçici çözüm eklendi. Bu cihazlarda el feneri kullanılamaz. (If26a3, b/216667482)
- Uygulamalar uzantıları kullanırken ve ProGuard'ı etkinleştirirken oluşan
AbstractMethodErrorsorunu düzeltildi. (I7cbaf, b/222726805) - Motorola razr 5G cihazda bokeh uzantı modunu zorunlu olarak devre dışı bırakma. Bu mod, önizleme ekranının siyah görünmesine neden olur. (I35d49)
- API 29 öncesi bazı Samsung cihazlarda duraklatma ve devam ettirme işleminden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi. (I64622, b/202798609, b/202798572)
- Sony G3125'te duraklatma ve devam ettirme işleminden sonra ses/video senkronizasyonunun bozulması sorunu düzeltildi. (I2a1a5, b/202799148)
- Kaydedici'nin
InvalidConfigExceptionile karşılaştığında kilitlenmesine neden olan sorun düzeltildi. Ancak bu düzeltme yalnızca uygulamanın kilitlenmesini önler,InvalidConfigExceptionhatasının nedenini çözmez.Recorderhâlâ yapılandırılamıyorsa uygulamalar, kayıt başlatıldığında hata geri çağırma işlevi alır. (I89c29, b/213617227)
Harici Katkı
- test-coroutines-lib taşıma işlemi nedeniyle :compose:ui:ui-test API'si (updateApi) güncellendi (I3366d)
Sürüm 1.1.0-beta02
23 Şubat 2022
androidx.camera:camera-*:1.1.0-beta02 yayınlandı. 1.1.0-beta02 sürümü bu kayıtları içerir.
API Değişiklikleri
- Camera2Interop aracılığıyla fiziksel kamera kimliğini belirtme özelliği eklendi. (I5aed8)
Hata Düzeltmeleri
- Oppo Find N'de önizlemenin uzatılması sorunu düzeltildi (I7d004).
- Galaxy J7 Prime'da önizlemenin bozuk görünmesine neden olan sorun düzeltildi. (I4c500)
- Video kodlayıcıyı bulmak için uyumlu bit hızını kullanın. (d969052)
Sürüm 1.1.0-beta01
26 Ocak 2022
androidx.camera:camera-*:1.1.0-beta01 yayınlandı. 1.1.0-beta01 sürümü bu kayıtları içerir.
Yeni özellikler
- 1.1.0-beta01 sürümünden itibaren tüm CameraX kitaplıkları aynı sürüm numarasını kullanacaktır. Bu sayede geliştiriciler sürümleri çok daha kolay takip edebilir ve büyük sürüm uyumluluk matrisinin karmaşıklığı azalır.
API Değişiklikleri
- Mevcut yakalama isteği seçeneklerini temizlemek için
Camera2CameraControl.clearCaptureRequestOptionseklendi. (Ifa07d)
Hata Düzeltmeleri
- Android O(API 26) öncesi bazı cihazlarda video kaydederken oluşan kilitlenme sorunu düzeltildi. (I88fdf, b/212328261)
- Samsung cihazlarda ön kamerada
cameraControl#startFocusAndMetering()kullanılırken ortaya çıkan yanlış AF bölgesi sorunu düzeltildi (Ifbf59, b/210548792). - Karanlıkta hızı ve çekilen resim kalitesini artırmak için Pixel 3a/Pixel 3a XL'de flaş olarak el fenerini kullanma (Ib12b6, b/211474332)
- Çoklu pencere modunda kamera daha yüksek öncelikli başka bir uygulama tarafından kesintiye uğratıldığında ve odak tekrar uygulamaya döndüğünde uygulamaların kamerayı devam ettirmesi sağlandı. Çerçeveyle ilgili bir sorun nedeniyle odak değişiklikleri ile kameranın yeniden açılması arasında bir miktar gecikme(1 saniye ila 10 saniye veya daha fazla) olabileceğini lütfen unutmayın. (I4d092)
Sürüm 1.1.0-alpha12
15 Aralık 2021
androidx.camera:camera-*:1.1.0-alpha12 yayınlandı. 1.1.0-alpha12 sürümü bu kayıtları içerir.
API Değişiklikleri
- Dahili sınıflardan/arayüzlerden gereksiz
@RequiresApi(21)ek açıklamaları kaldırıldı. (I8e286, b/204917951) QualitySelectorsınıfının kalite sabitleri ve yedek strateji sabitleri, sınıf nesneleriyle temsil edilecek şekilde değiştirildi. Örneğin,QualitySelector.QUALITY_HD,Quality.HDolarak değiştirilir veQualitySelector.FALLBACK_STRATEGY_LOWER,FallbackStrategy.lowerQualityOrHigherThan(Quality)tarafından döndürülen örnek olarak değiştirilir.QualitySelectoroluşturmak için kullanılan API, liste tabanlı bir API olarak değiştirildi. Yeni APIQualitySelector.fromOrderedList(List<Quality>),QualitySelector.Proceduretarafından oluşturulan sıra yerine giriş kalitesi listesinin sırasını referans alır.QualitySelector.Proceduresınıfı kaldırıldı. (I43343)PendingRecording.withEventListener()kaldırıldı ve etkinlik işleyici artıkPendingRecording.start()öğesine iletilmelidir. Bu etkinlik işleyici şartı,VideoRecordEvent.Finalizeetkinliğinde bildirilen eşzamansız hataların işlenmesini teşvik etmek için tasarlanmıştır. (I1e71d)ActiveRecording, daha kısa olması içinRecordingolarak yeniden adlandırıldı. (I77ceb)
Hata Düzeltmeleri
- Pixel 3a ve Pixel 3a XL'de
FLASH_AUTOmodunda çekilen fotoğrafların karanlık ortamlarda az pozlanmasına neden olan sorun düzeltildi (I13f19, b/205373142). - Önizlemeyi belirlemek için her zaman en yeni görüntü boyutunu kullanın
Resolution. (I4a694) REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEözelliği olmayan kameralar filtrelendi.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEiçeren kameralar, her kamera cihazının desteklediği minimum özellik grubuna sahiptir.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEolmayan kamera, özel işlevleri destekleyen bir kamera olabilir ve standart renk çıkışını desteklemez.CameraX, bu kameralar içinPreview,ImageCapture,ImageAnalysisveyaVideoCapturekullanım alanlarını destekleyemez. Bu nedenle, yanlış kullanımı önlemek için bu kameralar filtrelenmelidir. (Ib8cda)CameraSelector#filter, sonuç kümesi boş olduğunda artıkIllegalArgumentExceptionhatası vermiyor. (I27804)- OEM tarafından belirtilen profillere göre kodlayıcı ayarlarını seçmek için artık daha akıllı sezgisel yöntemler kullanılıyor. (Iaeef0)
- Pixel 1'de UHD video kaydı başlatıldıktan sonra önizlemede geçişli renk çizgileri görünmesi sorunu düzeltildi. (I833c6, b/205340278)
Sürüm 1.1.0-alpha11
17 Kasım 2021
androidx.camera:camera-*:1.1.0-alpha11 yayınlandı. 1.1.0-alpha11 sürümü bu kayıtları içerir.
API Değişiklikleri
- CameraSelector'a dayalı bir CameraInfo listesini filtrelemek için herkese açık API'ye CameraSelector#filter eklendi. (I105d0)
ImageAnalysis yapılandırması için setOutputImageRotationEnabled API'si eklendi. Kullanıcı, YUV/RGB görüntü arabelleği için döndürmeyi etkinleştirebilir. Döndürme derecesi, görüntüyü önde tutmak için sensör dönüşüne ve hedef dönüşe göre hesaplanan göreceli bir dönüş değeridir.
ImageAnalysis yapılandırması için setOutputImageRotationEnabled API'si eklendi. Kullanıcı, YUV/RGB görüntü arabelleği için döndürmeyi etkinleştirebilir. Döndürme derecesi, görüntüyü önde tutmak için sensör dönüşüne ve hedef dönüşe göre hesaplanan göreceli bir döndürmedir.
ImageInfo'ya
getSensorToBufferTransformMatrixAPI'si eklendi. Döndürülen matris, sensör koordinatlarından arabellek koordinatlarına (yaniCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZEdeğerinden(0, 0, image.getWidth, image.getHeight)değerine) bir eşlemedir. Matris, koordinatları bir {UseCase} öğesinden diğerine eşlemek için kullanılabilir. Örneğin, ImageAnalysis ile algılanan yüzün koordinatlarını Preview ile eşleme. (I9ff1e)Fotoğraf çekerken çıkış JPEG resim sıkıştırma kalitesinin değiştirilmesine olanak tanıyan yeni bir API ImageCapture.Builder#setJpegQuality eklendi. (I8dcf4)
MediaStoreOutputOptions.getCollection, MediaStoreOutputOptions.getCollectionUri olarak yeniden adlandırıldı. (I16639)
Hata Düzeltmeleri
- Düşük ışıklı ortamlarda flaş modu otomatik veya her zaman açık olarak ayarlandığında, odaklamak için dokunma (startFocusAndMetering) sırasında flaşın tetiklenmesiyle ilgili sorun düzeltildi. (Id4c11)
- Gecikmeyi azaltmak için MINIMIZE_LATENCY modunda Pixel 2 XL / Pixel 3 XL'de HDR+ devre dışı bırakıldı. (Ib6270, b/203505523)
Harici Katkı
Sürüm 1.1.0-alpha10
13 Ekim 2021
androidx.camera:camera-*:1.1.0-alpha10 yayınlandı. 1.1.0-alpha10 sürümü bu commit'leri içerir.
Yeni özellikler
- Video için ilk alfa sürümü olarak
androidx.camera:camera-video:1.1.0-alpha10resmi olarak yayınlandı. Daha sonraki sürümlerde düzeltilecek bilinen birkaç sorun vardır.
API Değişiklikleri
- Tüm CameraX sınıflarına
@RequiresApi(21)ek açıklaması eklendi ve AndroidManifest.xml dosyasından minSdkVersion kaldırıldı. Bu sayede camera-core, minSdkVersion'si 21'den küçük olan ancak API 21 ve sonraki sürümleri temel alan kod yollarını koşullu olarak kullanmak isteyen uygulamalara kolayca entegre edilebilir. minSdkVersion 21 veya daha yüksek olan uygulamalarda bu değişiklik için herhangi bir işlem yapılması gerekmez. (Ie7f2e, b/200599470)
Hata Düzeltmeleri
- Uygulamanın, CameraCharacteristics oluşturulurken meydana gelen AssertionError'ı düzgün bir şekilde işleyebilmesi için InitializationException oluşturun. (Ibec79)
Sürüm 1.1.0-alpha09
29 Eylül 2021
androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09 ve androidx.camera:camera-lifecycle:1.1.0-alpha09 yayınlandı. 1.1.0-alpha09 sürümü bu kayıtları içerir.
API Değişiklikleri
- API'ler artık deneysel olmadığından ExperimentalUseCaseGroup ek açıklaması kaldırıldı. (I01ef5)
Hata Düzeltmeleri
MAXIMIZE_QUALITYmodunda çekilen fotoğrafların bulanık olmasıyla ilgili sorun düzeltildi. (I173a9, b/193823892)- Samsung Galaxy J5'te, karanlık ortamda flaş açık/otomatik olarak fotoğraf çekildikten sonra kameranın takılması sorunu düzeltildi (I3aab9).
- ImageCapture için kırpma gerektiğinde, kırpılan çıkış görüntüsünü ayarlanan yakalama moduna göre belirtilen JPEG kalite seviyesiyle sıkıştırır. Yakalama modu
CAPTURE_MODE_MINIMIZE_LATENCYise JPEG sıkıştırma kalitesi 95 olur. Yakalama moduCAPTURE_MODE_MAXIMIZE_QUALITYise JPEG sıkıştırma kalitesi 100 olur. (Ieb37c, b/142856426)
Sürüm 1.1.0-alpha08
18 Ağustos 2021
androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08 ve androidx.camera:camera-lifecycle:1.1.0-alpha08 yayınlandı. 1.1.0-alpha08 sürümü bu kayıtları içerir.
Yeni özellikler
- Görüntü analizi yapılandırması için setOutputImageFormat API'si eklendi. Kullanıcı, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 veya ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888'i seçebilir. Varsayılan olarak ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 seçilir. (I7902d)
API Değişiklikleri
- API'ler artık deneysel olmadığından ExperimentalUseCaseGroupLifecycle ek açıklaması kaldırıldı. (I17b85)
Hata Düzeltmeleri
- Huawei P20 Lite'ta önizleme ekranının çok parlak olması sorunu düzeltildi. Bu sorun yalnızca belirli özel önizleme çözünürlükleri büyük bir yakınlaştırma değeriyle birlikte kullanıldığında ortaya çıkar. (Idefce, b/192129158)
- Flaş modu FLASH_MODE_ON olarak ayarlandıktan kısa bir süre sonra fotoğraf çekildiğinde bazı cihazlarda flaşın çalışmaması sorunu düzeltildi. (Ieb49b)
- VideoCapture, ImageCapture ve Preview bağlıyken fotoğraf çekildiğinde Preview'un bir süre duraklamasına neden olan sorun düzeltildi. (I56197, b/193864120)
- ImageAnalysis'in 1080p'den daha yüksek bir çözünürlük seçmesine olanak tanır. LIMITED düzeyinin üzerindeki bir cihaz, Önizleme ve ImageCapture ile birlikte bağlandığında ImageAnalysis için RECORD boyutunda çözünürlüğü destekleyebilir. Bunun karşılığında, ImageCapture için seçilen çözünürlüğün de RECORD boyutunda bir çözünürlük olması gerekir. ImageAnalysis için RECORD boyutunda bir çözünürlük seçmek istiyorsanız hem ImageCapture hem de ImageAnalysis'te RECORD boyutunda bir hedef çözünürlük ayarlanmalıdır. Bu, uygulamanın ödün vermeyi açıkça anladığını ve ImageCapture'ın MAKSİMUM çözünürlüğe sahip olması yerine ImageAnalysis'in daha büyük bir çözünürlüğe sahip olmasını tercih ettiğini gösterir. KAYIT, MAKSİMUM boyutlar ve daha fazla bilgi için https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture adresini ziyaret edin. KAYIT boyutu, CamcorderProfile tarafından belirlenen, kamera cihazının desteklediği maksimum kayıt çözünürlüğünü ifade eder. MAKSİMUM boyut, kamera cihazının StreamConfigurationMap.getOutputSizes(int) yönteminden gelen biçim veya hedef için maksimum çıkış çözünürlüğünü ifade eder. (I1ee97, b/192911449)
- Çekilen resme Exif bilgilerini ekleyin. (I01ff0, b/193342619)
- ImageCapture'da, kaydetme konumu Dosya ise kaydedilen resmin URI'sini döndürün. (Ib5b49, b/149241379)
- Birçok cihazda flaşla çekilen görüntülerin karanlık olmasına neden olan sorun düzeltildi. (I4e510)
Sürüm 1.1.0-alpha07
21 Temmuz 2021
androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07 ve androidx.camera:camera-lifecycle:1.1.0-alpha07 yayınlandı. 1.1.0-alpha07 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Samsung Galaxy Note 5'te, karanlık ortamda flaş açık/otomatik olarak fotoğraf çekildikten sonra kameranın takılmasına neden olan sorun düzeltildi (If6871).
- Uzantı modu etkinleştirildiğinde ve
ImageCapture#CAPTURE_MODE_MAX_QUALITYmodu ayarlandığında ortaya çıkanYuvToJpegProcessorEOFException sorunu düzeltildi. (I538bd, b/192017012)
Sürüm 1.1.0-alpha06
30 Haziran 2021
androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06 ve androidx.camera:camera-lifecycle:1.1.0-alpha06 yayınlandı. 1.1.0-alpha06 sürümü bu kayıtları içerir.
API Değişiklikleri
- camera-core için deneysel pozlama telafisi API'lerini tanıtma (I08ee8)
- CameraInfo'ya, uygulamaların belirli bir FocusMeteringAction'ın mevcut kamerada desteklenip desteklenmediğini kontrol etmesine olanak tanıyan isFocusMeteringSupported API'si eklendi. (Ib45ae, b/188606490)
- Preview, ImageCapture ve ImageAnalysis için çözünürlük bilgilerini sağlamak üzere getResolutionInfo API'si kullanıma sunuldu. (I2b613, b/188600718)
- Aşağıdaki deneysel API'ler resmi API'lere yükseltildi: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- Bir dizi kameraya erişim sağlamak için CameraProvider arayüzü kullanıma sunuldu. (I1a7b1)
- camera-core, camera-lifecycle ve camera-video için deneysel UseCaseGroup API'yi tanıtın. Görüntü alanını özelleştirmek için
ViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirectionveViewPort.Builder#setScaleTypeeklendi. (I7cee8)
Sürüm 1.1.0-alpha05
2 Haziran 2021
androidx.camera:camera-camera2:1.1.0-alpha05, androidx.camera:camera-core:1.1.0-alpha05 ve androidx.camera:camera-lifecycle:1.1.0-alpha05 yayınlandı. 1.1.0-alpha05 sürümü bu kayıtları içerir.
API Değişiklikleri
Camera2CameraFiltersınıf kaldırıldı. Kamerayı CameraFilter'a göre seçmenizi ve gerekirse Camera2CameraInfo aracılığıyla CameraCharacteristics veya Camera2 ile ilgili diğer bilgileri almanızı öneririz. (Ib887c)ExperimentalCameraFilterAPI'leri artık deneysel aşamadan çıktı ve resmi API'ler haline geldi. Ek açıklamalı OptIn olmadan kullanılabilirler. (I4bc94)CameraInfo#getCameraState()üzerinden sunulan kamera durumu API'si eklendi. (Ia86b4)- Kamerasına özel bir CameraSelector döndüren deneysel API
CameraInfo#getCameraSelector()eklendi (I77f9f)
Hata Düzeltmeleri
- setZoomRatio ve setLinearZoom'da döndürülen ListenableFuture'un bazı Android 11 cihazlarda tamamlanamaması sorunu düzeltildi (I716d7).
- Kamera geçişini hızlandırma ve kamera cihazının hata oranını azaltma (I34c99)
- ExperimentalUseCaseGroupLifecycle, ExperimentalUseCaseGroup ile değiştirildi. (I3b2ef, b/159033688)
Sürüm 1.1.0-alpha04
21 Nisan 2021
androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04 ve androidx.camera:camera-lifecycle:1.1.0-alpha04 yayınlandı. 1.1.0-alpha04 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Birden fazla iş parçacığının aynı koleksiyona aynı anda erişmesinden kaynaklanan bellek sızıntısı düzeltildi. Bellek sızıntısı, etkinliğin veya parçanın bir önizleme örneği tarafından saklanmasına neden olabilir. (I7b4b8)
- Deneysel API'lerdeki
@Experimentalek açıklaması@RequiresOptInile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılanandroidx.annotation.experimental.UseExperimentalyerineandroidx.annotation.OptInkullanın. (Iff226) - Samsung Galaxy S7'de flaş açık/otomatik olarak ayarlandığında ImageCapture'ın soluk görüntüler çekmesi sorunu düzeltildi. (I30001)
- CameraInfo aracılığıyla kullanıma sunulacak bir CameraState API eklendi. (I75392)
Sürüm 1.1.0-alpha03
24 Mart 2021
androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03 ve androidx.camera:camera-lifecycle:1.1.0-alpha03 yayınlandı. 1.1.0-alpha03 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Uzantı modları etkinleştirildiğinde
ImageCapture#OnImageCapturedCallbackiçin JPEG biçiminde çıkış yapın. (I0d7b1) - UMIDIGI BISON cihazlarda başlatma hatası düzeltildi (I57d9e, b/180818665)
- PreviewView'da Samsung A3'ün uzatılmış önizlemesi düzeltildi. (Iacb30, b/180121821)
Sürüm 1.1.0-alpha02
24 Şubat 2021
androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02 ve androidx.camera:camera-lifecycle:1.1.0-alpha02 yayınlandı. 1.1.0-alpha02 sürümü şu commit'leri içerir:
API Değişiklikleri
- Mevcut kameralar hakkında doğrudan bilgi almak için bir API
ProcessCameraProvider.getAvailableCameraInfos()eklendi. Bu kameralar, cihazın tüm kameraları veyaCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)içinde sağlananCameraSelectortarafından seçilen kameralardır. (Ieac08)
Hata Düzeltmeleri
- CameraX artık ilk denemede kamerayı zorla açmaya çalışır. Bu durum, CameraX'in uygulaması daha yüksek önceliğe sahip olduğunda kamerayı diğer kamera istemcilerinden çalmasına neden olabilir. (Iab069, b/175820568)
- CameraXConfig'de setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olmasına neden olan sorun düzeltildi. (Ice307)
- Bu değişiklik, ImageAnalysis'te resim sırası dolduğunda istisnayı yakalar. Bu nedenle, kilitlenme yerine diğer kullanım alanlarının donduğunu veya yavaşladığını fark edebilirsiniz (ör. donmuş/yavaş önizleme). (Ic12da, b/175851631)
- Yalnızca Preview veya ImageCapture bağlıyken hataları bildirmek için ExtensionsErrorListener düzeltildi. (I5ae39)
- Resim çekmeden önce resmin kaydedildiği konumun doğrulanması kaldırıldı. Böylece ImageCapture performansındaki gerileme düzeltildi. Bu değişiklik yapıldıktan sonra, kaydetme hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtının alınması daha uzun sürer. (I1fd4e, b/177061560)
- "Dosya" türü OutputFileOptions ile ImageCapture performans gerilemesi düzeltildi. (I5164a, b/177061560)
- Dokümanlar, kitaplık kodundan
ProcessCameraProvider.configureInstance(...)kullanılmamasını önerecek şekilde güncellendi. (Ib8a9f)
Sürüm 1.1.0-alpha01
27 Ocak 2021
androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01 ve androidx.camera:camera-lifecycle:1.1.0-alpha01 yayınlandı. 1.1.0-alpha01 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- SM-G930T arka kamerasındaki JPEG'lerde aralıklı olarak bozuk görüntü verileri için geçici çözüm eklendi. (I52001, b/159831206)
- Önizleme için desteklenen tüm boyutların 640x480'den küçük ve ekran boyutunun 640x480'den büyük olduğu durumlarda ortaya çıkan
IllegalArgumentExceptionsorunu düzeltildi. (I2a63c, b/150506192) - Açıkça beyan edilmiş herkese açık kaynakları olmayan kitaplıklardaki kaynaklar (ör. public.xml aracılığıyla) artık varsayılan olarak gizlidir. (Ia1dcc, b/170882230)
Camera-Camera2, Camera-Core ve Camera-Lifecycle 1.0.2 sürümü
Sürüm 1.0.2
29 Eylül 2021
androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2 ve androidx.camera:camera-lifecycle:1.0.2 yayınlandı. 1.0.2 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
MAXIMIZE_QUALITYmodunda çekilen fotoğrafların bulanık olmasıyla ilgili sorun düzeltildi. (I173a9, b/193823892)- Birçok cihazda flaşla çekilen görüntünün karanlık olması sorunu düzeltildi. (I4e510)
Camera-Camera2, Camera-Core ve Camera-Lifecycle 1.0.1 sürümü
Sürüm 1.0.1
21 Temmuz 2021
androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1 ve androidx.camera:camera-lifecycle:1.0.1 yayınlandı. 1.0.1 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
setZoomRatiovesetLinearZoomiçinde döndürülenListenableFutureöğesinin bazı Android 11 cihazlarda tamamlanamaması sorunu düzeltildi (I716d7).Bazı cihazlarda kameranın kapanma durumunda takılı kalmasına ve siyah önizlemeye neden olan sorun düzeltildi. (I34c99)
Camera-Camera2, Camera-Core ve Camera-Lifecycle 1.0.0 sürümü
Sürüm 1.0.0
5 Mayıs 2021
androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0 ve androidx.camera:camera-lifecycle:1.0.0 yayınlandı. 1.0.0 sürümü bu commit'leri içerir.
1.0.0 sürümünün önemli özellikleri
- CameraX; Preview, ImageCapture ve Analysis'i destekler.
- CameraX, kullanımı kolay bir API ile kamera yaşam döngüsünü yönetir.
- CameraX, Android Kamera Ekosistemi'ndeki birçok sorunu düzelten bir uyumluluk katmanı sağlamayı amaçlar.
Bilinen Sorunlar
- Bilinen Sorunlar listesine bakın.
Sürüm 1.0.0-rc05
21 Nisan 2021
androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05 ve androidx.camera:camera-lifecycle:1.0.0-rc05 yayınlandı. 1.0.0-rc05 sürümü şu commit'leri içerir:
Hata Düzeltmeleri
- Samsung Galaxy S7'de flaş açık/otomatik olarak ayarlandığında ImageCapture'ın soluk görüntüler çekmesi sorunu düzeltildi. (I30001)
Sürüm 1.0.0-rc04
24 Mart 2021
androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04 ve androidx.camera:camera-lifecycle:1.0.0-rc04 yayınlandı. 1.0.0-rc04 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- UMIDIGI BISON cihazlarda başlatma hatası düzeltildi (I57d9e, b/180818665)
Sürüm 1.0.0-rc03
24 Şubat 2021
androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03 ve androidx.camera:camera-lifecycle:1.0.0-rc03 yayınlandı. 1.0.0-rc03 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
ProcessCameraProvider#getInstancebelgesindeki biçim hatasını düzeltin- CameraXConfig'de setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olmasına neden olan sorun düzeltildi.
- Fotoğraf çekmeden önce resmin kaydedildiği konumun doğrulanması kaldırıldı. Böylece ImageCapture performansındaki gerileme düzeltildi. Bu değişiklik yapıldıktan sonra, kaydetme hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtının alınması daha uzun sürer.
- Bu değişiklik, ImageAnalysis'te resim sırası dolduğunda istisnayı yakalar. Bu nedenle, kilitlenme yerine diğer kullanım alanlarının donduğunu veya yavaşladığını fark edebilirsiniz (ör. donmuş/yavaş önizleme).
- SM-G930T arka kamerasındaki JPEG'lerde aralıklı olarak bozuk görüntü verileri için geçici çözüm eklendi. (I52001, b/159831206)
- Bu değişiklik, ImageAnalysis'te resim sırası dolduğunda istisnayı yakalar. Bu nedenle, kilitlenme yerine diğer kullanım alanlarının donduğunu veya yavaşladığını fark edebilirsiniz (ör. donmuş/yavaş önizleme). (Ic12da, b/175851631)
- CameraXConfig'de setAvailableCamerasLimiter kullanıldığında Robolectric testinin başarısız olmasına neden olan sorun düzeltildi. (Ice307)
- Resim çekmeden önce resmin kaydedildiği konumun doğrulanması kaldırıldı. Böylece ImageCapture performansındaki gerileme düzeltildi. Bu değişiklik yapıldıktan sonra, kaydetme hedefi geçersizse fotoğraf çekildikten sonra resmi kaydetmeye çalışacağı için hata yanıtının alınması daha uzun sürer. (I1fd4e, b/177061560)
- "Dosya" türü OutputFileOptions ile ImageCapture performans gerilemesi düzeltildi. (I5164a, b/177061560)
Sürüm 1.0.0-rc02
27 Ocak 2021
androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02 ve androidx.camera:camera-lifecycle:1.0.0-rc02 yayınlandı. 1.0.0-rc02 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Önizleme için desteklenen tüm boyutlar 640x480'den küçük ve ekran boyutu 640x480'den büyük olduğunda ortaya çıkan IllegalArgumentException sorunu düzeltildi. (b/150506192)
Kamerayı yeniden açma denemelerinin sayısını sınırlayın. Kamera açılırken belirli sorunları düzeltmeye çalışan CameraX, artık kamerayı süresiz olarak yeniden açmaya çalışmaz. Bunun yerine, 10 saniye boyunca yeniden denedikten sonra durur.I435d2
Önizleme için desteklenen tüm boyutların 640x480'den küçük ve ekran boyutunun 640x480'den büyük olduğu durumlarda ortaya çıkan
IllegalArgumentExceptionsorunu düzeltildi. (I2a63c, b/150506192)
Sürüm 1.0.0-rc01
16 Aralık 2020
androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01 ve androidx.camera:camera-lifecycle:1.0.0-rc01 yayınlandı. 1.0.0-rc01 sürümü bu kayıtları içerir.
API Değişiklikleri
- CameraFilter ve Camera2Filter, CameraInfo'yu alacak şekilde değiştirildi. (I6883d)
- Camera2 API'leriyle dinamik olarak birlikte çalışmayı sağlamak için deneysel Camera2CameraControl sınıfı eklendi. (I45cf3)
- Camera2CameraInfo#fromCameraInfo, #from olarak yeniden adlandırıldı. (Ia2bd6)
- Uygulamaların, kullanılmayan kameraları başlatmaktan kaçınarak başlatma gecikmesini optimize etmesine olanak tanımak için CameraXConfig'e deneysel bir setAvailableCamerasLimiter API'si eklendi. (I6cf88)
- CameraX günlükleri için minimum günlük kaydı düzeyinin ayarlanmasına olanak tanıyan deneysel yöntem
CameraXConfig.Builder#setMinimumLoggingLevel()eklendi. Ayarlanmadığında varsayılan olarakLog#DEBUGdeğerine ayarlanır. (Ic3245)
Hata Düzeltmeleri
- SM-G930V arka kamerasındaki JPEG'lerde aralıklı olarak bozuk görüntü verileri için geçici çözüm eklendi. (I5aca5, b/159831206)
- Samsung SM-A716 cihazlarda flaş her zaman açıkken ve ortam karanlıkken fotoğraf çekildiğinde sonuç alınamaması sorunu düzeltildi. (If98b2, b/172036589)
Preview.setSurfaceProvider(null)çağrılarak önizlemenin durdurulamaması sorunu düzeltildi. (I3ac18)- Bazı cihazlarda 4:3 oranında resim çekerken yaşanan yön sorunu düzeltildi. (I0e3fb, b/171492111)
Camera Camera2, Core ve Lifecycle 1.0.0-beta12 sürümü
11 Kasım 2020
androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12 ve androidx.camera:camera-lifecycle:1.0.0-beta12 yayınlandı. 1.0.0-beta12 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Samsung A3 cihazlarda otomatik flaş AE moduyla fotoğraf çekerken yaşanan kilitlenme sorununu düzeltmek için otomatik flaş devre dışı bırakıldı. (Ia5fe3, b/157535165)
- Android L (API düzeyi 21 ve 22) çalıştıran Nexus 4 cihazlarda önizlemenin uzatılmasına neden olan sorun düzeltildi. (I4d407, b/158749159)
OnImageCapturedCallback#onCaptureSuccesstemel sınıf uygulaması artık resmi kapatmıyor. Bu, geliştiricilerin beklenmedik davranışlarla karşılaşmasını önlemek içindir. Geliştiriciler, görüntüyü kapatmak için super.onCaptureSuccess'i kullanmamalıdır. (Ifbf9c)- Experimental ek açıklamasının androidx varyantı, Kotlin ile eşitlik sağlamak için kullanımdan kaldırıldı. Bu ek açıklamanın yerini RequiresOptIn ek açıklaması aldı ve Java'ya yönelik linter, hem yeni Kotlin ek açıklamasını hem de yeni androidx varyantını destekleyecek şekilde güncellendi. (I52495, b/151331381)
Camera-Camera2 Sürüm 1.0.0-beta11
14 Ekim 2020
androidx.camera:camera-camera2:1.0.0-beta11 yayınlandı. 1.0.0-beta11 sürümü bu kayıtları içerir.
Yeni özellikler
- Geçerli
CONTROL_ZOOM_RATIO_RANGEiçeren Android 11 veya sonraki sürümlere sahip cihazlarda yakınlaştırma için Android 11CONTROL_ZOOM_RATIOAPI'sini destekler. (I62cc6)
Hata Düzeltmeleri
- Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda ortaya çıkan NumberFormatException sorunu düzeltildi. (Ib2228)
- CameraX başlatma ve bindToLifecycle gecikmesi iyileştirildi (I61dc5).
- UseCases oluşturmak için CameraX'in başlatılması gerekmez. Uygulamaya özel tüm yapılandırmalar, herkese açık API için
ProcessCameraProvider.bindToLifecycle()olan bir Camera örneğine eklendikten sonra UseCase'de ayarlanır. (Ia5411) <UseCase>.getTargetRotation(), Builder veya UseCase'de bir targetRotation ayarlanmadığı sürece bir Camera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0değerini döndürür. (I80fcd)
Camera-Core Sürüm 1.0.0-beta11
14 Ekim 2020
androidx.camera:camera-core:1.0.0-beta11 yayınlandı. 1.0.0-beta11 sürümü bu kayıtları içerir.
Yeni Özellikler
- Geçerli CONTROL_ZOOM_RATIO_RANGE içeren Android 11 veya sonraki sürümlerin yüklü olduğu cihazlarda yakınlaştırma için Android 11 CONTROL_ZOOM_RATIO API'sini destekler. (I62cc6)
Hata Düzeltmeleri
- Kamera kimliği tam sayı olmayan bir kamera kimliği olduğunda ortaya çıkan NumberFormatException sorunu düzeltildi. (Ib2228)
- UseCases oluşturma işleminin tamamlanması için CameraX'in başlatılması gerekmez. Uygulamaya özel tüm yapılandırmalar, herkese açık API için
ProcessCameraProvider.bindToLifecycle()olan bir Camera örneğine eklendikten sonra UseCase'de ayarlanır. (Ia5411) <UseCase>.getTargetRotation(), Builder veya UseCase'de bir targetRotation ayarlanmadığı sürece bir Camera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0değerini döndürür. (I80fcd)
Camera-Core Sürüm 1.0.0-beta10
23 Eylül 2020
androidx.camera:camera-core:1.0.0-beta10 yayınlandı. 1.0.0-beta10 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Resim yakalama için dosya kaydetme hedefinin doğrulanmasındaki hata düzeltildi (I8c565, b/167697553).
Camera-Camera2 Sürüm 1.0.0-beta10
23 Eylül 2020
androidx.camera:camera-camera2:1.0.0-beta10 yayınlandı. 1.0.0-beta10 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u destekleyen 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ınlandı. 1.0.0-beta09 sürümü bu kayıtları içerir.
API Değişiklikleri
- Camera2CameraInfo, statik yöntemler sağlamak yerine, Camera2 ile ilgili bilgileri almak için oluşturulduğunda bir CameraInfo örneği alır. (I5b844)
Hata Düzeltmeleri
- Tablet cihazlardaki hedef en-boy oranı sorunu düzeltildi. Hedef en boy oranı
AspectRatio.RATIO_16_9olarak ayarlandığında 16:9 boyut seçilmelidir. (Ib7fcf, b/151969438) - Uygulamanın, CameraCharacteristics oluşturulurken meydana gelen AssertionError'ı düzgün bir şekilde işleyebilmesi için
InitializationExceptionoluşturun. (I89c8c, b/160524721) - ExposureCompensation için deneysel arayüzler eklendi (If96c7)
Camera-Core Sürüm 1.0.0-beta09
16 Eylül 2020
androidx.camera:camera-core:1.0.0-beta09 yayınlandı. 1.0.0-beta09 sürümü bu kayıtları içerir.
API Değişiklikleri
- UseCaseGroup'ta görüntü alanının boş değil olarak işaretlenmesine neden olan hata düzeltildi. Geliştiriciler, görüntü alanı ayarlamadan görüntü alanı oluşturabilmelidir. (Ie3d2e)
ExposureCompensationiçin deneysel arayüzler eklendi (If96c7)- Önizleme için rastgele hedef rotasyonuna izin ver. Dönüşüm bilgileri hesaplanır ve yeni bir
TranformationInfoListenergeri çağırma işlevi aracılığıyla kullanıcıya anında döndürülür. (I21470)
Hata Düzeltmeleri
- Bazı cihazlarda flaşın kapanmaması sorunu düzeltildi. Bu sorun, flaş modu fotoğraf çekmek için
FLASH_MODE_ONolarak ayarlandığında ve flaş patladığındaFLASH_MODE_OFFolarak değiştirildiğinde ortaya çıkıyordu. Belirti, fener modunun etkinleştirilmesi gibidir. (Ib4451, b/162568128) - Uzantı efekti etkinse ve tedarikçi firma kitaplığı uygulamasının çıkış yüzeyinde özel bir işlem yapması gerekiyorsa PreviewView, TextureView'u kullanmaya zorlandı. (I0c3cc)
- Bir etkinlik/parça bağlamı
ProcessCameraProvider.getInstance(Context)öğesine iletildiğinde etkinlik/parça sızıntısı düzeltildi.
Bilinen Sorunlar
- ViewPort ayarlandığında, HAL'de görüntü arabelleğini döndüren cihazlarda ImageCapture'ın kırpma dikdörtgeni yanlış olabilir. Bu sorun, sonraki sürümde düzeltilecektir.
Camera-Camera2 Sürüm 1.0.0-beta08
19 Ağustos 2020
androidx.camera:camera-camera2:1.0.0-beta08 yayınlandı. 1.0.0-beta08 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- bindToLifecycle, ana iş parçacığında hızlı çalışacak şekilde optimize edildi. (I1d57e)
- DisplayOrientedMeteringPointFactory, CameraSelector yerine CameraInfo örneği alır. Bu sayede, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir. DisplayOrientedMeteringPointFactory kullanan tüm sınıflar, CameraSelector yerine CameraInfo örneği de alır. (I400c1)
- Hedef çözünürlük ayarı 2016x1080 olduğunda ve desteklenen başka bir 1920x1080 16:9 boyut olduğunda 16:9 mod16 boyutunun (864x480) seçilmesiyle ilgili otomatik çözünürlük en boy oranı boyutu gruplandırma sorunu düzeltildi. (I53167, b/159363774)
- CameraControl'ün yarışma durumu nedeniyle çalışamaması sorunu düzeltildi (I2279f, b/152333890, b/160714166).
Camera-Core Sürüm 1.0.0-beta08
19 Ağustos 2020
androidx.camera:camera-core:1.0.0-beta08 yayınlandı. 1.0.0-beta08 sürümü bu kayıtları içerir.
API Değişiklikleri
DisplayOrientedMeteringPointFactory,CameraSelectoryerine birCameraInfoörneği alır. Böylece, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir.DisplayOrientedMeteringPointFactorykullanan tüm sınıflar,CameraSelectoryerineCameraInfoörneği de alır. (I400c1)
Hata Düzeltmeleri
- Resim yakalama için meta verilerdeki yatay çevirme işaretini kamera yönüne göre üzerine yazın. (I28499)
Context.getApplicationContext()yönteminden bir Application nesnesi döndürmeyen bir Context kullanıldığında başlatma işlemi artık kilitlenmeyecek. (I3d3c9, b/160817073)
Camera-Camera2 Sürüm 1.0.0-beta07
22 Temmuz 2020
androidx.camera:camera-camera2:1.0.0-beta07 yayınlandı. 1.0.0-beta07 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Android 5.0 eski cihazlarda önizlemenin uzatılması sorunu düzeltildi. (I0c03a)
- Bazı cihazlarda WYSIWYG sorununa neden olacak, JPEG tarafından desteklenen bazı boyutlar hariç tutuldu. (Ib5128)
Camera-Core 1.0.0-beta07 sürümü
22 Temmuz 2020
androidx.camera:camera-core:1.0.0-beta07 yayınlandı. 1.0.0-beta07 sürümü bu kayıtları içerir.
API Değişiklikleri
FIT_CENTER,FIT_STARTveFIT_ENDkesim stiliniFITile birleştirin.FIT, döndürülen kırpma dikdörtgeninin mümkün olan maksimum sensör dikdörtgeni olacağı anlamına gelir. (Ia73c3)- Önizlemenin kırpma dikdörtgeni, görüntü alanına göre yapılandırılır. Son kullanıcılar yalnızca kırpma dikdörtgeninin kapsadığı alanı görebilmelidir. (I142a4)
Hata Düzeltmeleri
- Android 5.0 eski cihazlarda önizlemenin uzatılması sorunu düzeltildi. (I0c03a)
- Kullanım alanlarının bağlantısı kaldırılırken oluşan
ConcurrentModificationExceptionistisnası sorunu düzeltildi. (I371c0)
Camera-Camera2 Sürüm 1.0.0-beta06
24 Haziran 2020
androidx.camera:camera-camera2:1.0.0-beta06 yayınlandı. 1.0.0-beta06 sürümü bu kayıtları içerir.
API Değişiklikleri
- Kameraları kamera kimliğine ve CameraCharacteristics'e göre filtrelemek için deneysel arayüzler eklendi. (I28f61)
Hata Düzeltmeleri
- startFocusAndMetering'in Samsung Galaxy S7'de başarıyla odaklanamamasına neden olan sorun düzeltildi. (If3be7, b/159039233)
- Uygulamadan çıkıldıktan sonra kameranın kapatılamaması sorunu düzeltildi. (I7a7b3)
- PreviewView'un SurfaceView uygulamasını kullanırken tekrarlanan kamera geçişinin önizlemeyi bozması sorunu düzeltildi (I920ce).
- Belirtilen MeteringPoint'lerden hiçbiri geçerli ölçüm dikdörtgenleri oluşturamazsa
CameraControl#startFocusAndMeteringbaşarısız olur. (Id53ce)
Camera-Core Sürüm 1.0.0-beta06
24 Haziran 2020
androidx.camera:camera-core:1.0.0-beta06 yayınlandı. 1.0.0-beta06 sürümü bu kayıtları içerir.
API Değişiklikleri
- Kameraları kamera kimliğine ve CameraCharacteristics'e göre filtrelemek için deneysel arayüzler eklendi. (I28f61)
Hata Düzeltmeleri
- CameraX artık
ProcessCameraProvider#getInstance()çağrılmadan önceProcessCameraProvider#configureInstance()ile yapılandırılabilir. Bu sayede, uygulamanın Application sınıfındaCameraXConfig.Provideruygulamanız gerekmedenCameraXConfigözelleştirilebilir. (Ia1a8d) - Belirtilen MeteringPoint'lerden hiçbiri geçerli ölçüm dikdörtgenleri oluşturamazsa
CameraControl#startFocusAndMeteringbaşarısız olur. (Id53ce)
Camera-Camera2 Sürüm 1.0.0-beta05
10 Haziran 2020
androidx.camera:camera-camera2:1.0.0-beta05 yayınlandı. 1.0.0-beta05 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında yaşanan kilitlenme sorunu düzeltildi.
InitializationException, uygulamanın kilitlenmesi yerine başlatma sonucununListenableFuturedeğerine ayarlanacak birCameraUnavailableExceptioniçerir. (I9909a, b/149413835) CONTROL_AF_STATEdeğerinin boş olduğu cihazlardastartFocusAndMeteringçağrılırken oluşan kilitlenme sorunu düzeltildi. (Ife55e, b/157084254)
Camera-Core Sürüm 1.0.0-beta05
10 Haziran 2020
androidx.camera:camera-core:1.0.0-beta05 yayınlandı. 1.0.0-beta05 sürümü bu kayıtları içerir.
API Değişiklikleri
- Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında yaşanan kilitlenme sorunu düzeltildi.
CameraUnavailableExceptioniçeren birInitializationException, uygulamanın kilitlenmesine neden olmak yerine başlatma sonucununListenableFuturedeğerine ayarlanır. (I9909a, b/149413835)
Hata Düzeltmeleri
setTargetResolutionvesetTargetRotationiçin javadoc'lar güncellendi. (Iae16f)
Camera-Camera2 1.0.0-beta04 sürümü
27 Mayıs 2020
androidx.camera:camera-camera2:1.0.0-beta04 yayınlandı. 1.0.0-beta04 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Uygulamaların, kilitlenmeye neden olmadan
Camera2Interoparacılığıyla herhangi bir camera2 yakalama isteği parametresi ayarlamasına izin verildi. Parametreleri geçersiz kılma nedeniyle sorunlar ortaya çıkabilir. Camera2Interop kullanılarak parametreler geçersiz kılındığında kararlılık ve davranış garanti edilmez. (Ibe5a1, b/149103700) - Sözde yerel ayar kullanan bir cihazda uygulama kullanılırken otomatik başlatma düzeltildi. (I3bef3, b/154767663)
- Bağlantısı kesilen kullanım alanıyla ilgili hata günlüğü, Camera2CameraImpl'de hata ayıklama günlüğüne dönüştürüldü. (I1a565, b/154422490)
- Flaş kullanılmasına rağmen çekilen resmin bazen çok karanlık olmasıyla ilgili sorun düzeltildi. (I5d9fa, b/149729613)
ImageCapturekaynağındanImageProxyiçindeki arabelleğin geri sarılmamasıyla ilgili hata düzeltildi (I0c455, b/153249512).- Yalnızca ImageCapture bağlandığında ortaya çıkan şu sorunlar düzeltildi: (1) MAX_QUALITY ile fotoğraf çekilemiyordu; (2) Otomatik pozlama çalışmadığı için resim kalitesi kötü oluyordu. (I17782, b/145326998)
- CameraX'in bağlantısı başka bir işlem veya kamerayı kullanan kod yolu tarafından kesildiğinde kamerayı yeniden açma güvenilirliği iyileştirildi (I1fbc3, b/153714651).
Camera-Core Sürüm 1.0.0-beta04
27 Mayıs 2020
androidx.camera:camera-core:1.0.0-beta04 yayınlandı. 1.0.0-beta04 sürümü bu kayıtları içerir.
API Değişiklikleri
- CameraX kamera yığını tarafından dahili olarak kullanılan işleyiciyi ayarlamak için deneysel bir API olan
CameraXConfig.Builder#setSchedulerHandler()ekler.CameraXConfig.Builder#setCameraExecutor()ile birlikte bu yeni API, CameraX kamera yığını tarafından kullanılan iş parçacıkları üzerinde tam kontrol sağlamalıdır. (I7bf32, b/121160431)
Hata Düzeltmeleri
ImageReaderProxykapatıldıktan sonraImageProxyöğesine erişilenImageAnalysisuygulamasındaki kilitlenme sorunu düzeltildi. Bu işlem,ImageReaderProxykapatılmadan önceAnalyzertarafından alınan tümImageProxyöğelerinin kapatılmasını da zorunlu kılar. (I4b299, b/145956416, b/154155377, b/156357269)CameraInfoparametresiPreviewView#createSurfaceProvider()öğesinden kaldırıldı.PreviewViewartık bu parametreyi dahili olarakSurfaceRequestöğesinden alıyor. (If18f0, b/154652477)- Sözde yerel ayar kullanan bir cihazda uygulama kullanılırken otomatik başlatma düzeltildi. (I3bef3, b/154767663)
- Flaş kullanılmasına rağmen çekilen resmin bazen çok karanlık olmasıyla ilgili sorun düzeltildi. (I5d9fa, b/149729613)
- Birden fazla setAnalyzer/clearAnalyzer çağrısının, analizörün analiz edilecek görüntüleri almamasına neden olduğu
ImageAnalysisile ilgili sorun düzeltildi. (I6169f, b/151605317, b/153514544) ImageCapturekaynağındanImageProxyiçindeki arabelleğin geri sarılmamasıyla ilgili hata düzeltildi (I0c455, b/153249512).CameraManagertarafından desteklenen listedeki ilk kameranın her zaman seçilmemesi sorunu düzeltildi. (I4c624, b/153418028)Preview.SurfaceProviderayarının daha önce istenen yüzeyi serbest bırakmamasından kaynaklanan aralıklı kilitlenme sorunu düzeltildi.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”(I8e4e7, b/155936225)
Camera-Camera2 1.0.0-beta03 sürümü
15 Nisan 2020
androidx.camera:camera-camera2:1.0.0-beta03 yayınlandı. 1.0.0-beta03 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
camera-coresürümünü desteklemek için yapılan düzeltmeler
Camera-Core Sürüm 1.0.0-beta03
15 Nisan 2020
androidx.camera:camera-core:1.0.0-beta03 yayınlandı. 1.0.0-beta03 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Beta03'te, sıfır
UseCaseilebindToLifecycle()çağrıldığında istisna oluşturulmasına neden olan gerileme düzeltildi. Bu,UseCasebağlamadanCameraalınmasını engelliyordu.
Camera-Camera2 Sürüm 1.0.0-beta02
1 Nisan 2020
androidx.camera:camera-camera2:1.0.0-beta02 yayınlandı. 1.0.0-beta02 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
ImageCapturetarafından üretilenImageProxyiçindekiImageInfo.getRotationDegrees(), EXIF yönlendirme rotasyonel değeriyle eşleşecek şekilde düzeltildi. (Id4281, b/150802561)- Varsayılan CameraX/Camera2 uygulamasını kullanmak için artık
build.gradleiçinde CameraX bağımlılıklarının açıkça sıralanması gerekmez. Katı bağımlılıkların bildirilmesi gereken durumlarda, tüm CameraX bağımlılıkları artık derleme dosyasına dahil edilebilir. (I46e88) - Ekran boyutu 640x480'den küçük olan cihazlarda görülen
IllegalArgumentExceptionsorunu düzeltildi. (Ife3f2, b/150506192) bindToLifecycle, yalnızca başarıyla bağlandığında UseCase'i değiştirecek şekilde düzeltildi. Daha önce, çözünürlük hesaplamaları yapmak içinbindToLifecycleçağrıldığında UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'i güncellemesi gerekmiyor (I78d9e).
Camera-Core Sürüm 1.0.0-beta02
1 Nisan 2020
androidx.camera:camera-core:1.0.0-beta02 yayınlandı. 1.0.0-beta02 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
ImageCapturetarafından üretilenImageProxyiçindekiImageInfo.getRotationDegrees(), EXIF yönlendirme rotasyonel değeriyle eşleşecek şekilde düzeltildi. (Id4281, b/150802561)bindToLifecycle, yalnızca başarıyla bağlandığında UseCase'i değiştirecek şekilde düzeltildi. Daha önce, çözünürlük hesaplamaları yapmak içinbindToLifecycleçağrıldığında UseCase güncelleniyordu. Artık hesaplamaları yapmak için UseCase'i güncellemesi gerekmiyor (I78d9e).Preview.setSurfaceProvider()birden fazla kez çağrıldıktan sonra önizleme yüzeyi değiştiğindePreviewkullanım alanının yakalama oturumunun güncellenmemesine neden olan sorun düzeltildi.
Camera-Camera2 Sürüm 1.0.0-beta01
26 Şubat 2020
androidx.camera:camera-camera2:1.0.0-beta01 yayınlandı. 1.0.0-beta01 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
SurfaceRequest.setSurface(Surface),SurfaceRequest.provideSurface(Surface)olarak;SurfaceRequest.setWillNotComplete()iseSurfaceRequest.willNotProvideSurface()olarak yeniden adlandırıldı. (I224fe)ImageCapture.setTargetRotation()kullanarak hedef döndürme değerini değiştirdikten sonra kaydedilen bir resmin en boy oranının doğru olmamasıyla ilgili sorun düzeltildi. (I474ea, b/148763432)- Varsayılan
CameraXConfigsağlayıcıyı ayarlayan işaret korunarak ProGuard etkinleştirilmiş uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)
Camera-Core Sürüm 1.0.0-beta01
26 Şubat 2020
androidx.camera:camera-core:1.0.0-beta01 yayınlandı. 1.0.0-beta01 sürümü bu kayıtları içerir.
API Değişiklikleri
SurfaceRequest.provideSurface()tarihliListenableFuture,ExecutorveCallbackile değiştirildi. Bu sayede,provideSurface()üzerinde istisnaların işlenmesi gerekmediğinden API basitleştirilir veprovideSurface()geri çağırma işlevinin iptal edilemeyeceği zorunlu kılınır. Bu, yüzeylerin erken yayınlanması nedeniyle eski cihazlarda kilitlenmeleri önlemek için yapılır.SurfaceRequest.Resultnesnesi artık birSurfaceRequestöğesinin, sağlananSurfaceöğesini nasıl kullandığını izlemek için kullanılıyor. (I7854b)SurfaceRequest.setSurface(Surface),SurfaceRequest.provideSurface(Surface)olarak veSurfaceRequest.setWillNotComplete(),SurfaceRequest.willNotProvideSurface()olarak yeniden adlandırıldı. (I224fe)
Hata Düzeltmeleri
ImageCapture.setTargetRotation()kullanarak hedef döndürme değerini değiştirdikten sonra kaydedilen bir resmin en boy oranının doğru olmamasıyla ilgili sorun düzeltildi. (I474ea, b/148763432)- Varsayılan
CameraXConfigsağlayıcıyı ayarlayan işaret korunarak ProGuard etkinleştirilmiş uygulama varyantlarının başlatılması düzeltildi. (I2d6c1) - Flaş modu API'leriyle ilgili dokümanlar, olası değerleri içerecek şekilde güncellendi. (I4a3ec)
Camera-Camera2 1.0.0-alpha10 sürümü
10 Şubat 2020
androidx.camera:camera-camera2:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü şu taahhütleri içerir.
Hata Düzeltmeleri
Surfaceöğelerinin yalnızca Camera2 tarafından kullanım süresi boyunca saklanması sağlanarakINFO_SUPPORTED_HARDWARE_LEVEL_LEGACYcihazlarda kararlılık artırıldı. (I9dac2)CONTROL_AE_TARGET_FPS_RANGEdüzgün şekilde ayarlanarak ESKİ cihazlardaki az pozlanmış önizleme sorunu düzeltildi. (1224638)
Camera-Core 1.0.0-alpha10 sürümü
10 Şubat 2020
androidx.camera:camera-core:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü şu taahhütleri içerir.
API Değişiklikleri
ImageCapture, resimlerinUriveOutputStreamuygulamalarına kaydedilmesine izin verecek şekilde güncellendi. Aşırı yüklenmiştakePictureyöntemleri tek bir yöntemde birleştirildi. Test uygulaması, standart örnek olarakUrikullanacak şekilde güncellendi. (Ia3bec)Preview.PreviewSurfaceProvider,Preview.SurfaceProviderolarak yeniden adlandırıldı.SurfaceProviderartık geliştiricilerin kendiListenableFutureöğelerini oluşturmasını gerektirmiyor veSurfacesağlamak artık yeni birSurfaceRequestnesnesi aracılığıyla yapılıyor.Preview.getPreviewSurfaceProvider()yöntemi,Previewdiğer sınıflarla (ör.PreviewView) eşlendiğinde kötüye kullanılma potansiyeli nedeniyle kaldırıldı. (I20105)getTargetRotation()vegetTargetName(),Previewlistesine eklendi. (Iceee7)getTargetRotation(),getBackpressureStrategy()vegetImageQueueDepth(),ImageAnalysistarihinde eklendi. (I9d6d9)ImageCapture()(I5bc17) sürümünegetTargetRotation()vegetCaptureMode()eklendi.- Daha önce
ImageCapture.OnImageSavedCallback.onError()veImageCapture.OnImageCapturedCallback.onError()içinde iletilen bağımsız değişkenler, daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişkenle (ImageCaptureException) değiştirildi. - Daha önce
ImageCapture.OnImageSavedCallback.onImageSaved()içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2) PreviewveImageCapturesınıfları artık nihai olarak işaretlendi. (I2500b)- API güncellendi.
CameraInfosınıfınıngetZoomRatio(),getMaxZoomRatio(),getMinZoomRatio()vegetLinearZoom()yöntemleri,ZoomStateörneği döndürengetZoomState()yöntemiyle birleştirildi. (Ib19fe) - Yalnızca dahili kitaplık kullanımı için tasarlandıklarından
OPTION_TARGET_CLASSveOPTION_TARGET_NAMEAPI alanlarıCameraXConfigsınıfından kaldırıldı.CameraXConfig.Builderiçin yapıcı kaldırıldı. (I96912) - CameraX'i başlatmak için uygulamanın
Applicationsınıfını genişletmesi şartı kaldırıldı. Uygulamanınbuild.gradledosyasınacamera-camera2yapısı dahil edildiği sürece CameraX artık varsayılan bir Camera2 yapılandırmasıyla başlatılacak. (I58ff5) (b/146923574)
Camera-Camera2 Sürüm 1.0.0-alpha09
22 Ocak 2020
androidx.camera:camera-camera2:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü şu taahhütleri içerir.
API değişiklikleri
Camera2 kamera kimliğini ayıklamak için Camera2 birlikte çalışabilirlik yolu ekleyin.
Camera2CameraInfo.extractCameraId()kullanarakCameraInfoüzerinden kamera kimliğini çıkarabilirsiniz. Aşağıdaki kod örneğinde bunun nasıl kullanılacağı gösterilmektedir:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());Camera2CameraInfosınıfı,ExperimentalCamera2InteropmarkerClass'ı gerektirir.
Camera-Core Sürüm 1.0.0-alpha09
22 Ocak 2020
androidx.camera:camera-core:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü şu taahhütleri içerir.
API değişiklikleri
SurfaceOrientedMeteringPointFactoryparametresiuseCaseForSurface,useCaseForAspectRatioolarak yeniden adlandırıldı ve referans belgeleri genişletildi.FocusMeteringAction.Builder.from()yöntemleri,FocusMeteringAction.Builder()oluşturucularıyla değiştirildi.DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)kaldırıldı. Uygulamalar,Displayparametresini alan ve geçerli ekranı ileten oluşturucuyu kullanmalıdır.MeteringModeve 3A işaretleri ile ilgili odak ve ölçüm API'leri için Javadoc iyileştirmeleri veDisplayparametresinin kullanımı.setZoomRatiovesetLinearZoomiçin referans dokümanları genişletildi.
Hata düzeltmeleri
- Kameralar kapatılıp açıldığında "Ön koşul" kontrolünün başarısız olmasına neden olan sorunlar düzeltildi.
- Fener ve yakınlaştırma API'leri kullanılırken oluşabilen bir
ConcurrentModificationExceptiondüzeltildi. - Mod16 boyutları mevcut olduğunda istenen çözünürlüğe daha yakın çözünürlüklerin seçilmesiyle ilgili sorun düzeltildi.
startFocusMeteringvecancelFocusMeteringAPI'leri artık belgelendiği şekilde çalışıyor, doğru zamanlamayla ve hata oluştuğunda hata döndürüyor.- Bu tür boyutları desteklemeyen bir cihazda kırpma en boy oranıyla belirli bir hedef çözünürlük istendiğinde ortaya çıkan sorun düzeltildi. Artık mümkün olduğunda, orijinal isteği sınırlamak için yeterli çözünürlüğe sahip, kırpılmamış bir boyut seçilecek.
Camera-Camera2 1.0.0-alpha08 sürümü
18 Aralık 2019
androidx.camera:camera-camera2:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu kayıtları içerir.
Bilinen Sorunlar
- Camera2 birlikte çalışabilirliği kullanılırken tüm Camera2 yakalama isteği seçenekleri çalışmaz. İstenen seçenek desteklenmiyorsa oturum başlatılamaz ve şu şekilde bir hata oluşabilir:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
Hata Düzeltmeleri
- API düzeyi 21 ve 22 için kamera döndürüldükten veya değiştirildikten sonra önizlemede siyah ekran görünmesine neden olan sorun düzeltildi.
API Değişiklikleri
- Deneysel: Kamera kimliğini ayıklamak için bir camera2 birlikte çalışabilirlik yolu eklendi.
Camera-Core 1.0.0-alpha08 sürümü
18 Aralık 2019
androidx.camera:camera-core:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu kayıtları içerir.
Bilinen Sorunlar
PreviewViewveyaCameraViewkullanan uygulamaların en boy oranı önizlemesi yanlış olabilir. Bu durum, Pixel2 gibi bazı FULL cihazlarda duraklatma veya devam ettirme işleminden sonra gerçekleşir.
Hata Düzeltmeleri
FocusMeteringActionveCameraControlile ilgili dokümanlar güncellendi.enableTorch()vegetTorchState()içinTorchControluygulandı.
API Değişiklikleri
- IntDef'ler gizlendi ve IntDef sabitleri IntDef tanımının dışına taşındı.
rotationDegrees,OnImageCaptureCallbacksınıfındanImageInfosınıfına taşındı.rotationDegrees,AnalyzersınıfındanImageInfosınıfına taşındı.
Camera-Camera2 1.0.0-alpha07 sürümü
4 Aralık 2019
androidx.camera:camera-camera2:1.0.0-alpha07 yayınlandı. camera-camera2'nin 1.0.0-alpha07 sürümü şu taahhütleri içerir
Camera2Configartık CameraX için Camera2 tabanlı bir uygulamayı başlatmak ve yapılandırmak amacıyla kullanılabilir. Bunun başlatma işleminde nasıl kullanılacağı hakkında daha fazla bilgiyi sürüm notlarının camera-core bölümünde bulabilirsiniz.- Camera2 birlikte çalışabilirlik işlevi artık deneysel olarak işaretlendi ve ayrı bir pakete (
androidx.camera.camera2.interop.) taşındı.
Camera-Core 1.0.0-alpha07 sürümü
4 Aralık 2019
androidx.camera:camera-core:1.0.0-alpha07 yayınlandı. camera-core'un 1.0.0-alpha07 sürümü şu commit'leri içerir
Beta sürümüne hazırlanırken bu alfa sürümünde bazı önemli değişiklikler yapıldığını unutmayın. Değişiklikleri incelemenizi ve geri bildirimlerinizi CameraX Google Grubu'nda paylaşmanızı öneririz. Play Store'daki uygulamalarda CameraX kullanan geliştiricilerin, uygulamalarındaki kitaplığı yükseltmeden önce resmi Beta sürümünü beklemelerini öneririz.
API değişiklikleri
Önemli: CameraX başlatma işlemi değişti. Uygulamalar
CameraXConfig.Provideröğesini uygulamalı veandroidx.camera.camera2tarafından sağlanan varsayılanCamera2Configöğesini kullanmalıdır. Tipik bir kullanım şu şekildedir:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }CameraX sınıfı kaldırıldı. Daha önce CameraX sınıfı çağrısı tarafından sağlanan
bindToLifecycle(),unbind(),unbindAll(),isBound()vehasCamera()artıkProcessCameraProviderüzerinden kullanılabilir.ProcessCameraProvideröğesinin işlem başına örneği, statik yöntemProcessCameraProvider.getInstance()kullanılarak eşzamansız olarak elde edilir. Bu yöntem, tamamlandığındaProcessCameraProvideröğesini sağlayan dinlenebilir bir gelecek döndürür. Burada, tipik bir kullanım içinonCreate()cinsinden gösterilir. Başlatma gecikmesini daha sonraki bir zamana (ör. bir kullanıcı işlemi kamera kullanıcı arayüzünü açtığında) ertelemek için etkinliğin yaşam döngüsünün ilerleyen aşamalarındagetInstance()çağrıları yapabilirsiniz.import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }getInstance()tarafından döndürülenListenableFutureöğesine bir dinleyici eklenebilir. Bu sayede kamera sağlayıcı,Future.get()üzerinde engelleme olmadanFutureüzerinden alınabilir.cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))Kamera seçimi artık kullanım alanına göre değil, kamera seçici tarafından yapılır.
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()CameraProvider.bindToLifecycle, yaşam döngüsü sahibine, kamera seçiciye ve kullanım alanlarına verilir. Bunlar daha sonra belirli yaşam döngüsü sahibine bağlanır ve seçilen kamera için çalıştırılır.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)Kullanım alanı "Config" sınıfları kaldırıldı. Bunun yerine, her kullanım alanı oluşturucuda seçenekleri ayarlayarak kullanım alanlarını doğrudan oluşturun. Örneğin:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()Önizleme kullanım alanı, Android ile ilgili en iyi uygulamalara uyulması için uygulama tarafından oluşturulan ve yönetilen bir yüzeyi kabul edecek şekilde güncellendi. camera-view paketinde sağlanan
PreviewViewgörünüm sınıfını kullanmanız önemle tavsiye edilir.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)Uygulama tarafından yönetilen bir yüzey eklemeyle ilgili belgelere bakın. Bu durumlarda uygulama, yüzeyin yaşam döngüsünü yönetir.
Önemli:
ImageAnalysisAnalyzer yönteminin uygulanması, alınan resimlerin kullanımı bittiğindeimage.close()yöntemini çağırmalıdır. Aksi takdirde, geri basınç ayarına bağlı olarak yeni görüntüler alınamayabilir veya kamera durabilir. Ayrıntılar için referans belgelerine bakın.ImageAnalysis ImageReaderMode, geri basınç stratejisiintdefolarak değiştirildi.ImageProxy.getImage(), deneysel olarak işaretlenmiştir. Uygulamalar, kullanımı örneğin@androidx.camera.core.ExperimentalGetImagearacılığıyla açıklamalıdır.AnalyzeriçinUIThreadek açıklaması şartı kaldırıldı.Analizör kaldırmak için
ImageAnalysis.clearAnalyzer()işlevi eklendi.Birden fazla yöntemi olan dinleyiciler Geri Çağırma olarak yeniden adlandırıldı:
ImageCapture.OnImageCapturedListeneradlı bankanın yeni adıImageCapture.OnImageCapturedCallbackImageCapture.OnImageSavedListener,ImageCapture.OnImageSavedCallbackolarak değiştirilmiştirVideoCapture.OnVideoSavedListeneradlı bankanın yeni adıVideoCapture.OnVideoSavedCallback
Numaralandırmalar IntDef olarak değiştirildi
Yakınlaştırma kontrolleri eklendi:
CameraControl.setLinearZoom()CameraControl.setZoomRatio()CameraInfo.getLinearZoom()CameraInfo.getMaxZoomRatio()CameraInfo.getZoomRatio()
Flaş/fener donanımının mevcut olup olmadığını belirlemek için
CameraInfo.hasFlashUnit()eklendi.CameraInfo.isFlashAvailable()kaldırıldı. Fener, flaş işlevini geçersiz kılar. Referans belgelerinde daha fazla ayrıntı bulabilirsiniz.ImageCapture.Metadataalanları, get/set/is erişimcileriyle değiştirildi.startFocusMeteringvecancelFocusMeteringartık çağrının eşzamansız işlemini temsil edenListenableFuturesdeğerini döndürür.MeteringPointsartık ölçüm işlemlerini gerçekleştiren ve fabrikalar tarafından üretilen araçlar olarak işlev görüyor. Uygulamalar, özel fabrikalar yerine mevcut fabrikaları kullanmalıdır.
Düzeltilen sorunlar
- Devam ettirildiğinde (önceki bir duraklatma işleminde tamamlanmayı bekleyen resim çekme işlemleri varsa) resim çekmeyle ilgili sorun düzeltildi.
- Bilinen Sorun:
CameraControl.enableTorch()işlevsel ancak döndürülenListenableFuture<Void>, flaş birimi olmasa bile her zaman hemencomplete(success)gelecektir. Gelecekteki sürümlerde bu durum düzeltilerek nihai davranışa geçilecek: Flaş birimi olmadığındaenableTorch(true)hemen başarısız olur (CaptureSessioniçin istek göndermez) veTorchStatekapalı kalır. - Bilinen Sorun:
startFocusAndMeteringvecancelFocusAndMetering, odak ölçümünü başlatıp iptal eder ancak belgelenen davranışı temsil etmeyen, hemencompleted (success)bir gelecek döndürür.ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()tarafından döndürülenFocusMeteringResult,isFocusSuccessful()ve her zaman "false" değerini döndüren sahte bir sonuçtur. Bu, amaçlanan ve belgelenen davranıştan farklıdır. - Bilinen Sorun:
PreviewViewdokunma etkinlikleriyle kullanılacak bir ölçüm noktası fabrikası geliştiriliyor. Şu an için özel yönetilen yüzeyleri bağlayan uygulamalar mevcut ölçüm noktası fabrikalarını kullanabilir. Aksi takdirdePreviewViewiçin dokunarak odaklama işlevi kullanılamaz.
Camera-Camera2 ve Camera-Core 1.0.0-alpha06 sürümü
9 Ekim 2019
androidx.camera:camera-camera2:1.0.0-alpha06 ve androidx.camera:camera-core:1.0.0-alpha06 yayınlandı. Bunlar camera-camera2:1.0.0-alpha06 içinde yer alan commit'ler, bunlar ise camera-core:1.0.0-alpha06 içinde yer alan commit'ler.
Yeni özellikler
En-boy oranlarını ayarlama konusunda yapılan değişiklikler:
setTargetAspectRatioMode()eklendi ve bir enum bağımsız değişkeni kabul ediyor. Bu, rastgele bir en boy oranı yerineRATIO_4_3veyaRATIO_16_9seçenekleriyle en boy oranı modunu ayarlar. Bu, kameradan herhangi bir rastgele oran yerine yalnızca belirli en-boy oranlarının sağlandığı gerçeğini daha iyi yansıtır.- Şu anda yalnızca 16:9 ve 4:3 oranları kullanılabilir. 1:1 oranında ise yalnızca belirli cihazlarda kameradan bu oran kullanılabilir ve bu durumda yalnızca sınırlı çözünürlükler kullanılabilir. 1:1 arayüz veya işleme tasarlayan uygulamalar, daha esnek olan 16:9 veya 4:3 seçeneklerini kullanmalı ve ekranı kırpmalı ya da bir alt bölgeyi işlemelidir.
- Bu en boy oranları, maksimum sensör alanını kullanacak şekilde ayarlanmıştır.
getTargetAspectRatio(), kullanım alanı yapılandırma API'lerine eklendi ve kullanım alanı çıkışının hedeflendiği en boy oranını döndürür.- ImageCapture için
setTargetAspectRatio(Rational aspectRatio)yöntemisetTargetAspectRatioCustom(Rational aspectRatio)olarak değiştirildi. Bu değer ayarlandığında ImageCapture çıkışı buna göre kırpılır.
Executor API'leri
- Aşağıdaki işlevler, uygulamanın işlevin hangi yürütücüde çalışacağını kontrol etmesine olanak tanıyan bir yürütücü parametresi kabul eder.
Preview.setOnPreviewOutputUpdateListener()API. İlgili işlev için yürütücü yoksa ana iş parçacığında yürütülür.Preview.setOnPreviewOutputUpdateListenerFocusMeteringAction.Builder.setAutoFocusCallbackImageAnalysis.setAnalyzerImageCapture.takePictureCameraView.takePictureCameraView.startRecordingVideoCapture.startRecording
Flaş Kullanılabilir ve Sensör Dönüşü API'lerini kontrol eden CameraInfo eklendi
CameraInfovegetCameraInfoyöntemi eklendi. Bu yöntem, uygulamaların lense bakan CameraInfo'nun ve bu kamerada flaşın mevcut olup olmadığını kontrol etmesine olanak tanır. Örneğin:try { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }CameraInfo.getSensorRotationDegrees()eklendi. Kamera sensörünün yönünü cihazın doğal yönüne göre veya kolaylık sağlamak için Surface dönüşüyle açıklanan bir yöne göre (doğal yöne göre bir yönü açıklar) sağlar.
API değişiklikleri ve hata düzeltmeleri
- En Boy Oranları: Her kullanım alanı için uygulamalar yalnızca
setTargetResolution()veyasetTargetAspectRatio()yöntemlerinden birini çağırmalıdır. Aynı oluşturucuda her ikisini de çağırmak hataya neden olur.- Genel olarak, uygulamanın kullanıcı arayüzü tasarımına göre
setTargetAspectRatio()kullanılması önerilir. Belirli çözümler kullanım alanına bağlıdır. Örneğin, önizleme ekran çözünürlüklerine yakındır ve Resim Yakalama yüksek çözünürlüklü fotoğraflar sağlar. Daha fazla bilgi için otomatik çözünürlükler tablosuna bakın. - Minimum (hesaplamadan tasarruf etmek için) veya maksimum çözünürlük (ayrıntıları işlemek için) gerektiğinde olduğu gibi daha spesifik durumlarda
setTargetResolution()kullanın.
- 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, 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.onErrorhatasının oluşmasına neden olan sorun düzeltildi. - Uygulama daha büyük veya varsayılan çözünürlükler istediğinde çok küçük (640x480'den küçük) çözünürlüklerin seçilerek önizleme görüntüsünün pikselli veya bulanık olmasına neden olan sorun düzeltildi. Özellikle daha küçük çözünürlüklere ihtiyaç duyan uygulamalar bunları açıkça talep edebilir.
- Başka bir kamera uygulamasını başlatan bir intent'ten döndükten sonra kameranın siyah ekran göstermesine (kamera başlatılamadı) neden olan sorun düzeltildi.
- Uygulamalar tekrar tekrar başlatıldığında veya durdurulduğunda şu hatanın gösterilmesine neden olan bir hata düzeltildi:
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface! - ImageAnalysis devre dışı bırakılırken oluşan şu hata düzeltildi:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more. - Kamera bağlantısını kesme akışı için ek testler eklendi.
- Arka arkaya kamera testleri çalıştırılırken test sisteminin sağlamlığı artırıldı.
Camera-Camera2 ve Camera-Core 1.0.0-alpha05 sürümü
5 Eylül 2019
androidx.camera:camera-camera2:1.0.0-alpha05 ve androidx.camera:camera-core:1.0.0-alpha05 yayınlandı. Bunlar, camera-camera2:1.0.0-alpha05 sürümüne dahil edilen commit'ler ve bunlar, camera-core:1.0.0-alpha05 sürümüne dahil edilen commit'lerdir.
API Değişikliği: Kullanım alanı hata değişkenleri yeniden adlandırıldı:
ImageCapture.UseCaseError,ImageCapture.ImageCaptureErrorolarak yeniden adlandırıldıVideoCapture.UseCaseError,VideoCapture.VideoCaptureErrorolarak yeniden adlandırıldı
Odaklamak için dokunma API'leri ile
CameraControlAPI eklendiLens yönüne göre seçilen bir kamera için CameraX'ten
CameraControlalmayı sağlayan API eklendi:CameraX.getCameraControl(LensFacing lensFacing)MeteringPointFactory,MeteringPoint,MeteringModeveFocusMeteringAction, Dokun ve Odakla özelliğini çalıştıracak şekilde eklendi:MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height); MeteringPoint point = factory.createPoint(x, y); FocusMeteringAction action = FocusMeteringAction.Builder.from(point, MeteringMode.AF_ONLY) .addPoint(point2, MeteringMode.AE_ONLY) // could have many .setAutoFocusCallback(new OnAutoFocusListener(){ public void onFocusCompleted(boolean isSuccess) { } }) // auto calling cancelFocusAndMetering in 5 sec. .setAutoCancelDuration(5, TimeUnit.Second) .build();Odak ölçümünü başlatmak ve iptal etmek için
CameraControlAPI'si eklendi:getCameraControl(lensFacing).startFocusAndMetering(action);getCameraControl(lensFacing).cancelFocusAndMetering();Görüntüleme sınıflarına göre dokunma koordinatlarını sensör koordinatlarına dönüştürmeye yardımcı olan Metering Point Factory'ler için API'ler eklendi:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
Aşağıdaki yöntemlerin ana (kullanıcı arayüzü) iş parçacığında çağrılmasını zorunlu kılar. Çağrılmadıkları durumlarda
IllegalStateExceptionhatası verir. Gelecekteki sürümler, diğer mesaj dizilerinde kullanıma izin verecek ve serileştirmeyi sağlayacak.CameraX.bindToLifecycle()CameraX.unbind()CameraX.unbindAll()ImageAnalysis.setAnalyzer()ImageAnalysis.getAnalyzer()ImageAnalysis.removeAnalyzer()Preview.removePreviewOutputListener()Preview.getOnPreviewOutputUpdateListener()Preview.setOnPreviewOutputUpdateListener()
Çeşitli yapılandırma ayarları artık boş parametreleri kabul ediyor ve ilgili alıcılar boş değer döndürebiliyor.
AF/AE/AWB ayarlarını desteklemeyen emülatörlerde test yaparken karşılaşılan sorun düzeltildi.
Resim analiz edilirken döndürme sırasında kilitlenmeye neden olan hata düzeltildi.
Başlangıçta (kamera verisi yok), döndürme işleminden sonra veya ön ve arka kameralar arasında geçiş yapıldıktan sonra önizlemenin siyah görünmesine neden olan hata düzeltildi.
Aynı anda birden fazla görüntü analizi kullanım alanının test edilmesi kaldırıldı. Uyumluluğu sağlamak için uygulamalar yalnızca tek bir görüntü analizi kullanım alanı eklemelidir.
Kamera test paketine (WIP) sahte kamera için ilk robolectric testleri eklendi.
Kapsamı belirsiz/yanıltıcı olduğu için Camera2Inititalizer testi kaldırıldı.
Camera-Camera2 ve Camera-Core 1.0.0-alpha04 sürümü
7 Ağustos 2019
androidx.camera:camera-camera2:1.0.0-alpha04 ve androidx.camera:camera-core:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü şu taahhütleri içerir.
Yeni özellikler
En boy oranı ve çözünürlük seçiminde yapılan değişiklikler
CameraX'in amacı, kamera oturumunu başarıyla başlatmaktır. Bu, CameraX'in ilk hedefi olarak bir yakalama oturumu başlatmak için cihazın kapasitesine göre çözünürlük/en boy oranlarından ödün verdiği ve bu nedenle tam isteklerin yerine getirilemeyebileceği anlamına gelir. Bunun nedeni şunlardan biri olabilir:
- İstenen çözünürlüğü desteklemeyen cihazlar
- Doğru şekilde çalışması için belirli çözünürlüklerin kullanılması gereken ESKİ cihazlardaki uyumluluk sorunları
- Bazı cihazlarda belirli biçimler yalnızca belirli en-boy oranlarında kullanılabilir.
- JPEG veya video kodlama için "en yakın mod16" tercihi.
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAPsayfasına bakın.
Oturumu CameraX oluşturup yönetse de kodunuzdaki kullanım alanı çıkışında döndürülen resim boyutlarını her zaman kontrol etmeniz ve buna göre ayarlamanız gerekir.
Çözünürlük ve en boy oranlarını ayarlamak için API'yi daha net hale getirmeyi amaçlayan bazı değişiklikler yapıldı:
- Önizleme kullanım alanında artık herhangi bir en boy oranı ayarlanmadığında varsayılan olarak 4:3 en boy oranı kullanılır.
- CameraX, cihazın kapasitesine göre istenen çözünürlük ve en-boy oranlarında yapılacak değişiklikleri dahili olarak değerlendirirken önce aynı en-boy oranını (
setTargetAspectRatioveyasetTargetResolutionçağrılarından herhangi biri tarafından belirlendiği şekilde) korumaya çalışır. - Çözünürlüğün "En yakın mod16" sürümü, aynı en-boy oranı olarak kabul edilir.
ImageAnalysis Engelleyici Olmayan Mod
ImageReaderMode.ACQUIRE_LATEST_IMAGEartık engelleme yapmıyor. Sıradaki en son görüntüyü alır ancak kamera ardışık düzeninin engellenmesini önlemek için kullanılmayan görüntüleri sürekli olarak siler.- Analizör, ardışık düzeni durdurmadan tek bir görüntüyü süresiz olarak tutabilir.
- Uygulama, daha sonra engelleyen bir yürütücü sağlarsa ImageAnalysis kullanım alanı engellenir.
- Dahili olarak ayarlanan varsayılan yürütücü, engelleyici olmayan bir yürütücü olarak davranır.
Hata Düzeltmeleri
- Otomatik odaklama, otomatik pozlama ve otomatik beyaz dengesi olmayan cihazlarda görüntü yakalarken 3A yakınsama için bekleme sırasında yaşanan zaman aşımı sorunları düzeltildi.
- ImageCapture ile hızlı bir şekilde fotoğraf çekildiğinde ortaya çıkan sorun düzeltildi. Hata düzeltmeleri:
java.lang.IllegalStateException: maxImages (2) has already been acquired - Bir kullanım alanı için
setLensFacingçağrılmadığındajava.lang.IllegalArgumentException: Unable to get camera ID for use caseile sonuçlanan sorun düzeltildi. - LEGACY cihazın maksimum JPEG çözünürlüğü olarak belirli bir en-boy oranı gerektirmesiyle ilgili sorun düzeltildi.
- Kamera açılırken uygulama arka plana alındığında karşılaşılan sorun düzeltildi.
- API < 25'teki sorun düzeltildi,
checkAndUpdateEglState: invalid current EGLDisplayhatası kaldırıldı - Uzantılar etkinleştirilip başlatıldıktan sonra önizlemenin bağlantısı kaldırılırken karşılaşılan sorun düzeltildi.
- camera-view ve camera-extensions için derleme yapıları artık alfa sürümleri olarak yayınlanıyor.
Camera-Camera2 ve Camera-Core 1.0.0-alpha03 sürümü
2 Temmuz 2019
androidx.camera:camera-core:1.0.0-alpha03 ve androidx.camera:camera-camera2:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü bu kayıtları içerir.
API Değişiklikleri
- setTarget yapılandırma çağrılarında "target" için javadoc açıklaması eklendi.
Camera-Core
- Hızlı açma/kapama veya bağlama/bağlantıyı kesme işlemlerinde yapılandırılmamış giriş/çıkış yüzeyinin kilitlenmesi sorunu düzeltildi.
- Yeni Futures uygulamalarına geçiş
- Daha kapsamlı testler için test düzeltmeleri
- Temel entegrasyon testi artık fotoğrafların çekim zamanını gösteriyor
- Yürütücüler için dahili uyumluluk sınıfı geliştirildi.
- Zamanlama testi uygulaması, görüntü yakalamak için önceki işlemin tamamlanmasını bekler ve daha iyi kararlılık sağlar.
Uzantılar
- Sürüm oluşturma kontrolleri eklendi
- Ek test kapsamı: uzantı etkinliği geri çağırmaları
- Dahili olarak karşılık gelen resim ve meta verilerle ilgili iyileştirmeler
- Test uygulamasında mod değiştirme ile ilgili düzeltmeler
Camera-Camera2 ve Camera-Core 1.0.0-alpha02 sürümü
5 Haziran 2019
androidx.camera:camera-core:1.0.0-alpha02 ve androidx.camera:camera-camera2:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü şu taahhütleri içerir.
Hata düzeltmeleri
- Emülatör kullanılırken karşılaşılan sıfıra bölme sorunu düzeltildi.
- Kullanım alanlarının bağlantısı hızlı bir şekilde kaldırılıp yeniden bağlanırken hızlıca fotoğraf çekildiğinde bazı cihazlarda oluşan NullPointerException/Surface Abandoned hatası düzeltildi.
- Ödeme alma isteği güncellemelerinin tüm platformları tutarlı bir şekilde etkilemesini sağlamak için dahili sorun düzeltildi.
- Yeni uygulama örneklerinde kullanım alanları yeniden başlatılırken kararlılık iyileştirmeleri
- API'de yürütücüleri desteklemeye hazırlanmak için dahili mimari değişiklikleri
- CameraX sınıfı ve yaşam döngüsü yönetimiyle ilgili ek Javadoc açıklamaları
- Antelope performans testi uygulaması için enstrümantasyon testi eklendi
- Uygulama Proguard yapılandırmasında "-keepattributes Signature" ihtiyacını ortadan kaldırma
Camera-Camera2 ve Camera-Core 1.0.0-alpha01
7 Mayıs 2019
androidx.camera:camera-core:1.0.0-alpha01 ve androidx.camera:camera-camera2:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü bu kayıtları içerir.
Camera-Lifecycle Sürüm 1.0.0-beta11
14 Ekim 2020
androidx.camera:camera-lifecycle:1.0.0-beta11 yayınlandı. 1.0.0-beta11 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
<UseCase>.getTargetRotation(), Builder veya UseCase'de bir targetRotation ayarlanmadığı sürece bir Camera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0değerini döndürür. (I80fcd)
Camera-Lifecycle Sürüm 1.0.0-beta10
23 Eylül 2020
androidx.camera:camera-lifecycle:1.0.0-beta10 yayınlandı. 1.0.0-beta10 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u destekleyen 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ınlandı. 1.0.0-beta09 sürümü bu kayıtları içerir.
Camera-Lifecycle Sürüm 1.0.0-beta08
19 Ağustos 2020
androidx.camera:camera-lifecycle:1.0.0-beta08 yayınlandı. 1.0.0-beta08 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
Context.getApplicationContext()yönteminden bir Application nesnesi döndürmeyen bir Context kullanıldığında başlatma işlemi artık kilitlenmeyecek. (I3d3c9, b/160817073)
Camera-Lifecycle Sürüm 1.0.0-beta07
22 Temmuz 2020
androidx.camera:camera-lifecycle:1.0.0-beta07 yayınlandı. 1.0.0-beta07 sürümü bu kayıtları içerir.
Camera-Lifecycle Sürüm 1.0.0-beta06
24 Haziran 2020
androidx.camera:camera-lifecycle:1.0.0-beta06 yayınlandı. 1.0.0-beta06 sürümü bu kayıtları içerir.
API Değişiklikleri
- CameraX artık ProcessCameraProvider#getInstance() çağrılmadan önce ProcessCameraProvider#configureInstance() ile yapılandırılabilir. Bu sayede, uygulamanın Application sınıfında CameraXConfig.Provider'ın uygulanması gerekmeden CameraXConfig özelleştirilebilir. (Ia1a8d)
Camera-Lifecycle Sürüm 1.0.0-beta05
10 Haziran 2020
androidx.camera:camera-lifecycle:1.0.0-beta05 yayınlandı. 1.0.0-beta05 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında yaşanan kilitlenme sorunu düzeltildi.
CameraUnavailableExceptioniçeren birInitializationException, uygulamanın kilitlenmesine neden olmak yerine başlatma sonucununListenableFuturedeğerine ayarlanır. (I9909a, b/149413835)
Camera-Lifecycle Sürüm 1.0.0-beta04
27 Mayıs 2020
androidx.camera:camera-lifecycle:1.0.0-beta04 yayınlandı. 1.0.0-beta04 sürümü bu kayıtları içerir.
Camera-Lifecycle Sürüm 1.0.0-beta03
15 Nisan 2020
androidx.camera:camera-lifecycle:1.0.0-beta03 yayınlandı. 1.0.0-beta03 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Beta03'te, sıfır
UseCaseilebindToLifecycle()çağrıldığında istisna oluşturulmasına neden olan gerileme düzeltildi. Bu,UseCasebağlamadanCameraalınmasını engelliyordu. camera-coresürümünü desteklemek için yapılan düzeltmeler
Camera-Lifecycle Sürüm 1.0.0-beta01
26 Şubat 2020
androidx.camera:camera-lifecycle:1.0.0-beta01 yayınlandı. 1.0.0-beta01 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- İlk kullanıma hazırlama sırasında
ProcessCameraProvideralınırken varsayılan bir yapılandırmanın kullanıldığını veApplication'i genişletmenin isteğe bağlı olduğunu belirten dokümanlar düzeltildi. (I5e395)
Camera-Lifecycle Sürüm 1.0.0-beta02
1 Nisan 2020
androidx.camera:camera-lifecycle:1.0.0-beta02 yayınlandı. 1.0.0-beta02 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
camera-camera2:1.0.0-beta02vecamera-core:1.0.0-beta02yapılarındaki hata düzeltmelerini destekleyecek şekilde güncellendi.
Camera-Lifecycle Sürüm 1.0.0-alpha10
10 Şubat 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü şu taahhütleri içerir.
API Değişiklikleri
- BindToLifecycle, unbind ve unbindAll yöntemlerine
@MainThreadek açıklaması eklendi. (I990d2)
Camera-Lifecycle Sürüm 1.0.0-alpha03
22 Ocak 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü bu kayıtları içerir.
Güncellemeler
- Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler yapıldı.
Camera-Lifecycle Sürüm 1.0.0-alpha02
18 Aralık 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü şu taahhütleri içerir.
Bağımlılık değişiklikleri
androidx.camera:camera-core:1.0.0-alpha08kullanılacak şekilde güncellendi.
Camera-Lifecycle Sürüm 1.0.0-alpha01
4 Aralık 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01 yayınlandı. camera-lifecycle 1.0.0-alpha01 sürümü şu commit'leri içerir:
API notları
- camera-lifecycle yapısı eklendi. Bu yapı,
LifeCycleCameraProviderarayüzünü veProcessCameraProvideradlı bir uygulamayı sağlar. Bu uygulama, önceki CameraX sınıfının temel işlevlerinin çoğunu sağlar vegetInstance()yöntemiyle elde edilir. - Uygulamaların CameraX'i kullanabilmesi için camera-lifecycle kitaplığını içermesi gerekir.
ProcessCameraProviderkullanarak CameraX'i nasıl başlatacağınızı öğrenmek için camera-core bölümündeki notlara bakın.
Camera-Extensions ve Camera-View Sürüm 1.0.0
Sürüm 1.0.0-alpha32
15 Aralık 2021
androidx.camera:camera-extensions:1.0.0-alpha32 ve androidx.camera:camera-view:1.0.0-alpha32 yayınlandı. 1.0.0-alpha32 sürümü bu commit'leri içerir.
API Değişiklikleri
- Dahili sınıflardan/arayüzlerden gereksiz
@RequiresApi(21)ek açıklamaları kaldırıldı. (I8e286, b/204917951) - camera-extensions yapısı için API dosyalarını güncelleme (If683a, b/161377155)
Hata Düzeltmeleri
VideoCapturebağlandığında uygulamanın uzantı modlarını etkinleştirmesine izin verme. CameraX uzantıları yalnızcaImageCapturevePreviewdillerini destekler.VideoCapturehenüz desteklenmiyor. UygulamaVideoCapturebağlar ve herhangi bir uzantı modunu etkinleştirirseIllegalArgumentExceptionhatası verilir. (I0d87b)CameraSelector#filter, sonuç kümesi boş olduğunda artıkIllegalArgumentExceptionhatası vermiyor. (I27804)ListenableFuturedöndürdüğü içinExtensionsManager#getInstanceAPI'sigetInstanceAsyncolarak yeniden adlandırıldı. İşlev adının Async son eki, işlevin eşzamansız bir işlev olduğunu açıkça gösterebilir. (I279d2)- Kullanıcılar,
ImageCapturekullanım alanı için hangi boyutların desteklendiğini bilemediğinden ve döndürülen gecikme bilgisinin maksimum yakalama çıkış boyutu için mi yoksa giriş çözünürlüğü parametresi için mi olduğunu ayırt edemediğinden çözünürlük parametresiniExtensionsManager#getEstimatedCaptureLatencyRangeAPI'sinden kaldırın. (I74bb2) ExtensionsManagerişlevlerininCameraProviderparametresinigetInstance()API'sine taşıyın. Böylece kullanıcılarınExtensionsManagerişlevlerini her çağırdığındaCameraProviderparametresini girmesi gerekmez. (Ic7e48)
1.0.0-alpha31 sürümü
17 Kasım 2021
androidx.camera:camera-extensions:1.0.0-alpha31 ve androidx.camera:camera-view:1.0.0-alpha31 yayınlandı. 1.0.0-alpha31 sürümü bu kayıtları içerir.
API Değişiklikleri
- CameraSelector'a dayalı bir CameraInfo listesini filtrelemek için herkese açık API'ye CameraSelector#filter eklendi. (I105d0)
Hata Düzeltmeleri
- Belirli cihazlarda uzantı modu hızlı bir şekilde değiştirilirken yaşanan kilitlenme sorunu düzeltildi. (Iebbef)
Sürüm 1.0.0-alpha30
13 Ekim 2021
androidx.camera:camera-extensions:1.0.0-alpha30 ve androidx.camera:camera-view:1.0.0-alpha30 yayınlandı. 1.0.0-alpha30 sürümü bu kayıtları içerir.
API Değişiklikleri
- Tüm CameraX sınıflarına @RequiresApi(21) ek açıklaması eklendi ve AndroidManifest.xml dosyasından minSdkVersion kaldırıldı. Bu sayede camera-core, minSdkVersion'si 21'den küçük olan ancak API 21 ve sonraki sürümleri temel alan kod yollarını koşullu olarak kullanmak isteyen uygulamalara kolayca entegre edilebilir. minSdkVersion 21 veya daha yüksek olan uygulamalarda bu değişiklik için herhangi bir işlem yapılması gerekmez. (Ie7f2e, b/200599470)
Hata Düzeltmeleri
- Proguard etkinleştirildiğinde ortaya çıkan AbstractMethodError sorunu düzeltildi. (Iae468, b/201177844)
Sürüm 1.0.0-alpha29
29 Eylül 2021
androidx.camera:camera-extensions:1.0.0-alpha29 ve androidx.camera:camera-view:1.0.0-alpha29 yayınlandı. 1.0.0-alpha29 sürümü bu kayıtları içerir.
API Değişiklikleri
- API'ler artık deneysel olmadığından ExperimentalUseCaseGroup ek açıklaması kaldırıldı. (I01ef5)
RotationProvider#removeAllListeners()öğesini kaldır. Lütfen bunun yerineRotationProvider#removeListener(...)politikasını kullanın. (Id9d4a)- RotationReceiver sınıfı güncellendi: set/clear Listener, add/remove/removeAll olarak değiştirildi, varsayılan olarak ana iş parçacığını kullanan setListener varyasyonu kaldırıldı ve yöntemlerin ek açıklaması eklendi. (Ib1669)
Hata Düzeltmeleri
- Uzantı modunun ne yaptığını doğru şekilde göstermek için ExtensionMode#BEAUTY, FACE_RETOUCH olarak yeniden adlandırıldı. (I61f54, b/198515274)
- Tek bir etkinlikte birden fazla CameraController ve PreviewView kullanıldığında kameranın beklenmedik şekilde kapanmasına neden olan sorun düzeltildi. (Ibfd18, b/197539358)
Sürüm 1.0.0-alpha28
18 Ağustos 2021
androidx.camera:camera-extensions:1.0.0-alpha28 ve androidx.camera:camera-view:1.0.0-alpha28 yayınlandı. 1.0.0-alpha28 sürümü bu kayıtları içerir.
API Değişiklikleri
- API'ler artık deneysel olmadığından ExperimentalUseCaseGroupLifecycle ek açıklaması kaldırıldı. (I17b85)
- RotationListener yeniden düzenlendi ve RotationProvider olarak yeniden adlandırıldı. Aynı özelliği biraz farklı bir API ile sunmaya devam eder. (Idffc5)
- TAP_TO_FOCUS_UNSUCCESSFUL, TAP_TO_FOCUS_NOT_FOCUSED olarak ve TAP_TO_FOCUS_SUCCESSFUL, TAP_TO_FOCUS_FOCUSED olarak yeniden adlandırıldı. OutputSize final yapıldı (I099fa)
Hata Düzeltmeleri
- Desteği sonlandırılan
<EffectName><UseCase>Extendersınıfları, ExtensionsErrorListener ve ilgili ExtensionsManager API'leri kaldırıldı. (I3b8c3)
Sürüm 1.0.0-alpha27
21 Temmuz 2021
androidx.camera:camera-extensions:1.0.0-alpha27 ve androidx.camera:camera-view:1.0.0-alpha27 yayınlandı. 1.0.0-alpha27 sürümü bu kayıtları içerir.
API Değişiklikleri
- Görüntü alanı API'si deneysel aşamadan çıkarıldı. API'nin deneysel ek açıklamasını kaldırın. (I717ea)
CoordinateTransform#getTransform,CoordinateTransform#transformolarak yeniden adlandırıldı ve JavaDoc güncellendi (I864ae)
Hata Düzeltmeleri
- Compose kullanıcı arayüzüyle birlikte kullanıldığında
PreviewView PERFORMANCEmodunun uzaması sorunu düzeltildi. (Ie1137, b/183864890)
Sürüm 1.0.0-alpha26
30 Haziran 2021
androidx.camera:camera-extensions:1.0.0-alpha26 ve androidx.camera:camera-view:1.0.0-alpha26 yayınlandı. 1.0.0-alpha26 sürümü bu commit'leri içerir.
API Değişiklikleri
- En son dokunarak odaklama sonucunu gösteren yeni bir yöntem
CameraController#getTapToFocusState()ekleyin. (Iaccb0) - CameraController'a daha fazla kamera çekirdeği özelliği ekleme: hedef en boy oranı, hedef çözünürlük, yakalama modu, CameraControl ve özel yürütücüler için alıcılar/ayarlayıcılar. (Iea8f2)
- Yüzey rotasyonu değişikliklerini alan bir RotationReceiver sınıfı ekleyin. Bu, cihaz sabit dikey/yatay moddayken hedef dönüşü ayarlamak için kullanılabilir. (Ib278f)
- ExtensionsManager sınıfında yeni getEstimatedCaptureLatencyRange herkese açık API'leri kullanıma sunuldu. (I6a8ec)
- ExtensionsErrorListener desteği sonlandırıldı. Şu anda bu arayüz yalnızca, uzantı modları etkinleştirilirken Preview veya ImageCapture'ın eksik olup olmadığını izlemek için kullanılır. CameraX, uzantı işlevlerinin düzgün çalışması için otomatik olarak ek bir Önizleme veya ImageCapture ekler. Bu tarihten sonra bu arayüz üzerinden hata bildirilmeyecektir. (I47d9e)
- Yeni ExtensionsManager getInstance, isExtensionAvailable ve getExtensionEnabledCameraSelector herkese açık API'leri kullanıma sunuldu ve eski
<EffectName><UseCase>Extendersınıfları ile ilgili API'ler kullanımdan kaldırıldı. (I329e6)
Sürüm 1.0.0-alpha25
2 Haziran 2021
androidx.camera:camera-extensions:1.0.0-alpha25 ve androidx.camera:camera-view:1.0.0-alpha25 yayınlandı. 1.0.0-alpha25 sürümü şu taahhütleri içerir:
API Değişiklikleri
- ExperimentalCameraFilter API'leri artık deneysel aşamadan çıktı ve resmi API'ler haline geldi. Ek açıklamalı OptIn olmadan kullanılabilirler. (I4bc94)
- Kullanım alanları arasında koordinatları dönüştüren bir yardımcı program ekleyin. Örnek kullanım: ImageAnalysis kullanım alanında algılanan koordinatları dönüştürme ve algılanan nesneyi önizlemede vurgulama. (I63ab1, b/137515129)
CameraViewkaldırıldı.CameraView,CameraControllerile değiştirildi. Geçiş işleminin nasıl yapılacağını öğrenmek için lütfen geçiş rehberini inceleyin. (Id5005)
Hata Düzeltmeleri
ExperimentalUseCaseGroupLifecycle,ExperimentalUseCaseGroupile değiştirildi. (I3b2ef, b/159033688)
Sürüm 1.0.0-alpha24
21 Nisan 2021
androidx.camera:camera-extensions:1.0.0-alpha24 ve androidx.camera:camera-view:1.0.0-alpha24 yayınlandı. 1.0.0-alpha24 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Deneysel API'lerdeki
@Experimentalek açıklaması@RequiresOptInile değiştirildi. Deneysel API'leri çağırmak için desteği sonlandırılanandroidx.annotation.experimental.UseExperimentalyerineandroidx.annotation.OptInkullanın. (Iff226) - Samsung J5 Prime'da PreviewView'un uzatılması sorunu düzeltildi (Ib10b6).
Camera Extensions ve View 1.0.0-alpha23 sürümü
24 Mart 2021
androidx.camera:camera-extensions:1.0.0-alpha23 ve androidx.camera:camera-view:1.0.0-alpha23 yayınlandı. 1.0.0-alpha23 sürümü şu commit'leri içerir:
API Değişiklikleri
- CameraView kullanımdan kaldırılıyor. Lütfen bunun yerine
LifecycleCameraControllerpolitikasını kullanın. Geçiş rehberine (Idac2c) bakın. - setLinearZoom() işlevine FloatRange ek açıklaması eklendi (I69971)
Hata Düzeltmeleri
- Kamera görünümü bağımlılıkları, 1.0.0 yapılarını kullanacak şekilde sabitlendi. camera-view'a bağlı olmak, Gradle'ın bağımlılık çözümlemesinin camera-core, camera-camera2 ve camera-lifecycle'ı otomatik olarak en son 1.1.0 yapılarına yükseltmesine neden olmaz. Ancak camera-view, 1.1.0'ı kullanacak şekilde açıkça ayarlanmışsa bu yapılarla uyumludur. (Ic8fa1, b/181599852)
- PreviewView'da Samsung A3'ün uzatılmış önizlemesi düzeltildi. (Iacb30, b/180121821)
- Kamera başlatılmadan önce kamera seçicinin ayarlanamamasına neden olan sorun düzeltildi. (Ic8bd0)
Camera Extensions ve View 1.0.0-alpha22 sürümü
24 Şubat 2021
androidx.camera:camera-extensions:1.0.0-alpha22 ve androidx.camera:camera-view:1.0.0-alpha22 yayınlandı. 1.0.0-alpha22 sürümü bu commit'leri içerir.
API Değişiklikleri
- CameraController'a CameraInfo alıcısı ekleyin. (Ib8138, b/178251727)
Hata Düzeltmeleri
- Yalnızca Preview veya ImageCapture bağlıyken hataları bildirmek için ExtensionsErrorListener düzeltildi. (I5ae39)
Camera Extensions ve View 1.0.0-alpha21 sürümü
27 Ocak 2021
androidx.camera:camera-extensions:1.0.0-alpha21 ve androidx.camera:camera-view:1.0.0-alpha21 yayınlandı. 1.0.0-alpha21 sürümü bu kayıtları içerir.
Diğer kamera kitaplığı yapılarını desteklemek için yayınlanıyor.
Camera Extensions ve View 1.0.0-alpha20 sürümü
16 Aralık 2020
androidx.camera:camera-extensions:1.0.0-alpha20 ve androidx.camera:camera-view:1.0.0-alpha20 yayınlandı. 1.0.0-alpha20 sürümü bu taahhütleri içerir.
Diğer kamera kitaplığı yapılarını desteklemek için yayınlanıyor.
Camera-Extensions ve Camera-View 1.0.0-alpha19 sürümü
11 Kasım 2020
androidx.camera:camera-extensions:1.0.0-alpha19 ve androidx.camera:camera-view:1.0.0-alpha19 yayınlandı. 1.0.0-alpha19 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Kamera görünümüne
@ExperimentalVideoek açıklaması eklendi. Bu ek açıklama, deneysel video işlevlerini sunan API'leri işaretler. Bu işlevler, özellikler tam olarak geliştirildikçe değişebilir. Bu API'leri kullanan tüm yöntemler,markerClassolarakExperimentalVideoile@UseExperimentalek açıklamasını kullanmalıdır. (I6d729)
Camera-Extensions 1.0.0-alpha18 sürümü
14 Ekim 2020
androidx.camera:camera-extensions:1.0.0-alpha18 yayınlandı. 1.0.0-alpha18 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- CameraX başlatma ve bindToLifecycle gecikmesi iyileştirildi (I61dc5).
<UseCase>.getTargetRotation(), Builder veya UseCase'de bir targetRotation ayarlanmadığı sürece bir Camera örneğine eklenmeden önce çağrılırsaSurface.ROTATION_0değerini döndürür. (I80fcd)
Camera-View Sürüm 1.0.0-alpha18
14 Ekim 2020
androidx.camera:camera-view:1.0.0-alpha18 yayınlandı. 1.0.0-alpha18 sürümü şu commit'leri içerir:
Diğer kamera kitaplığı yapılarını desteklemek için yayınlanıyor.
Camera-Extensions 1.0.0-alpha17 sürümü
23 Eylül 2020
androidx.camera:camera-extensions:1.0.0-alpha17 yayınlandı. 1.0.0-alpha17 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u destekleyen sürüm
Camera-View Sürüm 1.0.0-alpha17
23 Eylül 2020
androidx.camera:camera-view:1.0.0-alpha17 yayınlandı. 1.0.0-alpha17 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Camera-Core 1.0.0-beta10'u destekleyen sürüm
Camera-Extensions 1.0.0-alpha16 sürümü
16 Eylül 2020
androidx.camera:camera-extensions:1.0.0-alpha16 yayınlandı. 1.0.0-alpha16 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Kamera örneklerinde uzantıları etkinleştirmek ve sorgulamak için kullanılan
Extensionsnesnesini almak üzereExtensionsManageryöntemini ekledik (I4fb7e).
Camera-View Sürüm 1.0.0-alpha16
16 Eylül 2020
androidx.camera:camera-view:1.0.0-alpha16 yayınlandı. 1.0.0-alpha16 sürümü bu commit'leri içerir.
API Değişiklikleri
PreviewView#setDeviceRotationForRemoteDisplayMode()vePreviewView#getDeviceRotationForRemoteDisplayMode()kaldırıldı. İki yöntem, istenen rotasyon ekran rotasyonu olmadığında (ör. uzaktan ekran) önizleme rotasyonunu özelleştirmek için kullanılır. Ekran dışı önizleme rotasyonunu şimdi işlemek iç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 Preview.SurfaceProvider'ın aynı örneğini döndürür. (Iff83c)
Hata Düzeltmeleri
- Uzantı efekti etkinse ve tedarikçi firma kitaplığı uygulamasının çıkış yüzeyinde özel bir işlem yapması gerekiyorsa PreviewView, TextureView'u kullanmaya zorlandı. (I0c3cc)
- Önizleme için rastgele hedef rotasyonuna izin ver. Dönüşüm bilgileri hesaplanır ve yeni bir
TranformationInfoListenergeri çağırma işlevi aracılığıyla kullanıcıya anında döndürülür. (I21470)
Bilinen Sorunlar
- PreviewView'da, son kullanıcı PreviewView'u tıkladığında
OnClickListener#onClick()çağrılmaz. Dokunma etkinliği, PreviewView#onTouchEvent() tarafından yanlışlıkla kullanılıyor. Bu sorun, sonraki sürümde düzeltilecektir. - ViewPort, PreviewView ile birlikte kullanılıyorsa
PreviewView#getMeteringPointFactory()öğesinden alınan MeteringPoint yanlış olabilir.
Kamera Uzantıları 1.0.0-alpha15 sürümü
19 Ağustos 2020
androidx.camera:camera-extensions:1.0.0-alpha15 yayınlandı. 1.0.0-alpha15 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
ExtensionsManager.init()yöntemi artık 0 bağımsız değişken yerine parametre olarak bir Context alır. (Ife754)Context.getApplicationContext()'dan bir Application nesnesi döndürmeyen bir Context kullanıldığında başlatma işlemi artık kilitlenmeyecek. (I3d3c9, b/160817073)Camera-View Sürüm 1.0.0-alpha15
19 Ağustos 2020
androidx.camera:camera-view:1.0.0-alpha15 yayınlandı. 1.0.0-alpha15 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
DisplayOrientedMeteringPointFactory,CameraSelectoryerine birCameraInfoörneği alır. Böylece, fabrikanın hangi kamera için nokta oluşturacağı doğrudan eşlenir.DisplayOrientedMeteringPointFactorykullanan tüm sınıflar,CameraSelectoryerineCameraInfoörneği de alır. (I400c1)TextureViewMeteringPointFactorykaldırıldı.PreviewView,TextureViewveyaSurfaceViewkullanıp kullanmadığına bakılmaksızın bir ölçüm noktası fabrikası oluşturmak için herkese açık bir API (createMeteringPointFactory()) sağlar. (Ide693)- PreviewView'un
SURFACE_VIEW/TEXTURE_VIEWuygulama modlarınıPERFORMANCE/COMPATIBLEolarak yeniden adlandırın.PERFORMANCEeskiSURFACE_VIEWmodu,COMPATIBLEise eskiTEXTURE_VIEWmodudur. (I0edc2) - Resim yakalama için meta verilerdeki yatay çevirme işaretini kamera yönüne göre üzerine yazın. (I28499)
Kamera Uzantıları 1.0.0-alpha14 sürümü
22 Temmuz 2020
androidx.camera:camera-extensions:1.0.0-alpha14 yayınlandı. 1.0.0-alpha14 sürümü bu kayıtları içerir.
Camera-View Sürüm 1.0.0-alpha14
22 Temmuz 2020
androidx.camera:camera-view:1.0.0-alpha14 yayınlandı. 1.0.0-alpha14 sürümü bu kayıtları içerir.
Camera-Extensions Sürüm 1.0.0-alpha13
24 Haziran 2020
androidx.camera:camera-extensions:1.0.0-alpha13 yayınlandı. 1.0.0-alpha13 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Kameraları kamera kimliğine ve CameraCharacteristics'e göre filtrelemek için deneysel arayüzler eklendi. (I28f61)
Camera-View Sürüm 1.0.0-alpha13
24 Haziran 2020
androidx.camera:camera-view:1.0.0-alpha13 yayınlandı. 1.0.0-alpha13 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- CameraView, Lifecycle'ı bağlandıktan kısa bir süre sonra DESTROYED durumuna geçen bir LifecycleOwner'a bağlanırken artık IllegalArgumentException ile kilitlenmiyor. DESTROYED durumundaki bağlama yaşam döngüleri, kamerayı açmaya çalışmaz. (I7c2b8)
- PreviewView StreamState artık CameraView.getPreviewStreamState() (I21a2b) üzerinden kullanılabilir.
Camera-Extensions 1.0.0-alpha12 sürümü
10 Haziran 2020
androidx.camera:camera-extensions:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Telefon Rahatsız Etmeyin modundayken CameraX başlatılırken uygulama başlangıcında yaşanan kilitlenme sorunu düzeltildi.
CameraUnavailableExceptioniçeren birInitializationException, uygulamanın kilitlenmesine neden olmak yerine başlatma sonucununListenableFuturedeğerine ayarlanır. (I9909a, b/149413835)
Camera-View Sürüm 1.0.0-alpha12
10 Haziran 2020
androidx.camera:camera-view:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü şu commit'leri içerir:
Hata Düzeltmeleri
- Önizleme yüzeyinde görüntülenen içeriğin bit eşlem temsilini döndüren
PreviewView#getBitmap()API'sini ekleyin. (I9b500, b/157659818)
Camera-Extensions 1.0.0-alpha11 sürümü
27 Mayıs 2020
androidx.camera:camera-extensions:1.0.0-alpha11 yayınlandı. 1.0.0-alpha11 sürümü bu kayıtları içerir.
Camera-View Sürüm 1.0.0-alpha12
10 Haziran 2020
androidx.camera:camera-view:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü bu kayıtları içerir.
Yeni özellikler
API Değişiklikleri
Hata Düzeltmeleri
- Önizleme yüzeyinde görüntülenen içeriğin bit eşlem temsilini döndüren
PreviewView#getBitmap()API'sini ekleyin. (I9b500, b/157659818)
Camera-View 1.0.0-alpha11 sürümü
27 Mayıs 2020
androidx.camera:camera-view:1.0.0-alpha11 yayınlandı. 1.0.0-alpha11 sürümü bu kayıtları içerir.
API Değişiklikleri
- Uygulamaların önizlemenin yayınlanıp yayınlanmadığını gözlemlemesine olanak tanıyan
PreviewView#getPreviewStreamStateAPI'si eklendi. PreviewView, TEXTURE_VIEW modundayken STREAMING durumu, önizleme resminin görünür olmasını da garanti eder. (Ic0906, b/154652477) - Uygulama, uzak ekran modunda çalışıyorsa dönüşüm hesaplamaları için cihaz döndürme özelliği sağlayan
PreviewView#setDeviceRotationForRemoteDisplayMode()API'si eklendi. (I59b95, b/153514525)
Hata Düzeltmeleri
- Android 7.0 ve önceki sürümleri çalıştıran
FULL/LIMITED/LEVEL_3kameralarda önizleme bozulması sorunu düzeltildi. Android sürümü 7.0 veya daha eski olduğundaImplementationMode#TEXTURE_VIEWmodu zorunlu olarak kullanılır. (I83e30, b/155085307) CameraInfoparametresiPreviewView#createSurfaceProvider()öğesinden kaldırıldı.PreviewViewartık bu parametreyi dahili olarakSurfaceRequestöğesinden alıyor. (If18f0, b/154652477)- VideoCapture'ın CameraView'daki varsayılan en-boy oranı 16:9 olarak düzeltildi. (Ie6a7b, b/153237864)
- ViewPager2'de
PreviewViewparçası kaydırılarak kapatılıp tekrar kaydırılarak açıldığında oluşanPreviewsiyah ekran sorunları düzeltildi. AyrıcaremoveView(previewview)ve ardındanaddView(previewView)ile ilgili sorun da düzeltildi. (Iab555, b/149877652, b/147354615) - Resimlerin
UriveOutputStreamuygulamalarına kaydedilmesine izin vermek içinCameraView#takePicture()API'sini güncelleyin. Test uygulamasını, standart örnek olarakUrikullanacak şekilde güncelleyin. (Ia2459, b/153607583) ScaleTypeözelliğini ayarlayarak PreviewView'un ölçek türünü bir XML düzeninden ayarlayabilirsiniz. (I08565, b/153015659)CameraView.ScaleTypekaldırıldı. Bunun yerine, CameraView ile bir ölçek türü ayarlamak/almak içinPreviewView.ScaleTypekullanın. (Ia8974, b/153014831)PreviewViewöğesine varsayılan olarak bir arka plan rengi verin (henüz yoksa). Bu sayede, önizleme yayını başlamadan önce arkasındaki içerik görünmez. (I09fad)
Camera-Extensions 1.0.0-alpha10 sürümü
15 Nisan 2020
androidx.camera:camera-extensions:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
- Camera-Core'un yayınlanmasını destekleyen düzeltmeler
Camera-View Sürüm 1.0.0-alpha10
15 Nisan 2020
androidx.camera:camera-view:1.0.0-alpha010 yayınlandı. 1.0.0-alpha010 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
PreviewViewuygulamasının surfaceView uygulamasının belirli cihazlarda iyi çalışmadığı ve önizleme devam ettirildikten sonra uygulamanın kilitlenmesine neden olduğu bilinen bir sorun düzeltildi. (I5ed6b)
Camera-Extensions 1.0.0-alpha09 sürümü
1 Nisan 2020
androidx.camera:camera-extensions:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü bu kayıtları içerir.
Hata Düzeltmeleri
camera-camera2:1.0.0-beta02,camera-core:1.0.0-beta02vecamera-lifecycle:1.0.0-beta02yapılarındaki hata düzeltmelerini destekleyecek şekilde güncellendi.
Camera-View Sürüm 1.0.0-alpha09
1 Nisan 2020
androidx.camera:camera-view:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü bu kayıtları içerir.
Bilinen Sorunlar
ImplementationMode.SURFACE_VIEWilePreviewViewkullanımı bazı cihazlarda iyi çalışmayabilir. Bunun nedeni, önizleme için kullanılanSurfaceView'nin, içinde bulunduğu pencerenin yaşam döngüsü durdurulduğunda yüzeyini geçersiz kılmasıdır. Yeniden başlatıldığında kamera tekrar açılır veSurfaceView'nin yüzeyi tekrar geçerli olmadan önce önizlemeyi devam ettirmeye çalışabilir. ŞimdilikImplementationMode.TEXTURE_VIEWkullanmanız gerekir.
API Değişiklikleri
PreviewView.setImplementationMode(),PreviewView.setPreferredImplementationMode()olarak yeniden adlandırıldı.PreviewView.getImplementationMode(),PreviewView.getPreferredImplementationMode()olarak yeniden adlandırıldı.PreviewView.getSurfaceProvider(),PreviewView.createSurfaceProvider(CameraInfo)ile değiştirildi. Bu yöntem, mümkün olduğundaImplementationMode.SURFACE_VIEWkullanarak önizlemeyi optimize etmek için kullanılan boş değer atanabilir birCameraInfoörneği alır. Boş bir örnek iletilirse veya tercih edilen uygulama modunuImplementationMode.TEXTURE_VIEWolarak ayarlarsanız dahili olarakImplementationMode.TEXTURE_VIEWkullanılır.Aşağıdaki kod örneğinde, önizleme kullanım alanının daha önce PreviewView ile nasıl kullanıldığı gösterilmektedir.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)Şu anda aşağıdakileri yazabilirsiniz:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))@UiThreadek açıklamasıPreviewView.getSurfaceProvider()öğesine eklendi. Bu, ana ileti dizisinden çağrılması gerektiği anlamına gelir. (I192f3)Önizlemenin ölçek türünü ayarlamanıza olanak tanıyan
PreviewView.setScaleType()eklendi.PreviewView.ScaleTypeiçindeki değerlerden birini kabul eder ve varsayılan olarakPreviewView.ScaleType.FILL_CENTERdeğerini alır.PreviewView.getScaleType()eklendi.implementationModeözelliğini kullanarak XML düzenindePreviewViewiçin uygulama modunu ayarlama desteği kaldırıldı.PreviewViewiçindeki (x, y) değerlerininMeteringPointdeğerine dönüştürülmesini desteklemek için PreviewView'acreateMeteringPointFactory()API'si eklendi. (Ib36d7)
Hata Düzeltmeleri
PreviewViewboyutu değiştikten sonra yanlış önizlemenin gösterildiği durumlar düzeltildi. (I71101)
Camera-Extensions 1.0.0-alpha08 sürümü
26 Şubat 2020
androidx.camera:camera-extensions:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü şu commit'leri içerir.
Camera-View Sürüm 1.0.0-alpha08
26 Şubat 2020
androidx.camera:camera-view:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
SurfaceRequest.provideSurface()tarihliListenableFuture,ExecutorveCallbackile değiştirildi. Bu sayede,provideSurface()üzerinde istisnaların işlenmesi gerekmediğinden API basitleştirilir veprovideSurface()geri çağırma işlevinin iptal edilemeyeceği zorunlu kılınır. Bu, yüzeylerin erken yayınlanması nedeniyle eski cihazlarda kilitlenmeleri önlemek için yapılır.SurfaceRequest.Resultnesnesi artık birSurfaceRequestöğesinin, sağlananSurfaceöğesini nasıl kullandığını izlemek için kullanılıyor. (I7854b)SurfaceRequest.setSurface(Surface),SurfaceRequest.provideSurface(Surface)olarak veSurfaceRequest.setWillNotComplete(),SurfaceRequest.willNotProvideSurface()olarak yeniden adlandırıldı. (I224fe)- Varsayılan
CameraXConfigsağlayıcıyı ayarlayan işaret korunarak ProGuard etkinleştirilmiş uygulama varyantlarının başlatılması düzeltildi. (I2d6c1)
Camera-Extensions 1.0.0-alpha07 sürümü
10 Şubat 2020
androidx.camera:camera-extensions:1.0.0-alpha07 yayınlandı. 1.0.0-alpha07 sürümü şu taahhütleri içerir.
Hata Düzeltmeleri
- Daha önce
ImageCapture.OnImageSavedCallback.onError()veImageCapture.OnImageCapturedCallback.onError()içinde iletilen bağımsız değişkenler, daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişkenle (ImageCaptureException) değiştirildi. - Daha önce
ImageCapture.OnImageSavedCallback.onImageSaved()içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2)
Camera-View Sürüm 1.0.0-alpha07
10 Şubat 2020
androidx.camera:camera-view:1.0.0-alpha07 yayınlandı. 1.0.0-alpha07 sürümü şu commit'leri içerir.
API Değişiklikleri
PreviewViewöğesininTextureViewuygulaması, artıkTextureViewboyutunu kamera sensörü çıkış boyutuna ayarlar ve ardından üst öğesiPreviewView'i dolduracak şekilde ölçeklendirir. Kamera önizlemesinin kullanıcı arayüzünün bir bölümünü (örneğin, tüm ekranı) doldurmasını istiyorsanızPreviewViewboyutunu sabit bir değere ayarlamamanız veya içeriğini sarmalamasını sağlamamanız gerekir (örneğin, "wrap_content" özelliğini kullanarak). Bu durum, kamera önizlemesininPreviewViewöğesinin yalnızca bir kısmını doldurmasına neden olabilir (kamera sensörü çıkış boyutu daha küçükse). Bunun yerine,PreviewViewöğesini üst öğesi kadar büyük olacak şekilde ayarlamanız gerekir (örneğin, "match_parent" özelliğini kullanarak). (1204869)
Hata Düzeltmeleri
ImageCapture, resimlerinUriveOutputStreamuygulamalarına kaydedilmesine izin verecek şekilde güncellendi. Aşırı yüklenmiştakePictureyöntemleri tek bir yöntemde birleştirildi. Test uygulaması, standart örnek olarakUrikullanacak şekilde güncellendi. (Ia3bec)Preview.PreviewSurfaceProvider,Preview.SurfaceProviderolarak yeniden adlandırıldı.SurfaceProviderartık geliştiricilerin kendiListenableFutureöğelerini oluşturmasını gerektirmiyor veSurfacesağlamak artık yeni birSurfaceRequestnesnesi aracılığıyla yapılıyor.Preview.getPreviewSurfaceProvider()yöntemi,Previewdiğer sınıflarla (ör.PreviewView) eşlendiğinde kötüye kullanılma potansiyeli nedeniyle kaldırıldı. (I20105)- Daha önce
ImageCapture.OnImageSavedCallback.onError()veImageCapture.OnImageCapturedCallback.onError()içinde iletilen bağımsız değişkenler, daha önce iletilen tüm bilgileri içeren tek bir bağımsız değişkenle (ImageCaptureException) değiştirildi. - Daha önce
ImageCapture.OnImageSavedCallback.onImageSaved()içinde iletilen dosya bağımsız değişkeni kaldırıldı. (I750d2) - API güncellendi.
CameraInfosınıfınıngetZoomRatio(),getMaxZoomRatio(),getMinZoomRatio()vegetLinearZoom()yöntemleri,ZoomStateörneği döndürengetZoomState()yönteminde birleştirildi. (Ib19fe)
Camera-Extensions 1.0.0-alpha06 sürümü
22 Ocak 2020
androidx.camera:camera-extensions:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü şu commit'leri içerir.
Güncellemeler
- Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler yapıldı.
Camera-View Sürüm 1.0.0-alpha06
22 Ocak 2020
androidx.camera:camera-view:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü şu commit'leri içerir.
Güncellemeler
- Camera Core ve Camera2 değişikliklerini desteklemek için çeşitli düzeltmeler ve güncellemeler yapıldı.
Camera-Extensions 1.0.0-alpha05 sürümü
18 Aralık 2019
androidx.camera:camera-extensions:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü şu taahhütleri içerir.
Hata Düzeltmeleri
- Dahili Camera Core API'leriyle eşleşecek şekilde güncellendi.
Camera-View Sürüm 1.0.0-alpha05
18 Aralık 2019
androidx.camera:camera-view:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü bu kayıtları içerir.
Bilinen Sorunlar
- PreviewView kullanılırken en boy oranı yanlış olabilir (b/146215202).
Yeni özellikler
- SurfaceTexture'un yaşam döngüsünü, kameranın TextureView yüzeyini kullanımıyla senkronize eden
PreviewView.TextureViewImplementationadlı yeni bir sınıf uygulandı.
Camera-Extensions 1.0.0-alpha04 sürümü
4 Aralık 2019
androidx.camera:camera-extensions:1.0.0-alpha04 yayınlandı. camera-extensions 1.0.0-alpha04 sürümü şu commit'leri içerir
API değişiklikleri
Bir uzantının kullanılabilirliğini ve etkinleştirilmesini kontrol etmek için artık giriş parametresi olarak
CameraSelectorkullanılır. Bu, kullanım alanını bağlamak için kullanılanCameraSelectorile aynı olmalıdır.val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA val builder = ImageCapture.Builder() val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder) if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) { bokehImageCaptureExtender.enableExtension(cameraSelector) } val imageCapture = builder.build() mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)Uzantı kitaplığını kullanmadan önce uzantıları başlatmanız gerekir.
val availability = ExtensionsManager.init() Futures.addCallback<ExtensionsManager.ExtensionsAvailability>( availability, object : FutureCallback<ExtensionsManager.ExtensionsAvailability> { override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) { // Ready to make extensions calls } override fun onFailure(throwable: Throwable) { // Extensions could not be initialized } }, Executors.newSingleThreadExecutor() )
Camera-View Sürüm 1.0.0-alpha04
4 Aralık 2019
androidx.camera:camera-view:1.0.0-alpha04 yayınlandı. camera-view'un 1.0.0-alpha04 sürümü şu commit'leri içerir:
API değişiklikleri
- Önizleme kullanım alanından elde edilen çıkışın bir uygulamada kolayca gösterilmesi için
PreviewViewsınıfı sağlanır. Düzen,
PreviewViewiçerebilir:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />PreviewView, bir önizleme kullanım alanını kolayca bağlamak içinPreviewSurfaceProvidersağlar.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)API adlandırmasında "
ZoomLevel" artık "ZoomRatio" olarak adlandırılıyorBazı yöntem parametrelerinin null değer alabilme özelliği değişti
Camera-Extensions ve Camera-View 1.0.0-alpha03 sürümü
9 Ekim 2019
androidx.camera:camera-extensions:1.0.0-alpha03 ve androidx.camera:camera-view:1.0.0-alpha03 yayınlandı. Bunlar camera-extensions:1.0.0-alpha03 içinde yer alan commit'ler, bunlar ise camera-view:1.0.0-alpha03 içinde yer alan commit'ler.
Yeni özellikler
- Uzantılar için bağlam başlatıcı eklendi. Uzantı sürümü 1.1.0'a yükseltildi.
Camera-Extensions ve Camera-View Sürüm 1.0.0-alpha02
5 Eylül 2019
androidx.camera:camera-extensions:1.0.0-alpha02 ve androidx.camera:camera-view:1.0.0-alpha02 yayınlandı. camera-extensions:1.0.0-alpha02 sürümüne dahil edilen commit'ler ve camera-view:1.0.0-alpha02 sürümüne dahil edilen commit'ler bunlardır.
PreviewImageProcessorImpluygulamasının zaman damgalarını doğru şekilde uyguladığını doğrulamak için testler eklendi.- Nexus 5'te (API düzeyi 21)
ExtensionTesttest hatasını düzeltin ve önizlemenin kullanılabilir olduğundan emin olun.
Camera-Extensions ve Camera-View 1.0.0-alpha01 sürümü
7 Ağustos 2019
androidx.camera:camera-extensions:1.0.0-alpha01 ve androidx.camera:camera-view:1.0.0-alpha01 yayınlandı.
camera-extensions:1.0.0-alpha01 sürümüne dahil edilen commit'ler ve camera-view:1.0.0-alpha01 sürümüne dahil edilen commit'ler bunlardır.
- Desteklenen cihazlarda efektlere erişmek için gelecekteki Kamera Uzantıları'na yönelik yeni kitaplık. Bu kitaplık henüz geliştirme aşamasındadır.
- Yeni Camera View sınıfı. Bu kitaplık henüz geliştirme aşamasındadır.