CameraX
Tabel ini mencantumkan semua artefak dalam grup androidx.camera.
| Artefak | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| camera-camera2 | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-core | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-compose | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-effects | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-extensions | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
| camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
| camera-lifecycle | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-mlkit-vision | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-view | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-viewfinder | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
| camera-video | 1.5.1 | - | - | 1.6.0-alpha01 |
Pengujian perangkat
CameraX diuji di banyak perangkat di lab kami. Untuk melihat daftar perangkat yang saat ini ada di lab, lihat Perangkat CameraX yang diuji lab.
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada CameraX, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi
aplikasi atau modul Anda:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.6.0-alpha01" // 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.6.0-alpha01" // 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}") }
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Camera Viewfinder Compose Versi 1.0
Versi 1.0.0-alpha02
12 Juni 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Versi 1.0.0-alpha01
14 Mei 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
- Library baru. Library ini memperkenalkan composable ViewFinder native Compose, yang dapat digunakan dengan CameraX dan Camera2. Composable Viewfinder mendukung rasio aspek yang berbeda, dan penanganan peristiwa sentuhan.
Jendela Bidik Kamera Versi 1.4
Versi 1.4.0-alpha07
12 Juni 2024
androidx.camera:camera-viewfinder:1.4.0-alpha07 dan androidx.camera:camera-viewfinder-core:1.4.0-alpha07 dirilis. Versi 1.4.0-alpha07 berisi commit ini.
Versi 1.4.0-alpha06
14 Mei 2024
androidx.camera:camera-viewfinder:1.4.0-alpha06 dan androidx.camera:camera-viewfinder-core:1.4.0-alpha06 dirilis. Versi 1.4.0-alpha06 berisi commit ini.
Perubahan API
- Mengganti nama Enum
ImplementationModeViewfinderagar lebih mencerminkan implementasi yang mendasarinya, dan menambahkan konstanta tetap untukTransformationInfo.sourceRotation. (Ic6149) - Menambahkan
ZoomGestureDetector.ZoomEventuntuk merangkum status gestur zoom. (I84cdf)
Camera Versi 1.6
Versi 1.6.0-alpha01
22 Oktober 2025
androidx.camera:camera-*:1.6.0-alpha01 dirilis. Versi 1.6.0-alpha01 berisi commit ini.
Fitur Baru
- CameraX telah dimigrasikan ke stack kamera berperforma tinggi dan terpadu, yang juga digunakan oleh aplikasi kamera Pixel. Dikenal sebagai
CameraPipe, stack baru ini merupakan hasil kolaborasi antara tim CameraX dan Tim Kamera Pixel. Hal ini memastikan bahwa semua peningkatan dibagikan, sehingga memberikan manfaat bagi pengguna CameraX dan aplikasi kamera Pixel.
Perubahan API
- Menambahkan API baru untuk deteksi penambahan/penghapusan kamera dinamis. Lihat API
CameraPresenceListeneruntuk mengetahui detail selengkapnya. (I41ead, b/427182232, b/419441394)
Perbaikan Bug
- Feature Group API kini memberikan hasil yang konsisten saat
PREVIEW_STABILIZATIONdigunakan denganVideoCapture. Hal ini memperbaiki bug yang menyebabkan hasil tidak konsisten saat kasus penggunaanPreviewjuga tidak aktif. (Ifed82, b/449913903) - Memperbaiki masalah saat fitur pilihan yang tidak didukung tersedia secara tidak benar. Fitur kini difilter dengan benar saat kasus penggunaan yang diperlukan tidak terpenuhi. (I38db8, b/449532342)
- Memperbaiki hasil video yang bermasalah di Samsung Galaxy S6. (I612d9, b/235127608)
- Memperbaiki masalah yang menyebabkan
CameraInfo#isFeatureGroupSupportedsalah menampilkan nilai benar (true) untukPREVIEW_STABILIZATIONjikaSessionConfigdalam kueri sudah dikonfigurasi dengan fitur lain. (I2c355c, b/437816469)
Kamera Versi 1.5
Versi 1.5.1
8 Oktober 2025
androidx.camera:camera-*:1.5.1 dirilis. Versi 1.5.1 berisi commit ini.
Perbaikan Bug
- Mendukung
CameraEffectdalam mode komposisi kamera serentak. Efek akan diterapkan pada output komposisi. Perhatikan bahwamirrorModediVideoCaptureakan diabaikan saat efek disetel dalam mode komposisi kamera serentak. (If3d00, b/425565129) - Memperbaiki masalah saat
mirrorModetidak diterapkan dengan benar ke kamera sekunder dalam mode komposisi kamera serentak. (I686cd, b/446430827) - Mendukung pengikatan
Preview,ImageCapture, danVideoCapturesecara bersamaan dalam mode non-komposisi kamera serentak. (Ib410a, b/443009871) - Memperbaiki masalah saat UseCase seperti
ImageCapturedanVideoCaptureakan kehilangan informasi rotasi targetnya jika dibuat ulang. Hal ini dapat menyebabkan gambar atau video memiliki orientasi yang salah jika setelan sepertiimageCaptureModediubah setelah perangkat diputar. (I477c8, b/444734537) - Memperbaiki masalah yang mencegah Pratinjau memilih resolusi 16:9 dan
VideoCapturemerekam pada QUALITY_1080P. Masalah ini terjadi saat menggunakan konfigurasi resolusi Pratinjau default saat fiturStreamSharinginternal aktif (misalnya, saat empat UseCase terikat secara bersamaan). (I493cb, b/440364875) - Memperbaiki error saat efek diaktifkan setelah
SurfaceProcessordimatikan (I2c450, b/414150174) - Memperbaiki bug di
CameraControlleryang menyebabkanIllegalStateExceptionsaat UseCase awal memilih resolusi maksimum, yang kemudian mencegah UseCase lain terikat. (Ifb758, b/440374234) - Mengecualikan ukuran output YUV_420_888 yang bermasalah untuk Nokia 7 Plus yang akan menyebabkan masalah kegagalan senyap tanpa ada pesan error yang dilaporkan. (I3af47, b/436524501)
- Memperbaiki masalah saat
CameraInfo#isFeatureGroupSupporteddapat salah menampilkan nilai benar (true) untuk fiturPREVIEW_STABILIZATION. Hal ini terkadang dapat terjadi saat membuat kueri denganSessionConfigyang sudah dikonfigurasi dengan fitur lain. (I2c355, b/437816469) - Meningkatkan stabilitas
CameraXViewfinderdi level API lama dan perangkat dengan masalahSurfaceViewdengan menetapkanTextureViewsebagai default dalam skenario tersebut. Mekanisme penggantian ini adalah default baru, tetapi dapat diganti secara terprogram. (Ieb476, b/437496463) - Memperbaiki kebocoran memori di
PreviewViewyang dapat mencegah Activity-nya dikumpulkan sampah. Hal ini terjadi jikaSurfaceRequestbaru tiba sebelumSurfaceRequestsebelumnya ditangani. (I4aa0b,b/443112512) - Memperbaiki kegagalan perekaman kecepatan tinggi/gerak lambat di Huawei P smart, Infinix Hot 40i, dan Realme C53. (40a668e, b/442984200)
Versi 1.5.0
10 September 2025
androidx.camera:camera-*:1.5.0 dirilis. Versi 1.5.0 berisi commit ini.
Perubahan penting sejak versi 1.4.0:
- Perekaman Kecepatan Tinggi dan Gerak Lambat: Integrasikan perekaman video kecepatan tinggi (120/240 fps) dan gerak lambat dengan mudah menggunakan sedikit kode. Lihat
Recorder#getHighSpeedVideoCapabilities(CameraInfo)danHighSpeedVideoSessionConfiguntuk mengetahui detailnya. - API
SessionConfigdanFeatureGroup: APISessionConfigbaru memungkinkan Anda mengonfigurasi sesi kamera dan mengaktifkan beberapa fitur secara bersamaan dengan aman, termasuk HLG (HDR), UltraHDR, 60 FPS, dan stabilisasi Pratinjau. Anda juga dapat menetapkan grup fitur pilihan dengan prioritas, sehingga CameraX dapat menentukan kombinasi yang didukung secara optimal. LihatSessionConfig.Builder#setPreferredFeatureGroup,SessionConfig.Builder#setRequiredFeatureGroup, danCameraInfo#isFeatureGroupSupported(SessionConfig)untuk mengetahui informasi selengkapnya. - API Kecepatan Frame Deterministik: Atasi batasan sebelumnya dengan
setTargetFrameRatemenggunakanCameraInfo.getSupportedFrameRateRanges(sessionConfig)untuk membuat kueri danSessionConfig.setExpectedFrameRateRangeuntuk menetapkan kecepatan frame yang presisi dan didukung. - Ekstensi Kamera: Format UltraHDR kini didukung dengan Ekstensi. Periksa
ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats()dan aktifkan diImageCapture.Builder.setOutputFormat. Kemampuan stabilisasi pratinjau dan rasio zoom kini tercermin saat Ekstensi diaktifkan. - Kekuatan Senter: Sesuaikan kekuatan senter menggunakan
CameraControl.setTorchStrengthLevel. - Mode Penyempurnaan Cahaya Redup: Anda dapat mengaktifkan mode penyempurnaan cahaya redup(
CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) dengan API berikut: LihatCameraInfo#isLowLightBoostSupported,CameraInfo#getLowLightBoostState, danCameraControl#enableLowLightBoostAsync. - Perekaman Video:
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEkini dipicu karena penyimpanan tidak mencukupi selama perekaman.PendingRecording.withAudioEnabled(boolean initialMuted)memungkinkan Anda mengontrol status bisu awal untuk perekaman audio. - Pengambilan Gambar: Dukungan untuk format DNG (RAW) dan JPEG + DNG (RAW) di
ImageCapture. PeriksaImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats()untuk dukungan RAW. Gunakan APItakePictureyang di-overload dengan beberapaOutputFileOptionsuntuk pengambilan RAW+DNG. - Analisis Gambar: Dukungan untuk format NV21 di
ImageAnalysis. Aktifkan denganImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21).
Versi 1.5.0-rc01
13 Agustus 2025
androidx.camera:camera-*:1.5.0-rc01 dirilis. Versi 1.5.0-rc01 berisi commit ini.
Perbaikan Bug
- Memindahkan minSdk default dari API 21 ke API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
- Menghapus batasan output 10-bit untuk mode eksposur otomatis peningkatan cahaya rendah. Aplikasi kini dapat mengaktifkan kedua fitur secara bersamaan di perangkat yang didukung. (I5a638)
- Menyelesaikan masalah yang menyebabkan perangkat dengan chipset
UniSocmengalami hang saat mengambil gambar. Masalah terjadi saatVideoCapture,Preview, danImageCapturedigunakan secara bersamaan dengan semua streaming disetel ke resolusi 1280x720. (Ia00c4, b/380802479) - Memperbaiki layar hitam pratinjau saat tidak ada kecepatan frame tinggi yang ditetapkan untuk perekaman kecepatan tinggi/gerak lambat. (cdf0ff2e9)
- Meningkatkan penanganan error dan logging di
getViewportAspectRatioInt(82fca18)
Versi 1.5.0-beta02
16 Juli 2025
androidx.camera:camera-*:1.5.0-beta02 dirilis. Versi 1.5.0-beta02 berisi commit ini.
Perubahan API
- Menambahkan API baru untuk menetapkan atau mengkueri grup fitur berkualitas tinggi secara lebih intuitif dan akurat karena fitur ini mungkin tidak didukung sebagai kombinasi di semua perangkat.
SessionConfigkini berisi API baru untuk menunjukkan sekelompok fitur sebagai wajib atau pilihan.CameraInfo.isFeatureGroupSupportedAPI memungkinkan untuk mengetahui apakah grup fitur didukung sebelum mengikatSessionConfig.SessionConfigjuga memungkinkan penyetelan pemroses untuk mengetahui fitur mana yang akhirnya dipilih saat konfigurasi sesi terikat. (Ie4d60) - Menambahkan API baru
SessoinConfig.Builder.setFrameRateRange(Range<Integer>)danCameraInfo.getSupportedFrameRateRanges(SessionConfig), yang memungkinkan developer mengkueri kecepatan frame yang dijamin didukung dan dibatasi olehSessionConfigtertentu, lalu menerapkan kecepatan frame padaSessionConfig. (Ieacf7) - Memperkenalkan
SessionConfigAPI baru, yang mencakup abstraksi yang lebih baik untuk mengonfigurasi kasus penggunaan, parameter sesi,CameraEffect,ViewPort, dan lain-lain. MengikatSessionConfigke LifecycleOwner akan membuka sesi kamera, mengonfigurasinya menggunakan kasus penggunaan dan parameter sesi yang ditentukan, serta menerapkanCameraEffectdanViewPortyang ditetapkan. Saat memperbaruiSessionConfigbaru keLifecycleOwneryang sama, Anda cukup mengikatSessionconfigbaru tanpa perlu memanggil pelepasan atauunbindAllterlebih dahulu. (Iedfc3) - Menambahkan API baru untuk merekam video berkecepatan tinggi/gerak lambat. Lihat API
HighSpeedVideoSessionConfiguntuk mengetahui detail selengkapnya. (Ia16f3)
Perbaikan Bug
- Memperbaiki API
ImageCaptureCapabilities#getSupportedOutputFormats()yang melaporkan format RAW sebagai didukung di beberapa perangkat yang sebenarnya tidak memiliki kemampuan RAW. (Ibcadb) - Memperbaiki kebocoran memori yang terjadi saat
PreviewViewdigunakan,CameraEffectdiaktifkan, atau mengikat 4 kasus penggunaan(StreamSharing) (I87468) - Memperbaiki error rekaman video dengan
AssertionError: Status audio internal tidak valid: IDLING. (I38d4b, b/414259796) - Memperbaiki masalah saat aplikasi berjalan di layar eksternal dan perangkat dalam mode lanskap, pratinjau di
PreviewViewmenjadi terentang atau miring (Ia917a) - Memperbaiki masalah setelan Stabilisasi Pratinjau yang tidak diterapkan dengan benar saat streaming kamera dibagikan antara Pratinjau dan VideoCapture.(I5430e)
CameraXViewfinderkini menangani penggantian permukaan dengan benar diViewfinderyang mendasarinya. Hal ini mencakup skenario seperti saat jendela bidikEXTERNALdi level API 28 atau yang lebih rendah berpindah dari layar atau jikaCameraXViewfinder(denganImplementationModeapa pun) adalah bagian darimoveableContentOf(). JikaViewfinderSurfaceSessionyang mendasarinya tidak dapat dipertahankan,CameraXViewfinderakan membatalkanSurfaceRequestCameraX saat ini, sehingga CameraX dapat menggunakanSurfacebaru. (I79432)- Memperbaiki masalah di Android 10/11 saat
EXTERNALCameraXViewfinderdapat tampak meregang atau salah karena operasi transformasi (seperti penskalaan atau terjemahan) diterapkan terlalu awal. Sistem kini menunggu Surface dibuat sebelum menerapkan transformasi ini dalam fase tata letak, sehingga memastikan output yang benar. (Icc77c) - Composable
CameraXViewfinderkini berfungsi dengan benar denganPagerCompose. Perubahan ini memastikan Composable dapat direset dengan berhasil dengan menerapkan callbackonResetdariAndroidView, yang mendukung penerapanEMBEDDEDdanEXTERNAL. (I0d9be) - Memperbaiki kebocoran pemilik siklus proses yang terjadi saat memisahkan kasus penggunaan dari pemilik siklus proses tanpa menutup penyedia kamera.
Versi 1.5.0-beta01
7 Mei 2025
androidx.camera:camera-*:1.5.0-beta01 dirilis. Versi 1.5.0-beta01 berisi commit ini.
Perubahan API
- Project yang dirilis dengan Kotlin 2.0 memerlukan KGP 2.0.0 atau yang lebih baru untuk digunakan (Idb6b5)
ContentScaledan Penyesuaian kini dapat digunakan di jendela bidik untuk menskalakan dan menempatkan permukaan yang ditampilkan dalam penampungnya, mirip dengan cara kerjaandroidx.compose.foundation.Image. (Ibcea3)TransformationInfokini memiliki nilai default untuk semua argumen. Hal ini akan memungkinkan Viewfinder dibuat tanpaTransformationInfo, yang secara default akan menggunakan rotasi sumber 0, tanpa pencerminan sumber, dan tanpa persegi panjang pangkas. (I2b1b2)- Menambahkan
LifecycleCameraProvider, yang merupakan penyedia kamera yang dapat di-instantiate dengan konfigurasi berbeda untuk fitur seperti mengakses kamera perangkat virtual dengan mengonfigurasi menggunakan konteks yang disesuaikan. (Ia2992)
Perbaikan Bug
- Memperbaiki masalah pembekuan pratinjau saat menggunakan
ImageAnalysisdengan aliran lain yang menggunakanTEMPLATE_RECORDdi perangkat Samsung SM-E556B. (Ic0e62, b/409478042) - Memperbaiki masalah pembekuan pratinjau saat menggunakan
ImageAnalysisdengan aliran lain yang menggunakanTEMPLATE_RECORDdi perangkat Samsung SM-M556B. (Ic1a6a, b/395822788) - Memperbaiki masalah mode MALAM Ekstensi
AssertErrordi perangkat Pixel Android 15 saat melakukan operasi terkait zoom. (I27a5d, b/401460276) - Memperbaiki masalah koordinat kotak pembatas yang salah pada ML Kit Analyzer saat menggunakan
CameraController. (Iae91b, b/409808510)
Versi 1.5.0-alpha06
26 Februari 2025
androidx.camera:camera-*:1.5.0-alpha06 dirilis. Versi 1.5.0-alpha06 berisi commit ini.
Perubahan API
- Menambahkan
CameraInfo.getTorchStrengthLevel,CameraInfo.getMaxTorchStrengthLevel, danCameraControl.setTorchStrengthLeveluntuk memungkinkan penyesuaian kecerahan senter (I00878) - API baru
CameraController#setTapToFocusAutoCancelDurationtelah ditambahkan sehingga pengguna dapat mengontrol perilaku pembatalan otomatis untuk peristiwa ketuk untuk memfokuskanPreviewView. Secara default, CameraX membatalkan peristiwa fokus setelah 5 detik (yaitu fokus kamera direset) dan API ini memungkinkan untuk mengubah durasi tersebut atau menonaktifkan pembatalan otomatis sepenuhnya. (Icf59a) FLASH_STATE_READYtelah diganti namanya menjadiNOT_FIREDdan nama konstantaFlashStatelainnya disederhanakan agar lebih mudah dibaca. (I8771d)- Mengekspos Low Light Boost API. Perangkat yang menjalankan Android 15 atau yang lebih tinggi dapat memberikan dukungan untuk peningkatan cahaya rendah. Fitur ini dapat menyesuaikan kecerahan pratinjau, video, atau aliran analisis gambar secara otomatis dalam kondisi cahaya redup. Aplikasi dapat menggunakan API baru untuk: 1. Gunakan
CameraInfo#isLowLightBoostSupporteduntuk memeriksa ketersediaan fitur. 2. GunakanCameraControl#enableLowLightBoostAsyncuntuk mengaktifkan mode saat perangkat dapat mendukungnya. 3. GunakanCameraInfo#getLowLightBoostStateuntuk memantau status peningkatan cahaya redup. (I937ed) - Menambahkan class kompatibilitas untuk memungkinkan kueri non-camera2 yang lebih cepat di camera-feature-combination-query. (Ie97ee)
- Untuk peristiwa ketuk untuk memfokuskan
CameraController, API barugetTapToFocusInfoState()kini juga mengekspos posisi ketukan yang sesuai dengan menampilkanLiveDataclassTapToFocusInfo, sementara APILiveData<Integer>yang sebelumnya menampilkangetTapToFocusState()tidak digunakan lagi dan digantikan dengan API baru. (I238d2)
Perbaikan Bug
- Memperbaiki masalah stabilisasi pratinjau yang tidak diterapkan saat stabilisasi pratinjau diaktifkan dengan Ekstensi. (I24ad7)
- Memperbaiki peristiwa status fokus
CameraControlleryang tidak direset kembali keTAP_TO_FOCUS_NOT_STARTEDsaat CameraX otomatis membatalkan peristiwa fokus yang terjadi setelah 5 detik secara default. (I31954) - Memperbaiki pembekuan pratinjau saat menggunakan Shutter Tanpa Jeda (ZSL) setelah beberapa pengambilan gambar karena resource gambar yang belum dirilis. (Ic3c2a)
- Memperbaiki masalah yang menyebabkan video UHD berwarna merah di beberapa perangkat saat pipeline melibatkan
OpenGL. (Idcedc)
Versi 1.5.0-alpha05
15 Januari 2025
androidx.camera:camera-*:1.5.0-alpha05 dirilis. Versi 1.5.0-alpha05 berisi commit ini.
Perubahan API
- Tambahkan
VideoCapture.getSelectedQuality()untuk mengetahui Kualitas yang dipilih berdasarkanQualitySelector. (I70508, b/204288986) - Saat pengambilan gambar dipanggil dengan
ImageCapture.OnImageCapturedCallbackAPI, ImageInfo diImageProxyyang ditampilkan kini dapat digunakan untuk mengetahui apakah flash diaktifkan melaluiImageInfo.getFlashState()API baru. (Id2c61, b/380527406) - Menambahkan dukungan format output
OUTPUT_IMAGE_FORMAT_NV21untukImageAnalysis. (I484ab) - Menghapus anotasi eksperimental artefak
featurecombinationquery(I4427f) - Sesuaikan rentang rasio zoom yang diizinkan untuk
CameraControlberdasarkan karakteristik khusus Ekstensi saat mode ekstensi diaktifkan. (I85af1)
Perbaikan Bug
- Mengupgrade
compileSdksebagai 35 untuk menggunakan API terkait Android 15. Aplikasi yang menggunakan library CameraX juga perlu mengupgrade setelan konfigurasicompileSdk. (Ic80cd) - Library ini kini menggunakan anotasi nullabilitas JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar:
-Xjspecify-annotations=strict(ini adalah nilai default yang dimulai dengan compiler Kotlin versi 2.1.0). (Idc6c6, b/326456246)
Versi 1.5.0-alpha04
11 Desember 2024
androidx.camera:camera-*:1.5.0-alpha04 dirilis. Versi 1.5.0-alpha04 berisi commit ini.
Perubahan API
- Mengekspos
ImageCapture.Builder#setOutputFormatdanImageCaptureCapabilities#getSupportedOutputFormatssebagai API stabil (Ieb04a) - Tambahkan
VideoCapture.getResolutionInfo()untuk mendapatkan informasi resolusi saatVideoCaptureterikat ke Siklus Proses. (Icb478) - Mengekspos
PreviewView.getScreenFlashdanPreviewView.setScreenFlashOverlayColorsebagai API stabil. (I74fee)
Perbaikan Bug
- Memperbaiki masalah kegagalan pengambilan gambar di perangkat Vivo 1610 saat mengambil gambar dengan flash dalam kondisi gelap. (I366f4)
- Memperbaiki masalah senter yang tiba-tiba mati setelah pengambilan gambar di Redmi Note 6 Pro. (I2e0e8, b/377144569)
- Memperbaiki masalah pada perangkat Pixel Android 15 yang menyebabkan mode MALAM di Ekstensi gagal mengambil gambar diam hingga kamera memfokuskan objek di dekatnya. (I228d4)
- Memperbaiki masalah malfungsi pengambilan gambar diam saat ekstensi diaktifkan dan
VideoCaptureterikat bersama. (I5c745) - Mengaktifkan dukungan pengambilan gambar diam
UltraHDRuntuk Ekstensi jika perangkat dapat mendukungnya. (I48300) - Memperbaiki masalah pengaturan waktu flash untuk pengambilan gambar dengan flash yang menargetkan pengambilan gambar di perangkat TCL menggunakan
CameraEffect. (I7698c)
Versi 1.5.0-alpha03
30 Oktober 2024
androidx.camera:camera-*:1.5.0-alpha03 dirilis. Versi 1.5.0-alpha03 berisi commit ini.
Perubahan API
- Menambahkan API format output untuk RAW dan RAW + JPEG
ImageCapture, pemeriksaan kemampuan perangkat diekspos diImageCaptureCapabilities#getSupportedOutputFormats.OUTPUT_FORMAT_RAWadalah untuk mengambil gambar RAW, yang merupakan format Adobe DNG, danOUTPUT_FORMAT_RAW_JPEGadalah untuk mengambil gambar RAW dan JPEG secara bersamaan.ImageCapture#takePictureAPI baru digunakan untuk pengambilan gambar serentak, dan harus menyediakan duaOutputFileOptions. Yang pertama untuk gambar RAW dan yang kedua untuk gambar JPEG. (Ib0f3d)
Perbaikan Bug
- Memperbaiki masalah kurangnya eksposur pratinjau dan video di perangkat TCL saat
VideoCapturediaktifkan. (Id7a64) - Memperbaiki masalah saat memanggil
startFocusMeteringdenganPreviewView.getMeteringPointFactorytidak mendapatkan koordinat sensor yang benar saat efek diaktifkan atau saat 4 kasus penggunaan terikat (berbagi streaming). (I916c5, b/345993685) - Memperbaiki peristiwa
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEtidak dipicu saat merekam video dan tidak tersedia ruang penyimpanan yang cukup. (I35779, b/356399842)
Versi 1.5.0-alpha02
2 Oktober 2024
androidx.camera:camera-*:1.5.0-alpha02 dirilis. Versi 1.5.0-alpha02 berisi commit ini.
Fitur Baru
- API baru untuk mengkueri fitur kamera yang didukung oleh perangkat. Misalnya, memeriksa apakah HDR dan 60 FPS dapat diaktifkan secara bersamaan. Library ini mencakup 2 artefak: camera-feature-combination-query dan camera-feature-combination-query-play-services.
Ini adalah versi API
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupportedcamera2 yang kompatibel dengan data tambahan yang disediakan oleh Layanan Google Play.
Perbaikan Bug
- Memperbaiki masalah target kecepatan frame
Preview/VideoCapturedi perangkat tingkat LAMA. Target kecepatan frame yang ditetapkan melalui APIsetTargetFrameRateatauCamera2Interopselalu diganti dengan nilai yang diberikan olehAeFpsRangeLegacyQuirk. Dengan perbaikan ini, library CameraX akan mematuhi nilai yang ditetapkan melalui APIsetTargetFrameRateatauCamera2Interop. (Ie2d32) - Menambahkan fungsi flash/torch/3A untuk pengambilan gambar dengan
CameraEffect. Pengambilan gambar denganCameraEffectkini harus memiliki pemrosesan pra-pengambilan gambar dan pasca-pengambilan gambar yang sama (misalnya, pemicu flash, konvergensi 3A, dll. jika berlaku) seperti pengambilan gambar tanpaCameraEffect. (I5ff30) - Mengecualikan ukuran output yang bermasalah untuk
ImageAnalysisdi perangkat Samsung SM-A057G. JikaImageAnalysismenggunakan resolusi yang lebih besar atau sama dengan 1920x1440, hal ini akan menyebabkan masalah pratinjau hitam. MenerapkanExcludedSupportedSizesQuirkke perangkat SM-A057G untuk menghindari masalah ini. (I63dfe, b/365877975) - Memperbaiki masalah kecepatan frame target
Preview/VideoCapturesaat mekanisme berbagi streaming diaktifkan secara internal untuk membagikan streaming kePreviewdanVideoCapture. (I4fdac) - Mengaktifkan solusi untuk memperbaiki masalah metadata gambar JPEG yang salah di perangkat Samsung S10e dan S10+. Dengan perbaikan ini, CameraX dapat berhasil menyimpan gambar JPEG, atau objek Bitmap yang benar dapat ditampilkan saat memanggil fungsi
ImageProxy.toBitmap()di perangkat ini jika masalah metadata gambar JPEG yang salah terjadi. (Iae493, b/356428987) - Ekstensi dinonaktifkan untuk kamera belakang Samsung A52s yang ID-nya adalah 0, karena error native mungkin terjadi saat mengambil gambar HDR dan konfigurasi sesi pengambilan mungkin gagal untuk mode BOKEH atau FACE_RETOUCH. (I03ec9, b/364152642)
- Memperbaiki peristiwa
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEtidak dipicu saat merekam video dan tidak tersedia ruang penyimpanan yang cukup. (Ia5b4f, b/356399842) - Memperbaiki masalah saat upaya perekaman video kedua gagal di Oppo A5 (CPH1931). (I181d6)
Versi 1.5.0-alpha01
4 September 2024
androidx.camera:camera-*:1.5.0-alpha01 dirilis. Versi 1.5.0-alpha01 berisi commit ini.
Fitur Baru
- Artefak baru,
camera-compose, dirilis untuk Adaptor Compose Jendela Bidik CameraX yang menampilkan aliran Pratinjau dariSurfaceRequestCameraX daricamera-core. (I8666e) - Menambahkan composable baru,
CameraXViewfinder, yang berfungsi sebagai composable idiomatik yang mengadaptasiSurfaceRequestCameraX untuk composableViewfinder. (I4770f)
Perubahan API
- Menyediakan API untuk menyetel setelan komposisi untuk perekaman video kamera serentak ganda. Setelan mencakup nilai alfa untuk penggabungan, offset dalam koordinat x, y, skala lebar dan tinggi jendela tampilan frame kamera. Offset, lebar, dan tinggi ditentukan dalam koordinat perangkat yang dinormalisasi. (Ia2b8a)
- Mengekspos
CameraProvider.getCameraInfosebagai API formal. (I901cd) - Menambahkan API
PendingRecording.withAudioEnabled(boolean initialMuted)untuk mengontrol status senyap awal. (I635c3, b/354829267)
Perbaikan Bug
- Memperbaiki error saat
bindToLifecycledipanggil denganLifecycleOwneryang dimusnahkan. (I6e6d8) - Memperbaiki Pratinjau adalah layar hitam di kamera depan saat melakukan binding dengan
VideoCapturedi Motorola Edge 20 Fusion. (I1fe88) - Mengoptimalkan konfigurasi untuk mendeteksi gestur zoom di
PreviewViewguna meningkatkan kelancaran. (I04ffc)
Kamera Versi 1.4
Versi 1.4.2
26 Maret 2025
androidx.camera:camera-*:1.4.2 dirilis. Versi 1.4.2 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah pembekuan pratinjau saat menggunakan
ImageAnalysisdengan aliran lain yang menggunakanTEMPLATE_RECORDdi Samsung Galaxy M55. (Ic1a6a, b/395822788)
Versi 1.4.1
11 Desember 2024
androidx.camera:camera-*:1.4.1 dirilis. Versi 1.4.1 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah pada perangkat Pixel Android 15 yang menyebabkan mode MALAM di Ekstensi gagal mengambil gambar diam hingga kamera memfokuskan objek di dekatnya. (I228d4)
- Memperbaiki masalah malfungsi
ImageCapture#takePicturesaat ekstensi diaktifkan danVideoCaptureterikat bersama. (I5c745)
Versi 1.4.0
30 Oktober 2024
androidx.camera:camera-*:1.4.0 dirilis. Versi 1.4.0 berisi commit ini.
Perubahan penting sejak versi 1.3.0
CameraX 1.4.0 dilengkapi dengan update menarik! Berikut ini adalah ringkasannya:
Fitur Utama: HDR 10 bit:
- Abadikan foto dan video HDR yang memukau dengan mudah.
- Mendukung encoding HLG dan HEVC 10-bit.
- Nikmati pratinjau HDR 10-bit dan kueri kemampuan perangkat.
- Dapat berfungsi dengan gambar
UltraHDRdan video HDR di berbagai perangkat yang terus bertambah.
Fitur Keren Lainnya:
- Ekstensi Kotlin: Menambahkan fungsi penangguhan
takePicturedanawaitInstance. - Efek Real-time: Terapkan efek seperti tanda air dan penyorotan objek.
- API CameraController: Kontrol baru untuk konfigurasi perekaman video.
- Stabilisasi Pratinjau: Kueri kemampuan perangkat dan aktifkan stabilisasi.
- Peningkatan VideoCapture: Kontrol yang lebih baik atas kualitas dan akses ke resolusi yang lebih tinggi.
- Integrasi Ekstensi CameraX: Integrasi yang lancar dengan
VideoCapturedan fiturImageCapturebaru. - Shutter Sound API: Periksa persyaratan suara rana regional dengan mudah.
- Flash Layar: Foto cahaya rendah yang lebih baik untuk kamera depan.
- Camera Extensions Metadata API: API pendukung untuk menyesuaikan kekuatan ekstensi dan mendapatkan notifikasi mode Ekstensi saat ini di
ExtensionMode#AUTO. Anda dapat menemukan perbaikan bug lainnya dalam pengumuman Beta dan RC kami.
Versi 1.4.0-rc04
16 Oktober 2024
androidx.camera:camera-*:1.4.0-rc04 dirilis. Versi 1.4.0-rc04 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah saat memanggil
startFocusMeteringdenganPreviewView.getMeteringPointFactorytidak mendapatkan koordinat sensor yang benar saat efek diaktifkan atau saat 4 kasus penggunaan terikat (berbagi streaming). (I916c5, b/345993685)
Versi 1.4.0-rc03
2 Oktober 2024
androidx.camera:camera-*:1.4.0-rc03 dirilis. Versi 1.4.0-rc03 berisi commit ini.
Perbaikan Bug
- Menambahkan fungsi flash/torch/3A untuk pengambilan gambar dengan
CameraEffect. Pengambilan gambar denganCameraEffectkini harus memiliki pemrosesan pra-pengambilan gambar dan pasca-pengambilan gambar yang sama (misalnya, pemicu flash, konvergensi 3A, dll. jika berlaku) seperti pengambilan gambar tanpaCameraEffect. (I5ff30) - Mengoptimalkan kehalusan cubit untuk memperbesar di
PreviewView(I04ffc) - Memisahkan Ultra HDR dari kemampuan output 10-bit, karena dukungan Ultra HDR tidak lagi mengharuskan perangkat memiliki kemampuan output 10-bit. (I96ff2, I0c3b3)
Versi 1.4.0-rc02
18 September 2024
androidx.camera:camera-*:1.4.0-rc02 dirilis. Versi 1.4.0-rc02 berisi commit ini.
Perbaikan Bug
- Memperbaiki error saat
bindToLifecycledipanggil denganLifecycleOwneryang dimusnahkan. (I6e6d8) - Menambahkan animasi visibilitas di
ScreenFlashViewuntukScreenFlash#applyyang juga memperbaiki bug karena perubahan kecerahan selesai secara asinkron setelah beberapa waktu. (I37cdb) - Meningkatkan kelancaran zoom dengan mengganti setelan zoom di framework pada perangkat yang didukung.
Versi 1.4.0-rc01
7 Agustus 2024
androidx.camera:camera-*:1.4.0-rc01 dirilis. Versi 1.4.0-rc01 berisi commit ini.
Fitur Baru
- Menambahkan
CameraInfo.getCameraInfoeksperimental untuk memberikan informasi kamera tertentu tanpa perlu mengikat kasus penggunaan ke kamera. (I550d1)
Perubahan API
- Menambahkan API
PreviewView.getScreenFlashdanPreviewView.setScreenFlashOverlayColoruntuk kasus saatScreenFlashViewtidak ditambahkan secara eksplisit. (I43945)
Perbaikan Bug
- Memperbaiki masalah eksposur dan warna saat gambar diambil dengan flash diaktifkan dalam kondisi cahaya redup dengan kasus penggunaan VideoCapture terikat. (Ic9814)
- Memperbaiki masalah yang menyebabkan permintaan
takePictureyang terganggu dengan Ekstensi yang diaktifkan gagal mendapatkan hasil dan permintaantakePictureberikutnya mungkin tidak berfungsi lagi. (Iae78f) - Memperbaiki masalah kebocoran memori yang terjadi saat Ekstensi diaktifkan. (Iab276)
- Memperbaiki malfungsi ekstensi CameraX di perangkat seperti seri Pixel 7/8 dan Samsung Galaxy S24. Masalah yang berasal dari masalah konversi
Camera2OutputConfigImpldalam mode rilis ini muncul setelah mengupgrade AGP ke 8.5.1 dan mengaktifkan pengecilan. (I99598, b/354824993)
Versi 1.4.0-beta02
12 Juni 2024
androidx.camera:camera-*:1.4.0-beta02 dirilis. Versi 1.4.0-beta02 berisi commit ini.
Perubahan API
- Mirip dengan
VideoCapture, tambahkansetMirrorModeuntuk kasus penggunaan Pratinjau. Fitur ini akan mendukung mode pencerminan AKTIF dan NONAKTIF untuk streaming Pratinjau melaluiOutputConfiguration.setMirrorModedari API 33 dan yang lebih baru. Untuk API yang lebih lama, fitur ini tidak akan beroperasi. (I821f4)
Perbaikan Bug
- Memperbaiki masalah aplikasi tidak dapat mengambil foto dengan berhasil di Samsung Tab A8 saat
ImageCapturememilih 1920x1080 dalam kombinasiPreview+VideoCapture+ImageCaptureUseCase. (I5a463, b/336925549) - Perekaman persisten tetap mungkin gagal melanjutkan perekaman setelah mengganti kamera. (Icb0a1)
Versi 1.4.0-beta01
14 Mei 2024
androidx.camera:camera-*:1.4.0-beta01 dirilis. Versi 1.4.0-beta01 berisi commit ini.
Perubahan API
- Menambahkan
ZoomGestureDetector.ZoomEventuntuk merangkum status gestur zoom. (I84cdf)
Perbaikan Bug
- Memperbaiki bug yang menyebabkan pengambilan gambar dan ketuk untuk memfokuskan tidak menggunakan nilai mode FPS/stabilisasi permintaan berulang yang dapat membuat ulang sesi pengambilan gambar dan menyebabkan masalah latensi atau pembekuan Pratinjau di beberapa perangkat. (I7dc0b)
- Memperbaiki bug yang menyebabkan Resolusi Tinggi tidak dapat dipilih saat
CameraEffectdiaktifkan di beberapa perangkat. (misalnya 4000x3000 di Samsung A32 5G). (Ie3ed3, b/337336152) - Memperbaiki error saat mengambil gambar dengan Pratinjau,
ImageCapturedanVideoCapture(UHD)terikat di Pixel 4XL API29. (I5b288) - Mendukung perangkat virtual: Konteks yang diteruskan ke
ProcessCameraProviderakan mempertahankan ID perangkat untuk memastikan fungsi di lingkungan perangkat virtual. (I5ba48)
Versi 1.4.0-alpha05
17 April 2024
androidx.camera:camera-*:1.4.0-alpha05 dirilis. Versi 1.4.0-alpha05 berisi commit ini.
Fitur Baru
- Mengonversi
ProcessCameraProvidermenjadi implementasi Kotlin. (I46d4f) - Menambahkan fungsi penangguhan
ImageCapture.takePictureagar dapat dipanggil dengan cara idiomatis Kotlin. (I920be)
Perubahan API
- Menambahkan API format output ke
ImageCapture, dan menambahkan metodegetSupportedOutputFormatskeImageCaptureCapabilitiesuntuk mengkueri kemampuan perangkat. Nilai format output default adalahOUTPUT_FORMAT_JPEG, yang merekam gambar SDR dalam format JPEG. Jika perangkat mendukung Ultra HDR dan format output disetel keOUTPUT_FORMAT_JPEG_ULTRA_HDR, CameraX akan mengambil gambar yang dikompresi Ultra HDR menggunakan format gambar JPEG/R. Format ini kompatibel dengan format JPEG SDR dan mendukung rendering HDR konten. Artinya, di aplikasi atau perangkat lama, gambar akan muncul dengan lancar sebagai JPEG biasa; di aplikasi dan perangkat yang telah diupdate untuk mendukung format sepenuhnya, gambar akan muncul sebagai HDR. (I5de50) - Menambahkan
PhysicalCameraInfodiCameraInfountuk mengkueri informasi kamera fisik dan menambahkan setter/getter ID kamera fisik diCameraSelector(Ic5b90) - Mengganti
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCEDdenganImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED. Nilai konstanta tetap sama. Hal ini dilakukan untuk menggabungkan semua konstanta ke dalam satu tempat. (I890bb) RetryPolicyAPI baru memungkinkan developer menyesuaikan perilaku percobaan ulang untuk inisialisasi CameraX. (I36dd2)- Mengaktifkan pembuatan objek
ImageCaptureLatencyEstimateuntuk membantu kemampuan pengujian (Iaba99) - Tambahkan
ImageAnalysis#COORDINATE_SYSTEM_SENSOR. Saat digunakan,MlKitAnalyzermenampilkan koordinat dalam sistem koordinat sensor kamera. (I3ec61) - Mengekspos API metadata ekstensi. Antarmuka
CameraExtensionsInfodanCameraExtensionsControlbaru memungkinkan aplikasi memantau dan menyesuaikan setelan kekuatan ekstensi. Aplikasi dapat memperoleh instanceCameraExtensionsInfoatauCameraExtensionsControlmelalui metodeExtensionsManager#getCameraExtensionsInfo()atauExtensionsManager#getCameraExtensionsControl()yang baru ditambahkan. (I28e1a) - Menambahkan
ProcessCameraProvider.awaitInstanceyang merupakan versi penangguhanProcessCameraProvider.getInstance(Ib22b9) - Menambahkan
PreviewView#getSensorToViewTransform()API. Matriks mewakili transformasi dari koordinat sensor kamera ke koordinatPreviewView. Hal ini dapat digunakan untuk mengubah koordinat dari satuUseCasekeUseCaselainnya. Misalnya, mengubah koordinat objek yang terdeteksi diImageAnalysismenjadi overlayPreviewView. (I947ab) - Membuat API
camera-viewfinder-coremenjadi lebih generik sehingga dapat digunakan olehcamera-viewfinderdancamera-viewfinder-compose. (I1e295) - Tambahkan fungsi
getSurfacekeViewfinderSurfaceRequest. (I781a0) - Gunakan
camera-viewfinder-coredicamera-viewfinderdan hentikan penggunaanViewfinderSurfaceRequestdanCameraViewfinder. (I6198c) - Menambahkan
ZoomGestureDetectoryang menafsirkan gestur penskalaan yang dikonfigurasi secara khusus untuk aktivitas mencubit untuk melakukan zoom. (Ifafbf)
Perbaikan Bug
- Memperbaiki masalah pemilihan resolusi
ImageAnalysis' yang terkait dengan setelan resolusi target default penganalisis: resolusi target salah dipertahankan sebagai 640x480 meskipun aplikasi telah menetapkan setelan resolusi default penganalisis yang berbeda. Jika aplikasi mengalami masalah ini (1.3.0 ~ 1.3.2) dan tidak dapat diupgrade untuk menggunakan rilis versi yang lebih baru yang berisi solusi, menyetelResolutionSelectorsecara langsung dengan resolusi pilihan danAspectRatioStrategyyang cocok keImageAnalysisUseCasedapat mengatasi masalah ini. (I81f72, b/330091012) - Memperbaiki masalah yang menyebabkan permintaan
takePicturedalam antrean mungkin gagal dijalankan jika permintaan saat ini gagal. (Ie0801) - Menerapkan pemeriksaan data JPEG yang tidak valid ke perangkat Vivo X60 dan X60 Pro. Hal ini dapat memperbaiki masalah gambar yang terlalu besar secara tidak normal di perangkat ini. (I82247, b/288828159)
- Memperbaiki masalah metadata gambar JPEG yang salah di perangkat Samsung A24. Dengan perbaikan ini, CameraX dapat berhasil menyimpan gambar JPEG, atau objek Bitmap yang benar dapat ditampilkan saat memanggil fungsi
ImageProxy.toBitmap()di perangkat Samsung A24. (I8d6eb, b/309005680) - Menerapkan pemeriksaan data JPEG yang tidak valid ke semua perangkat Samsung jika gambar yang diambil lebih besar dari 10 MB. Tindakan ini dapat memperbaiki masalah gambar yang terlalu besar di perangkat Samsung. (Ic2a65, b/288828159)
- Menghapus dukungan
ImageAnalysisdi Ekstensi CameraX karena banyak implementasi Ekstensi OEM tidak berfungsi dengan baik denganImageAnalysisdan dapat menyebabkan masalah yang tidak konsisten. (I2d926)
Versi 1.4.0-alpha04
24 Januari 2024
androidx.camera:camera-*:1.4.0-alpha04 dirilis. Versi 1.4.0-alpha04 berisi commit ini.
Fitur Baru
- Artefak baru: camera-effects: Library untuk menerapkan efek real-time ke output CameraX, termasuk
Preview,VideoCapture, dan/atauImageCapture. Artefak ini berisi implementasi OpenGL dariCameraEffectAPI yang memanipulasi output kamera secara efisien. OverlayEffect: untuk menggambar overlay dengan Android Canvas API. Hal ini memungkinkan aplikasi menerapkan tanda air atau menandai objek yang terdeteksi pada output kamera.- API
DynamicRangeuntuk Kasus Penggunaan Pratinjau: Rentang dinamis kini dapat ditetapkan pada Kasus Penggunaan Pratinjau, secara terpisah dari Kasus Penggunaan Video. Hal ini memungkinkan rentang dinamis HDR seperti HLG10 hanya untuk Pratinjau. API baru juga tersedia diCameraInfountuk membuat kueri rentang dinamis yang didukung setiap kamera.
Perubahan API
- Mengganti nama
ScreenFlashUiCompletermenjadiScreenFlashListenerdan memindahkanScreenFlashUiCompleter#getExpirationTimeMilliske parameterexpirationTimeMillisdariScreenFlash#apply. (I13944) - API baru ditambahkan untuk memungkinkan rentang dinamis ditetapkan pada kasus penggunaan Pratinjau, dan untuk membuat kueri rentang dinamis yang didukung oleh setiap kamera. Hal ini memungkinkan rentang dinamis HDR, seperti HLG10, digunakan dengan kasus penggunaan Pratinjau saja, sehingga tidak lagi memerlukan
VideoCaptureuntuk diikat secara bersamaan. (If25e3) - Mengganti nama
getMirroring()menjadiisMirroring()(I47063) - Menambahkan dukungan perkiraan latensi pengambilan gambar diam Real-time di CameraX. Ekstensi kamera memungkinkan aplikasi menggunakan API yang memberikan perkiraan durasi pengambilan gambar. Perkiraan ini mempertimbangkan kondisi lingkungan saat ini, status kamera, dan mencakup waktu yang dihabiskan untuk memproses permintaan pengambilan multi-frame beserta waktu tambahan untuk mengenkode buffer yang diproses jika diperlukan. (I05c3a)
- Mengganti nama
ScreenFlashUiControlmenjadiScreenFlash,ScreenFlashUiControl#applyScreenFlashUimenjadiScreenFlash#apply,ScreenFlashUiControl#clearScreenFlashUimenjadiScreenFlash#clear, dan menambahkan metodegetScreenFlashUiApplyTimeoutSeconds, bukan mengeksposSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDSsecara langsung. (Iccdd0)
Perbaikan Bug
- Memperbaiki kebocoran memori yang menyebabkan aktivitas atau fragmen tidak dilepaskan saat Ekstensi diaktifkan (I14215)
- Memperbaiki masalah saat
getZoomRatiosalah menampilkan nilai yang berkurang saat menerapkan rasio zoom yang meningkat. (I4aa0d, b/317543616) - Peristiwa
ImageCapture#ScreenFlash#cleardipanggil segera saatImageCapturedilepas atau kamera ditutup, juga memperbaiki beberapa bug yang tidak pernah dipanggil karena pengambilan dalam skenario ini tidak selesai dengan benar. (If99f9) - Memperbaiki error yang terjadi saat siklus proses dihentikan sebelum permintaan
takePictureselesai (Idf017, b/306202751) - Memperbaiki masalah pratinjau kamera menjadi hitam saat Ekstensi diaktifkan di beberapa perangkat (I1ffd0)
- Memperbaiki durasi rekaman video yang salah di perangkat yang menggunakan SoC Snapdragon 778G. (If6aa7, b/316057919)
Versi 1.4.0-alpha03
13 Desember 2023
androidx.camera:camera-*:1.4.0-alpha03 dirilis. Versi 1.4.0-alpha03 berisi commit ini.
Fitur Baru
- Menambahkan
CameraInfo.mustPlayShutterSounduntuk memberikan informasi apakah suara rana harus diputar sesuai dengan batasan regional. (Ifda84) - Menambahkan
OnImageCapturedCallback.onCaptureStarteddanOnImageSavedCallback.onCaptureStarteduntuk memberi tahu saat kamera mulai mengekspos frame. Sebaiknya putar suara rana atau animasi rana pada tahap ini. (Ic49b3) - Menambahkan dukungan fitur Flash Layar di CameraX untuk pengambilan gambar kamera depan. CameraX akan menangani API sisi framework dan menyinkronkan pengaturan waktu dengan perubahan UI aplikasi sesuai kebutuhan (misalnya, pemicu pra-pengambilan gambar AE setelah perubahan warna/kecerahan layar aplikasi). Aplikasi hanya perlu menambahkan implementasi sisi UI-nya di antarmuka
ScreenFlashUiControlyang disediakan untuk CameraX. (I8ae84) - Menambahkan dukungan implementasi sisi UI fitur Flash Layar di CameraX. Aplikasi akan dapat memperoleh implementasi
ImageCapture.ScreenFlashUiControldasar dariPreviewViewatauScreenFlashViewyang baru ditambahkan yang akan menambahkan tampilan overlay satu warna dan memaksimalkan kecerahan layar selama pengambilan foto flash layar. (I1810e)
Perubahan API
- Mendukung fitur Ekstensi baru(progres pasca-tampilan dan proses pengambilan): Menambahkan API
ImageCapture#getImageCaptureCapabilities()agar aplikasi dapat mengkueri kemampuan callback progres pasca-tampilan dan proses pengambilan. Aplikasi dapat mengaktifkan postview menggunakanImageCapture.Builder#setPostviewEnabled(). Ukuran postview dapat dipilih menggunakanImageCapture.Builder#setPostviewResolutionSelector(). Saat memanggiltakePicture(),onPostviewBitmapAvailable, danonCaptureProcessProgresseddapat diterapkan diOnImageSavedCallbackatauOnImageCapturedCallbackuntuk mendapatkan notifikasi progres pasca-tonton dan pemrosesan jika didukung. (I5cd88) - API untuk menghitung transformasi koordinat dari sensor ke buffer saat ini, dengan tanda yang menunjukkan apakah Surface berisi info orientasi kamera. (I59096)
- Mengekspos API untuk mengkueri
PreviewCapabitlitydi PratinjauUseCase. (Ie5b6c) - Menambahkan API untuk mendukung kualitas yang lebih banyak untuk
VideoCapture.Recorder.Builder#setVideoCapabilitiesSource(int)dapat digunakan denganVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIESuntuk membuat instanceRecorderyang mendukung kualitas lebih banyak daripadaVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE. Kasus penggunaan umum adalah saat aplikasi berupaya merekam video UHD jika memungkinkan, tetapiCamcorderProfileperangkat tidak menyertakan setelan UHD, meskipun codec mampu merekam video UHD. (Iedbe2, b/263961771) - Tambahkan pengambil/penyetel format output
ImageAnalysiskeCameraController. (I9a96c, b/308240643)
Perbaikan Bug
- Dari Kamera
1.3.1: Meningkatkan performaProcessCameraProvider#bindToLifecycle(). Perubahan utama adalah mengoptimalkan proses identifikasi kombinasi ukuran yang paling sesuai untukUseCases. Hasil optimal bervariasi berdasarkan kombinasiUseCasetertentu dan jumlah ukuran output yang didukung untuk perangkat target. (I454f2) - Izinkan penggunaan
VideoCapturesaat Ekstensi diaktifkan. (I91f32) - Memperbaiki masalah gambar JPEG besar yang diambil di perangkat seri Samsung A71 dan M51. Gambar JPEG yang diambil berisi data padding 0 yang berlebihan dalam segmen data yang dikompresi JFIF. Hal ini menyebabkan gambar yang diambil memiliki ukuran file yang sangat besar. Data pengisi 0 yang berlebihan tersebut akan dihapus agar gambar yang diambil memiliki ukuran file gambar yang normal. (I01afc, b/288828159)
- Nonaktifkan dukungan
ImageAnalysisdi Pixel untuk menghindari bug di Pixel yang secara tidak sengaja menampilkan ukuran yang didukungImageAnalysisyang tidak kosong. (I7ec31) - Memperbaiki masalah performa yang menyebabkan pemuatan CPU dan konsumsi daya meningkat saat Ekstensi diaktifkan. (Ibdccb)
- Menambahkan Snapdragon 480 ke
CameraUseInconsistentTimebaseQuirk. Hal ini memperbaiki masalah di Android 12 untuk perangkat yang menggunakan chipset ini, di mana audio dalam rekaman tidak sinkron dengan jumlah waktu perangkat dalam keadaan ditangguhkan. (I58010)
Versi 1.4.0-alpha02
18 Oktober 2023
androidx.camera:camera-*:1.4.0-alpha02 dirilis. Versi 1.4.0-alpha02 berisi commit ini.
Perubahan API
- Ganti nama API menjadi
setCameraOpenRetryMaxTimeoutInMillisWhileResumingdan ganti nama argumen. (I72370) - Menambahkan API untuk mengkueri kemampuan perangkat dan mengaktifkan stabilisasi video/pratinjau. (I87544)
- Menyediakan API untuk menyesuaikan waktu tunggu maksimum percobaan ulang pembukaan kamera. (I0c642)
- Merilis
ProcessCameraProvider.shutdownAsyncsebagai API pengujian publik untuk memungkinkan penyedia kamera proses digunakan dalam rangkaian pengujian yang mungkin perlu menginisialisasi CameraX dengan cara yang berbeda di antara pengujian. (I9eca7) - Menambahkan API untuk mengonfigurasi rentang dinamis, kecepatan frame, dan mode cermin perekaman video. (Ifb8f7)
- Menghentikan penggunaan
OutputSizedan menggantinya denganResolutionSelector.ResolutionSelectoradalah cara yang lebih komprehensif untuk memilih resolusi, dan konsisten dengan camera-core API. (I93abd, b/286801438)
Perbaikan Bug
- Memperbaiki masalah pratinjau berwarna hitam di Samsung Galaxy S23 Ultra 5G saat Ekstensi Bokeh atau Sentuhan Wajah diaktifkan dengan
ImageAnalysisdi kamera belakang. (I2e8b1) - Memperbaiki masalah pratinjau dan
VideoCaptureyang direntangkan di Moto E5 Play. (73dce2)
Versi 1.4.0-alpha01
20 September 2023
androidx.camera:camera-*:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.
Perubahan API
- Menambahkan API baru untuk mengakses informasi amplitudo audio saat merekam. (Id4925)
Perbaikan Bug
- Meningkatkan stabilitas Ekstensi dengan memastikan bahwa peristiwa inisialisasi dan deinisialisasi dipicu dalam urutan yang benar. (Ib3b8e)
- Memperbaiki kegagalan konfigurasi sesi pengambilan untuk melampaui kombinasi platform yang didukung karena menambahkan platform berulang ekstra secara internal. (Id718c)
- Memperbaiki masalah gambar JPEG besar yang diambil di perangkat Vivo S16. Gambar JPEG yang diambil berisi data padding 0 yang berlebihan dalam segmen data yang dikompresi JFIF. Hal ini menyebabkan gambar yang diambil memiliki ukuran file yang besar. Data pengisi 0 yang berlebihan tersebut akan dihapus agar gambar yang diambil memiliki ukuran file gambar yang normal. (I79505, b/299069235)
- Memperbaiki masalah saat
ImageAnalysistidak dapat diikat bersama denganImageCapturedan Pratinjau saat beberapa mode ekstensi diaktifkan di beberapa perangkat. Perbaikan ini akan menampilkan nilai yang benar saat aplikasi mengkueri ketersediaanImageAnalysismelaluiExtensionsManager#isImageAnalysisSupported(). (I7d538) - Perbarui JavaDoc agar sesuai dengan perilaku. Daripada selesai dengan segera,
#setZoomRatio,#setLinearZoom, dan#enableTorchmenunggu hingga kamera siap. Menambahkan juga informasi tentang cara mendapatkan FOV maksimum dengan#takePictureAPI. (I23588)
Versi 1.3
Versi 1.3.4
12 Juni 2024
androidx.camera:camera-*:1.3.4 dirilis. Versi 1.3.4 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah saat
getZoomRatiosalah menampilkan nilai yang berkurang saat menerapkan rasio zoom yang meningkat. (I4aa0d, b/317543616) - Memperbaiki pengambilan gambar diam/ketuk untuk memfokuskan yang tidak menggunakan nilai mode FPS/stabilisasi permintaan berulang yang dapat membuat ulang sesi pengambilan gambar dan menyebabkan masalah latensi atau pembekuan Pratinjau di beberapa perangkat. (I7dc0b)
- Memperbaiki masalah saat kecepatan frame ditetapkan ke nilai yang lebih rendah saat memanggil
setTargetFrameRatedenganFRAME_RATE_RANGE_UNSPECIFIED. (I78c61)
Versi 1.3.3
17 April 2024
androidx.camera:camera-*:1.3.3 dirilis. Versi 1.3.3 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah pemilihan resolusi
ImageAnalysis' yang terkait dengan setelan resolusi target default penganalisis: resolusi target salah dipertahankan sebagai 640x480 meskipun aplikasi telah menetapkan setelan resolusi default penganalisis yang berbeda. Jika aplikasi mengalami masalah ini (1.3.0 ~ 1.3.2) dan tidak dapat diupgrade untuk menggunakan rilis versi yang lebih baru yang berisi solusi, menyetelResolutionSelectorsecara langsung dengan resolusi pilihan danAspectRatioStrategyyang cocok keImageAnalysisUseCase dapat mengatasi masalah ini. (I81f72, b/330091012)
Versi 1.3.2
6 Maret 2024
androidx.camera:camera-*:1.3.2 dirilis. Versi 1.3.2 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah metadata JPEG di perangkat Samsung A24. CameraX kini menyimpan gambar secara akurat, dan fungsi
ImageProxy.toBitmap()menampilkan objek Bitmap yang benar. (I8d6eb, b/309005680) - Menghapus opsi resolusi 9280x6944 di perangkat Redmi Note 9 Pro karena masalah. (Ia23da)
Versi 1.3.1
13 Desember 2023
androidx.camera:camera-*:1.3.1 dirilis. Versi 1.3.1 berisi commit ini.
Perbaikan Bug
Meningkatkan performa ProcessCameraProvider#bindToLifecycle(). Perubahan utama adalah mengoptimalkan proses identifikasi kombinasi ukuran yang paling sesuai untuk UseCases. Hasil optimal bervariasi berdasarkan kombinasi UseCase tertentu dan jumlah ukuran output yang didukung untuk perangkat target. (I454f2)
Berikut beberapa hasil referensi untuk berbagai skenario:
Empat
UseCases:Preview+ImageCapture+ImageAnalysis+VideoCapture- Google Pixel 7: Sekitar 430 md hingga 60 md
- Samsung Galaxy S23 Ultra: Sekitar 540 md hingga 45 md
- Samsung A53 5G: Sekitar 115 md hingga 70 md
Tiga
UseCases:Preview+ImageCapture+ImageAnalysis- Google Pixel 7: Sekitar 9 md hingga 7 md
- Samsung Galaxy S23 Ultra: Sekitar 6 md hingga 5 md
- Samsung A53 5G: Sekitar 32 md hingga 12 md
Menambahkan Snapdragon 480 ke
CameraUseInconsistentTimebaseQuirk. Hal ini memperbaiki masalah di Android 12 untuk perangkat yang menggunakan chipset ini, di mana audio dalam rekaman tidak sinkron dengan jumlah waktu perangkat dalam keadaan ditangguhkan. (I58010)
Versi 1.3.0
18 Oktober 2023
androidx.camera:camera-*:1.3.0 dirilis. Versi 1.3.0 berisi commit berikut ini.
Perubahan penting sejak versi 1.2.0
- Fitur video termasuk HDR 10-bit, pemangkasan, cermin/non-cermin, bisukan/aktifkan suara, tetapkan kecepatan frame, dan lainnya.
- Kamera Serentak Ganda
- Pustaka efek
- Pemilih Resolusi
- Pemilihan kamera Teleskopik & Ultra-Wide
- Beralih kamera selama perekaman video (fitur eksperimental)
Versi 1.3.0-rc02
20 September 2023
androidx.camera:camera-*:1.3.0-rc02 dirilis. Versi 1.3.0-rc02 berisi commit ini.
Perbaikan Bug
- Meningkatkan stabilitas Ekstensi dengan memastikan bahwa peristiwa inisialisasi dan deinisialisasi dipicu dalam urutan yang benar. Perubahan ini memperbaiki beberapa masalah pratinjau hitam saat beralih mode Ekstensi atau beralih kamera. (Iddaac)
- Memperbaiki masalah saat
ImageAnalysistidak dapat diikat bersama denganImageCapturedan Pratinjau saat beberapa mode ekstensi diaktifkan di beberapa perangkat. Perbaikan ini akan menampilkan nilai yang benar saat aplikasi mengkueri ketersediaanImageAnalysismelaluiExtensionsManager#isImageAnalysisSupported(). (I7d538) - Memperbaiki masalah audio dan video yang direkam tidak sinkron saat mode pencerminan diaktifkan di Xiaomi Poco X3 NFC. (I20b4c)
Versi 1.3.0-rc01
23 Agustus 2023
androidx.camera:camera-*:1.3.0-rc01 dirilis. Version 1.3.0-rc01 berisi commit berikut ini.
Perubahan API
- Menambahkan
PendingRecording.asPersistentRecordinguntuk mengizinkan perekaman merekam secara terus-menerus saatVideoCaptureyang terpasang ke Perekamnya terikat kembali. (I517c6)
Perbaikan Bug
- Memperbaiki error saat streaming dibagikan dengan
VideoCapturedan Pratinjau. Juga memperbaiki layar hitam pada perangkat LAMA saat berbagi streaming diaktifkan. - Memperbaiki masalah gambar JPEG besar yang diambil di perangkat seri Samsung S7 (SM-G930T, SM-G930V). Gambar JPEG yang diambil berisi data padding 0 yang berlebihan dalam segmen data yang dikompresi JFIF. Hal ini menyebabkan gambar yang diambil memiliki ukuran file yang besar. Data pengisi 0 yang berlebihan tersebut akan dihapus agar gambar yang diambil memiliki ukuran file gambar yang normal. (I407b0, b/288828159)
- Memperbaiki masalah gambar JPEG besar yang diambil di perangkat seri Samsung S22 (SM-S901B, SM-S901B/DS) dan S22+ (SM-S906B). Gambar JPEG yang diambil berisi data padding 0 yang berlebihan dalam segmen data yang dikompresi JFIF. Hal ini menyebabkan gambar yang diambil memiliki ukuran file besar sekitar 13 MB di perangkat S22 SM-S901B/DS. Data pengisi 0 yang berlebihan tersebut akan dihapus agar gambar yang diambil memiliki ukuran file gambar yang normal. (I73be9, b/288828159)
- Memperbaiki masalah gambar JPEG besar yang diambil di perangkat seri Samsung A5, A52, A70, dan A72. Gambar JPEG yang diambil berisi data padding 0 yang berlebihan dalam segmen data yang dikompresi JFIF. Hal ini menyebabkan gambar yang diambil memiliki ukuran file yang sangat besar (misalnya sekitar 32 MB atau bahkan 96 MB). Data pengisi 0 yang berlebihan tersebut akan dihapus agar ukuran file gambar yang diambil menjadi normal. (I97c4d, b/288828159)
- Memperbaiki error native saat mengambil gambar dengan Ekstensi diaktifkan (I698f5)
Versi 1.3.0-beta02
26 Juli 2023
androidx.camera:camera-*:1.3.0-beta02 dirilis. Versi 1.3.0-beta02 berisi commit ini.
Perbaikan Bug
- Menggunakan senter sebagai flash untuk varian Pixel 4 dan 5 guna meningkatkan kualitas pengambilan foto dalam kondisi cahaya redup (I56ff5, b/280221967)
- Memperbaiki masalah gambar JPEG besar yang diambil di perangkat seri Samsung A5 (2017). Gambar JPEG yang diambil berisi data padding 0 yang berlebihan dalam segmen data yang dikompresi JFIF. Hal ini menyebabkan gambar yang diambil memiliki ukuran file sekitar 32 MB. Data pengisi 0 yang berlebihan tersebut akan dihapus agar ukuran file gambar yang diambil menjadi normal. (I29837, b/288828159)
- Memperbaiki percobaan ulang yang tidak dipicu dengan benar jika terjadi kegagalan pengambilan di perangkat bermasalah yang disebutkan dalam
CaptureFailedRetryQuirk. (I7b589)
Versi 1.3.0-beta01
21 Juni 2023
androidx.camera:camera-*:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.
Perubahan API
- Mengganti nama fungsi
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)menjadisetAllowedResolutionModedan mengganti nama konstantaResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONmenjadiPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE. (If84e8) - Menghapus API
ImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int), danVideoCapture.setTargetRotationDegrees(int)yang tidak digunakan lagi. (Id8e77) - Class
DynamicRangemerepresentasikan rentang dinamis gambar. Ini dapat digunakan untuk memilih format Rentang Dinamis Tinggi sebagai outputVideoCapturehinggaVideoCapture.Builder#setDynamicRange(). (Ib0377) - Menambahkan
isImageAnalysisSupportedAPI keExtensionsManageryang dapat digunakan aplikasi untuk menentukan apakah kasus penggunaanImageAnalysisdapat diikat bersama dengan Pratinjau danImageCapturesaat Ekstensi diaktifkan. (I1bc63) - Class
VideoCapabilitiesbaru yang diperoleh dariRecorderdapat digunakan untuk mengkueri kualitas dan rentang dinamis yang didukung untuk perekaman video di perangkat. MetodegetSupportedQualities()danisQualitySupported()QualitySelectortidak digunakan lagi. Sebagai gantinya, gunakan metodegetSupportedQualities()danisQualitySupported()VideoCapabilities. (I04014) CameraController#setVideoCaptureTargetQuality()diganti namanya menjadisetVideoCaptureQualitySelectordan mengambil argumenQualitySelector, yang memberikan fleksibilitas lebih besar untuk penyiapan kualitas video.CameraController#getVideoCaptureTargetQuality()diubah menjadigetVideoCaptureQualitySelector. (I520ed)- Menghapus anotasi eksperimental untuk fitur video. Fitur video kini stabil. (I1a113)
Perbaikan Bug
- Menggunakan senter sebagai flash pada model Samsung SM-A320 untuk meningkatkan kecepatan dan kualitas gambar yang diambil dalam kondisi cahaya redup. (I6a022, b/286190938)
- Menambahkan dukungan format
ImageFormat.JPEGuntukImageProxy.toBitmap(). Jika array byte JPEG tidak dapat didekode,UnsupportedOperationExceptionakan dimunculkan. (I81958, b/282057603)
Versi 1.3.0-alpha07
24 Mei 2023
androidx.camera:camera-*:1.3.0-alpha07 dirilis. Versi 1.3.0-alpha07 berisi commit ini.
Fitur Baru
- API
VideoCapture.Builder# setTargetFrameRate(Range)baru memungkinkan rekaman video diambil pada kecepatan frame selain default perangkat. Kecepatan frame yang tersedia untuk rekaman dapat dikueri melaluiCameraInfo#getSupportedFrameRates()API baru.
Perubahan API
- Mengganti nama konstanta
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONmenjadiALLOWED_RESOLUTIONS_NORMAL/SLOWdan mengganti nama fungsi buildersetHighResolutionEnabledFlagmenjadisetAllowedResolutionMode. (Iae817) CameraInfo#getSupportedFrameRateRanges()kini menampilkanSet, bukanList, untuk lebih menunjukkan bahwa rentang tidak berurutan. (I02f43)- Tambahkan pemroses error ke
CameraEffectuntuk menangani error yang tidak dapat dipulihkan (Ice471) - Menambahkan konstruktor publik di
ResolutionInfountuk kemampuan pengujian yang lebih baik (If6d1c) - Menyediakan API
UseCase.snapToSurfaceRotation(int)untuk menggantikan penggunaansetTargetRotationDegreesdan menghentikan penggunaan APIImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int), danVideoCapture.setTargetRotationDegrees(int). (Ia9010) - Menambahkan API
Preview#getTargetFrameRatedanPreview.Builder#setTargetFrameRatebaru agar dapat menyetel dan mengambil target kecepatan frame untuk kasus penggunaan Pratinjau (If4f22) VideoRecordEvent.Finalizekini akan selesai dengan kode errorERROR_RECORDING_GARBAGE_COLLECTEDsaat objekRecordingdihentikan karena pengumpulan sampah. (Iba974)
Perbaikan Bug
- Memperbaiki
NullPointerExceptionsaat ukuran output yang di-cache diStreamConfigurationMapCompatbernilai null. (Idf124, b/282025204) - Memperbaiki masalah
Preview.setSurfaceProvider(null)yang tidak menjeda pratinjau di Ekstensi (Ia903e) - Memperbaiki masalah saat
ConcurrentModificationExceptionditampilkan selama pembukaan kamera saatVideoCaptureterikat. (Ic8ac4)
Versi 1.3.0-alpha06
19 April 2023
androidx.camera:camera-*:1.3.0-alpha06 dirilis. Versi 1.3.0-alpha06 berisi commit ini.
Fitur Baru
- Kamera serentak adalah fitur baru yang diperkenalkan dari Android 11, yang mendukung streaming perangkat kamera secara bersamaan. Misalnya, fitur ini memungkinkan perangkat mengoperasikan kamera depan dan belakang secara bersamaan. Saat ini CameraX hanya mendukung dua kamera serentak, yang memungkinkan dua kamera beroperasi secara bersamaan, dengan maksimal dua {@link UseCase} yang terikat untuk setiap kamera. Resolusi maksimum adalah 720p atau 1440p, detail selengkapnya di link berikut, lihat CameraManager#getConcurrentCameraIds()
- Memperkenalkan
ResolutionSelectorAPI baru yang mencakup fitur berikut:- Aplikasi dapat menentukan strategi rasio aspek dan resolusi untuk memilih resolusi terbaik sesuai kebutuhan.
- Semua parameter ukuran dan rasio aspek dinyatakan dalam koordinat sensor perangkat kamera.
- Aplikasi dapat menerapkan filter resolusi kustom untuk mengatur ukuran yang didukung dalam urutan yang diinginkan.
- Aplikasi juga dapat mengaktifkan pengambilan gambar beresolusi tinggi untuk mendapatkan gambar dengan resolusi yang lebih tinggi. Namun, perhatikan bahwa penggunaan resolusi tinggi dapat menyebabkan waktu pengambilan gambar yang lebih lambat.
- Menambahkan API pencerminan
VideoCapture. Video yang direkam olehVideoCapturetidak dicerminkan secara default. Namun, pratinjau kamera dicerminkan di kamera depan secara default. API pencerminanVideoCapturememungkinkan penyelarasan dengan pratinjau kamera saat menggunakan kamera depan. Ada tigaMirrorMode,OFF,ON, danON_FRONT_ONLY. Untuk menyelaraskan dengan pratinjau kamera, sebaiknya gunakanON_FRONT_ONLYyang berarti pencerminan tidak diaktifkan untuk kamera belakang, tetapi diaktifkan untuk kamera depan.
Perubahan API
- Mengekspos
ResolutionSelectorAPI baru. Aplikasi dapat menentukan strategi rasio aspek dan resolusi dengan aturan penggantian atau filter resolusi kustom untuk mendapatkan hasil yang diinginkan. Aplikasi dapat menentukan tanda untuk mengaktifkan pengambilan gambar beresolusi tinggi. Tindakan ini akan memungkinkan CameraX memilih resolusi yang lebih tinggi saat mengambil foto atau video. Namun, perhatikan bahwa penggunaan resolusi tinggi dapat menyebabkan waktu pengambilan gambar yang lebih lambat. (Ibed95) - Rentang FPS yang didukung oleh algoritma AE kini dapat dikueri melalui
CameraInfo#getSupportedFrameRateRanges(). (Iaa67f) - Gabungkan nama semua metode kecepatan frame menjadi 'FrameRate'. Perbaiki kesalahan javadoc di
VideoCapture#getTargetFrameRate()(I83304) - Menghentikan penggunaan
setTargetAspectRatiodansetTargetResolutionAPI lama. Sebagai gantinya, gunakanResolutionSelectorAPI yang baru. (I542c3) - Menambahkan API publik untuk kamera ganda serentak, termasuk
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)boolean isConcurrentCameraModeOn()danConcurrentCameraConfig,SingleCameraConfig, danConcurrentCamera(Iab1c1)
- Menjadikan
ImageProcessor.Response#getOutputImageNonNull (Ib9c60) - Menambahkan API pencerminan
VideoCapture, termasukVideoCapture.Builder.setMirrorMode(int)danVideoCapture.getMirrorMode(). API ini berguna untuk aplikasi yang memerlukan rekaman video agar konsisten dengan perilaku pratinjau kamera umum, yaitu pratinjau kamera belakang tidak dicerminkan, tetapi pratinjau kamera depan dicerminkan. (I713b6, b/194634656) - Menambahkan
setTargetFrameRate()API diVideoCapture.BuilderdangetTargetFramerate()API diVideoCapture(I109d4) - Buat
SurfaceOutputmemperluas Closable dan sembunyikan konstruktor publik SurfaceOutput.Event. (I60ea8) - Menambahkan
Recording.muteuntuk membisukan atau membunyikan rekaman yang sedang diproses secara dinamis.RecordingStatsakan berisiAudioStats.AUDIO_STATE_MUTEDsaat perekaman dalam pemrosesan dibisukan secara eksplisit. (Ie17fc) - Membuat parameter
#setEffects()non-null. Menambahkan API#clearEffects()untuk menghapus efek. Aplikasi harus memanggil#clearEffects()untuk menghapus efek. (I4b4d9) - Menambahkan konstruktor kedua untuk
ViewfinderSurfaceRequest.Builderguna mengambil builder untuk konstruktor salinan (I621a7)
Perbaikan Bug
- Memperbaiki masalah yang menyebabkan aplikasi yang memanggil Extensions API dapat error saat menutup kamera (Ib27e5)
- Memperbaiki masalah saat
VideoCapturetidak dapat berfungsi dengan kamera depan di beberapa perangkat. Misalnya, di Samsung Galaxy S23 dan Xiaomi 2107113SG. (Ibec7e, b/270656244) - Memperbaiki masalah pengambilan gambar menggunakan File di folder publik penyimpanan eksternal yang selalu gagal di Android 10 atau yang lebih baru. Perhatikan bahwa di Android 10, mengambil foto menggunakan File di folder publik penyimpanan eksternal juga memerlukan setelan
requestLegacyExternalStorageke benar (true) di tag aplikasi. (I11b2c) - Memperbaiki error
RejectedExecutionExceptiondiDefaultSurfaceProcessor. Error dapat terjadi saatVideoCaptureterikat dan aktivitas dijeda. (Idb46a, b/273713906)
Versi 1.3.0-alpha05
22 Maret 2023
androidx.camera:camera-*:1.3.0-alpha05 dirilis. Versi 1.3.0-alpha05 berisi commit ini.
Perubahan API
- Menambahkan API rotasi
VideoCapture, termasukVideoCapture.Builder.setTargetRotation(int),VideoCapture.setTargetRotation(int),VideoCapture.setTargetRotationDegrees(int), danVideoCapture.getTargetRotation(). API ini berguna untuk aplikasi yang mengunci orientasi perangkat.ImageCapture.setTargetRotationDegrees(int)danImageAnalysis.setTargetRotationDegrees(int)juga ditambahkan. (Id3ffe, b/205242781) - Izinkan
VIDEO_CAPTUREdanPREVIEW|VIDEO_CAPTUREsebagai target efek. Efek yang menargetkanVIDEO_CAPTUREakan diterapkan ke UseCaseVideoCapture; Efek yang menargetkanPREVIEW|VIDEO_CAPTUREakan diterapkan ke streaming bersama sebelum disalin ke streaming Pratinjau danVideoCapture. (Iee6f3)
Perbaikan Bug
- Dari Kamera
1.2.2: Memperbaiki masalah yang menyebabkan Ekstensi CameraX tidak berfungsi dengan baik saat proguard diaktifkan di beberapa perangkat seperti Pixel (I90aa2) - Memperbaiki bug
PreviewViewyang menyebabkan pratinjau mungkin terdistorsi saat diputar jika aplikasi menangani orientasi layar itu sendiri. Hal ini hanya terjadi di perangkat tertentu. Masalah ini dapat direproduksi di Pixel 4a, Pixel 5, dan Pixel 6a. (I14340, b/223488673)
Versi 1.3.0-alpha04
22 Februari 2023
androidx.camera:camera-*:1.3.0-alpha04 dirilis. Versi 1.3.0-alpha04 berisi commit ini.
Fitur Baru
Fitur baru untuk mendukung kombinasi Platform yang sebelumnya tidak didukung dengan membagikan satu streaming ke beberapa UseCases.
- Sebelumnya, saat melakukan binding "Preview, VideoCapture, ImageAnalysis" pada level hardware kamera LENGKAP dan di bawahnya, atau melakukan binding "Preview, VideoCapture, ImageCapture" pada level hardware LAMA, CameraX menampilkan
IllegalArgumentException. - Perilaku baru adalah binding akan berfungsi tanpa menampilkan pengecualian. Sebagai gantinya, CameraX menggunakan OpenGL untuk menyalin streaming bersama ke Pratinjau dan VideoCapture.
- Aplikasi mungkin akan mengalami peningkatan latensi dan pemakaian daya untuk membuat salinan buffer.
Perubahan API
- Menambahkan API untuk mengonversi
ImageProxykeBitmap. FormatImageProxyyang didukung adalahImageFormat.YUV_420_888danPixelFormat.RGBA_8888. Jika formatnya tidak valid,IllegalArgumentExceptionakan ditampilkan. (Ic7110) - Menambahkan
CoroutineCameraViewfinderuntuk mendukung konfigurasi jendela bidik menggunakan fungsi penangguhan di Kotlin. (I657bc) - Menambahkan konstruktor publik baru untuk
ViewfinderSurfaceRequest. Hal ini memberikan fleksibilitas saat pengguna tidak dapat memberikanCameraCharacteristics. (Ie6549)
Perbaikan Bug
- Memperbaiki error Ekstensi yang terjadi di beberapa perangkat Samsung saat menjeda/melanjutkan aplikasi terlalu cepat (Iaca26)
Versi 1.3.0-alpha03
25 Januari 2023
androidx.camera:camera-*:1.3.0-alpha03 dirilis. Versi 1.3.0-alpha03 berisi commit ini.
Perubahan API
- Menambahkan
CameraInfo.getIntrinsicZoomRatiountuk memberikan informasi sudut pandang relatif kepada kamera default. (Ib300c) - Menambahkan
CameraInfo.getLensFacinguntuk memberikan informasi arah hadap lensa. MenambahkanCameraSelector#LENS_FACING_EXTERNALsebagai fitur eksperimental untuk memilih kamera eksternal. (Icaf3e) - Menambahkan
#setEffect()keCameraControlleryang memungkinkan penambahan efek ke output kamera. (I1d21f) - Menambahkan metode
invalidate()keSurfaceRequest. Penyedia Platform dapat memberi tahu bahwa platform yang disediakan sebelumnya tidak lagi valid. (Idc649) - Menambahkan
ImageProcessorAPI. Antarmuka ini digunakan untuk memasukkan efek pascapemrosesan ke dalam pipelineImageCapture. (I575c6) - Menambahkan API
Recorder.Builder.setAspectRatio()yang dapat digabungkan denganQualitySelectoruntuk mendukung lebih banyak resolusi video. (I8a082) - Menambahkan
Recorder.Builder#setTargetVideoEncodingBitRateuntuk menetapkan Encoding Video TargetBitRatedanRecorder#getTargetVideoEncodingBitRateguna mendapatkan Kecepatan Bit Encoding Video Target. (I5984d)
Perbaikan Bug
- Memperbaiki
ImageCaptureyang gagal saat tidak ada unit flash dan mode flash aktif. (I9e8b4, b/263391112) - Memperbaiki masalah kerusakan gambar JPEG ketika menulis data lokasi Exif di beberapa perangkat Samsung Android 12. (Ib7086, b/263747161, b/263289024)
- saat menyetel flash/zoom sebelum inisialisasi kamera selesai, mis. memanggil
CameraController#enableTorch, tindakan yang tertunda akan di-cache dan dikirim setelah inisialisasi dilakukan. (I11e92, b/264157663)
Versi 1.3.0-alpha02
7 Desember 2022
androidx.camera:camera-*:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit ini.
Perubahan API
- menambahkan API baru untuk menerapkan efek pascapemrosesan ke output Pratinjau. (Ic17d5)
- Mengganti nama
OutputOptions.getDurationLimitmenjadiOutputOptions.getDurationLimitMillis, danOutputOptions.setDurationLimitmenjadiOutputOptions.setDurationLimitMillis. (I91f0c) - Menambahkan class
AudioConfiguntuk menangani setelan terkait audio saat merekam video. Anotasi@RequiresPermissiondipindahkan dari fungsistartRecordingkeAudioConfiguntuk menghindari permintaan izin yang tidak perlu ketika audio tidak dibutuhkan. (I28755) - Menghapus class Metadata,
OnVideoSavedCallback,OutputFileOptions, danOutputFileResultsyang tidak lagi digunakan setelah menerapkan API perekaman video baru. (I38cd8) - Menerapkan API perekaman video baru. Metode
getVideoCaptureTargetSizedansetVideoCaptureTargetSizediganti dengan metodegetVideoCaptureTargetQualitydansetVideoCaptureTargetQuality, karenasetTargetResolutiontidak lagi didukung. (I2a1d5)
Perbaikan Bug
- Menghapus
core.VideoCaptureAPI yang tidak digunakan lagi. (I531e0) - Memperbaiki masalah saat callback
onErrortidak dipanggil saat mengambil gambar tanpa izin penyimpanan.(I936db, b/244807669) - Meningkatkan kualitas dan keandalan ekstensi kamera. Ekstensi kamera dinonaktifkan pada perangkat Motorola menggunakan Ekstensi Kamera v1.1.0 dan yang lebih lama karena masalah dengan dukungan Bokeh, pengambilan gambar, dan pratinjau yang tidak dilanjutkan. (Id3ce3)
- Memperbaiki masalah pada native code saat pemangkasan video melalui
ViewPortdiaktifkan pada perangkat lama. (I16b8a, b/251357665)
Versi 1.3.0-alpha01
9 November 2022
androidx.camera:camera-*:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit ini.
Fitur Baru
Camera-viewfindertelah dipublikasikan secara resmi.Camera-viewfindermenyediakan widget jendela bidik dasar yang dapat menampilkan feed kamera untuk Camera2. Lihat kode contoh untuk melihat contoh.
Perubahan API
- Menambahkan
OutputOptions.setDurationLimituntuk mengizinkan penentuan batas durasi video. Perekaman akan otomatis dihentikan saat melebihi batas durasi yang ditentukan. (I902a0) - Menambahkan status error audio rekaman video
AudioStats.AUDIO_STATE_SOURCE_ERROR. Dikirim saat penyiapan sumber audio gagal atau terjadi beberapa error. (I37410)
Perbaikan Bug
- Menambahkan quirk untuk mengizinkan beberapa perangkat yang bermasalah mencoba kembali perekaman satu kali saat terjadi kegagalan perekaman. (Id4795)
- Memperbaiki masalah layar hitam implementasi
PreviewViewSurfaceViewdiViewPager2. Sebagai bagian dari perbaikan,PreviewViewakan menggunakan kembaliSurfaceViewjika resolusi yang diminta tidak berubah. (Ib3f27) - Mendukung pemangkasan video (fitur WYSIWYG) saat
ViewPortatauCameraControllerAPI digunakan. (Ifbba8, b/201085351) - Memperbaiki kamera depan Huawei P40 lite yang gagal merekam video. (I87c57, b/250807400)
Versi 1.2
Versi 1.2.3
24 Mei 2023
androidx.camera:camera-*:1.2.3 dirilis. Versi 1.2.3 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah saat
VideoCapturetidak dapat berfungsi dengan kamera depan di beberapa perangkat. Misalnya, di Samsung Galaxy S23 dan Xiaomi 2107113SG. (Ibec7e, b/270656244)
Versi 1.2.2
22 Maret 2023
androidx.camera:camera-*:1.2.2 dirilis. Versi 1.2.2 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah yang menyebabkan Ekstensi CameraX tidak berfungsi dengan baik saat proguard diaktifkan di beberapa perangkat seperti Pixel (I90aa2)
Versi 1.2.1
25 Januari 2023
androidx.camera:camera-*:1.2.1 dirilis. Versi 1.2.1 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah kerusakan gambar JPEG ketika menulis data lokasi Exif di beberapa perangkat Samsung Android 12. (b/263289024)
Versi 1.2.0
7 Desember 2022
androidx.camera:camera-*:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.
Perubahan penting sejak 1.1.0
- Library camera-mlkit-vision baru. Mudah mengintegrasikan CameraX dengan banyak fitur MLKit, termasuk pemindaian kode batang, deteksi wajah, deteksi teks, dll. Menambahkan
MLKitAnalyzersebagai API baru. - Zero-Shutter Lag API eksperimental baru. Mengoptimalkan pipeline pengambilan agar memiliki latensi yang lebih baik sekaligus mempertahankan kualitas gambar yang baik. Saat mode pengambilan disetel ke
CAPTURE_MODE_ZERO_SHUTTER_LAG, latensi antara saat tombol shutter diklik dan gambar akan diambil diharapkan diperkecil, dibandingkan dengan mode pengambilan lainnya. Pada perangkat yang tidak mendukungZERO_SHUTTER_LAG, ini akan dikembalikan keCAPTURE_MODE_MINIMIZE_LATENCY. - Menghentikan penggunaan
android.camera.core.VideoCapture. - Menambahkan
setStreamUseCase()sebagaiCamera2InteropAPI publik. - Menambahkan persyaratan API level untuk
setOutputImageRotationEnabled. - Mengganti nama
ImageAnalysis.Analyzer#getTargetResolutionOverride()menjadiImageAnalysis.Analyzer#getDefaultTargetResolution(). - Menambahkan API untuk menyetel metadata lokasi ke video yang disimpan.
- Memperbaiki kecepatan frame yang rendah saat menggunakan kasus penggunaan
VideoCapturedan Pratinjau dengan rasio aspek 16:9 - Memperbaiki masalah pratinjau berwarna hitam yang terjadi saat ekstensi BOKEH diaktifkan di beberapa perangkat Samsung dan pengguna mengganti kamera.
- Memperbaiki Samsung J7 Prime (SM-G610M) dan J7 (SM-J710MN)
Preview/VideoCaptureyang mengalami masalah pada perangkat API level 27. - Menonaktifkan solusi untuk membalik area AF secara horizontal pada kamera depan di Samsung Android T karena masalah telah diperbaiki
Versi 1.2.0-rc01
24 Oktober 2022
androidx.camera:camera-*:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit ini.
Perubahan API
- Menambahkan
setStreamUseCaseAPI untukOutputConfiguration. Pengguna dapat menentukan Kasus Penggunaan Streaming untuk sesi streaming, yang menggantikan logika internal CameraX untuk memilih Kasus Penggunaan Streaming guna mengoptimalkan sesuai kebutuhan. (Ib1a95)
Perbaikan Bug
- Memperbaiki Samsung J7 Prime (SM-G610M) dan J7 (SM-J710MN)
Preview/VideoCaptureyang mengalami masalah pada perangkat API level 27. Resolusi 1920x1080 menyebabkan gambarPreview/VideoCapturedirentangkan. Menambahkan solusi agar tidak memilih resolusi 1920x1080 untuk Pratinjau atauVideoCaptureagar gambar tidak bermasalah. (I0e04e) - Memperbaiki kecepatan frame yang rendah saat menggunakan kasus penggunaan Pratinjau dan
VideoCapturedengan rasio aspek 16:9 di beberapa perangkat Huawei. (If8c88, b/223643510) - Memperbaiki kegagalan buka kamera saat
SurfaceProviderPratinjau tidak ditetapkan. Sebagai bagian dari perbaikan, Pratinjau tanpaSurfaceProvideryang ditetapkan kini tidak akan dikonfigurasi ke sesi pengambilan gambar kamera. (I99681)
Versi 1.2.0-beta02
21 September 2022
androidx.camera:camera-*:1.2.0-beta02 dirilis. Versi 1.2.0-beta02 berisi commit ini.
Perubahan API
- Menambahkan persyaratan API level untuk
setOutputImageRotationEnabled(I26e3e, b/240993561)
Perbaikan Bug
- Menonaktifkan solusi untuk membalik area AF secara horizontal pada kamera depan di Samsung Android T karena masalah telah diperbaiki. (I05f69)
- Memperbaiki masalah pratinjau berwarna hitam yang terjadi saat ekstensi
BOKEHdiaktifkan di beberapa perangkat Samsung dan pengguna mengganti kamera. (If6168)
Versi 1.2.0-beta01
24 Agustus 2022
androidx.camera:camera-*:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit ini.
Fitur Baru
- Library
camera-mlkit-visionbaru. Mudah mengintegrasikan CameraX dengan banyak fitur MLKit, termasuk pemindaian kode batang, deteksi wajah, deteksi teks, dll. Temukan kode contoh di sini. - Zero-Shutter Lag API eksperimental baru. Mengoptimalkan pipeline pengambilan agar memiliki latensi yang lebih baik sekaligus mempertahankan kualitas gambar yang baik. Saat mode pengambilan disetel ke CAPTURE_MODE_ZERO_SHUTTER_LAG, latensi antara saat tombol shutter diklik dan gambar akan diambil diharapkan diperkecil, dibandingkan dengan mode pengambilan lainnya. Pada perangkat yang tidak mendukung ZERO_SHUTTER_LAG, ini akan dikembalikan ke CAPTURE_MODE_MINIMIZE_LATENCY.
- Membuat
ImageAnalysis.AnalyzerdanMLKitAnalyzersebagai API resmi. - Mengekspos API untuk menyetel metadata lokasi ke video yang disimpan.
- Mengganti nama
ImageAnalysis.Analyzer#getTargetResolutionOverride()menjadiImageAnalysis.Analyzer#getDefaultTargetResolution().
Perbaikan Bug
- Memperbaiki masalah pengambilan gambar Alps k61v1_basic_ref. Gambar JPEG yang diambil dari HAL memiliki metadata Exif yang salah. Metadata Exif tidak memiliki tag 0xffd9 atau 0xffda untuk membuat
ExifInterfacemengurai atribut dengan benar. Mengambil gambar dalam format YUV, lalu mengompresinya menjadi gambar output JPEG sebagai solusi untuk masalah ini. (I45abb)
Versi 1.2.0-alpha04
27 Juli 2022
androidx.camera:camera-*:1.2.0-alpha04 dirilis. Versi 1.2.0-alpha04 berisi commit ini.
Perubahan API
- Mengganti nama
ImageAnalysis.Analyzer#getTargetResolutionOverride()menjadiImageAnalysis.Analyzer#getDefaultTargetResolution(). Perilakunya juga diubah sehingga nilai yang ditampilkan oleh metode ini dapat diganti dengan nilaiImageAnalysis#setTargetResolution(). (If1d36) - Mengekspos API untuk menyetel metadata lokasi ke video yang disimpan. Objek
android.location.Locationdapat ditetapkan melaluiandroidx.camera.video.OutputOptions.Builder.setLocation(Location)API yang baru. (I313a0, b/204197544)
Perbaikan Bug
- Memperbaiki masalah untuk mengambil gambar dengan pratinjau yang tidak terikat (Ie70b6, b/235119898)
- Memperbaiki error dalam
Recordersaat mencoba merekam ketika sumber audio tidak tersedia. (I9f652)
Versi 1.2.0-alpha03
29 Juni 2022
androidx.camera:camera-*:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit ini.
Perubahan API
- Menghapus anotasi eksperimental untuk
ImageAnalysis.AnalyzerdanMLKitAnalyzer. (I0ff22)
Perbaikan Bug
- Menambahkan waktu tunggu default fokus otomatis 5.000 md yang akan menyelesaikan bagian AF dengan
isFocusSuccessfulfalse (salah) jikaFocusMeteringActiontidak dibatalkan dan bagian AF tidak digabungkan dalam durasi. (Ibc2e3) - Memperbaiki masalah untuk mengambil gambar dengan pratinjau yang terikat (I1d3a2, b/235119898)
- Mengaktifkan implementasi ekstensi lanjutan dan mengupdate versi antarmuka ekstensi dukungan CameraX ke 1.2 (I92256)
Versi 1.2.0-alpha02
1 Juni 2022
androidx.camera:camera-*:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit ini.
Fitur Baru
- Mengekspos API Zero-Shutter Lag CameraX sebagai eksperimental.
Perubahan API
- Menambahkan mode pengambilan baru
CAPTURE_MODE_ZERO_SHUTTER_LAGdiImageCapture, dan menambahkanisZslSupporteddiCameraInfountuk mengkueri kemampuan perangkat. ModeCAPTURE_MODE_ZERO_SHUTTER_LAGbertujuan untuk memberikan latensi minimum untuk pengambilan instan. Mode ini diimplementasikan berdasarkan buffer ring, yang meng-cache hasil pengambilan menengah untuk diproses ulang saat pengguna menekan tombol untuk mengambil gambar. Jika {@link VideoCapture} terikat atau mode flash tidak disetel ke NONAKTIF atau Ekstensi OEM disetel ke AKTIF, mode ini akan dinonaktifkan secara otomatis. (I9ae74) - Menambahkan metode
ImageAnalysis.getBackgroundExecutor()(Icc945)
Perbaikan Bug
- Memperbaiki metode takePicture
ImageCaptureyang menonaktifkan flash di perangkat yang dilaporkan. (Ib5eb5, b/228272227) - Memperbaiki bug yang menyebabkan
AssertionErrortidak ditangani saat mendapatkan karakteristikCONTROL_ZOOM_RATIO_RANGE.(/Ia248a, b/231701345)
Versi 1.2.0-alpha01
18 Mei 2022
androidx.camera:camera-*:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.
Fitur Baru
- Library camera-mlkit-vision baru diluncurkan
Perbaikan Bug
- Memperbaiki
QualitySelectoryang gagal merekam video UHD saat strategi penggantian diaktifkan. Masalah ini terjadi jikaVideoCaptureterikat denganImageCapturedan Pratinjau pada perangkat kamera level hardware LENGKAP atau yang lebih tinggi. Strategi penggantianQualitySelectormenyebabkanVideoCapturesalah mendapatkan resolusi FHD. Resolusi UHD sebenarnya didukung untuk kombinasi kasus penggunaan ini dan harus digunakan. (I0e788, b/230651237) - Memperbaiki
NullPointerExceptiondiImageCapture.takePicture(). (I92366, b/230454568, b/229766155) - Memperbaiki perilaku jeda asinkron
androidx.camera.video.Recorder(Ia8ce8)
Camera-Camera2, Camera-Core, Camera-Lifecycle & Camera-Video Versi 1.1.0
Versi 1.1.0
29 Juni 2022
androidx.camera:camera-*:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.
Perubahan penting sejak versi 1.0.0
- Menambahkan library View, Extension, dan Video Capture sebagai versi RC pertamanya. Dari 1.1.0-beta01, semua library CameraX akan menyelaraskan nomor versi yang sama. Hal ini akan membantu developer melacak versi dengan jauh lebih mudah dan mengurangi kompleksitas matriks kompatibilitas versi besar.
- Memperkenalkan fitur dan API publik baru yang mencakup:
- Menambahkan library kamera-video resmi untuk mendukung kasus penggunaan pengambilan video.
- Kemampuan rotasi dan rotasi YUV ke RGB (
ImageAnalysis.Builder.setOutputImageRotationEnableddansetOutputImageFormat) - Mendukung mode multi-aplikasi dengan mengizinkan aplikasi CameraX melanjutkan kamera saat kamera dijeda oleh aplikasi lain dan fokus kembali.
- Memastikan CameraX berfungsi dengan baik di perangkat foldable dengan memperbaiki beberapa masalah pratinjau.
- Menambahkan
CameraStateAPI yang akan diekspos melalui CameraInfo. - Menambahkan
ProcessCameraProvider.getAvailableCameraInfos()API untuk langsung mengambil informasi tentang kamera yang tersedia - Output format JPEG untuk
ImageCapture#OnImageCapturedCallbacksaat Ekstensi diaktifkan. - Menambahkan
isFocusMeteringSupportedAPI diCameraInfoyang memungkinkan aplikasi memeriksa apakahFocusMeteringActiontertentu didukung di kamera saat ini atau tidak. - Mengekspos
getResolutionInfoAPI untuk memberikan informasi resolusi bagi Pratinjau,ImageCapture, danImageAnalysis. - Menambahkan
ImageCapture.Builder#setJpegQualityAPI baru untuk memungkinkan perubahan kualitas kompresi gambar JPEG output saat mengambil gambar. - Menambahkan
CameraSelector#filterke API publik untuk memfilter daftarCameraInfosberdasarkanCameraSelector. - Menambahkan
Camera2CameraControl.clearCaptureRequestOptionsuntuk menghapus opsi permintaan pengambilan foto yang ada. - Menambahkan API eksperimental untuk menggunakan
CameraControllerdengan library pemrosesan gambar eksternal. Misalnya, MLKit - Menambahkan API eksperimental
CameraInfo#getCameraSelector()yang menampilkanCameraSelectorunik ke kameranya - Membuat beberapa API eksperimental menjadi API publik formal
- Mengganti anotasi
@Experimentaldengan@RequiresOptInke API eksperimental. Untuk memanggil API eksperimental, gunakan androidx.annotation.OptIn, bukan androidx.annotation.experimental.UseExperimental yang sudah tidak digunakan lagi. - Membuat API eksperimental berikut menjadi API resmi:
CameraXConfig.Builder#setAvailableCamerasLimiter(),CameraXConfig.Builder#setMinimumLoggingLevel(),CameraXconfig.Builder#setSchedulerHandler(),CameraXConfig#getAvailableCamerasLimiter(),CameraXConfig#getMinimumLoggingLevel(),CameraXConfig#getCameraExecutor(),CameraXConfig#getSchedulerHandler(), @ExperimentalCameraFilterAPI- API exposure compensation eksperimental.
- Mendorong
UseCaseGroupAPI eksperimental ke camera-core, camera-lifecycle, dan camera-video. MenambahkanViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirection, danViewPort.Builder#setScaleTypeuntuk menyesuaikan area pandang. - Membuat
ExperimentalUseCaseGroupLifecyclemenjadi API publik formal. - Perubahan pada API yang ada
Renamed MediaStoreOutputOptions.getCollectionmenjadiMediaStoreOutputOptions.getCollectionUri.ActiveRecordingdiganti namanya menjadi "Recording" untuk mengurangi panjang.- Mengubah
QualitySelectorAPI kreator menjadi API berbasis daftar
Perbaikan Bug
- Memperbaiki masalah
YuvToJpegProcessorEOFExceptionsaat mode ekstensi diaktifkan dan modeImageCapture#CAPTURE_MODE_MAX_QUALITYdisetel. - Memperbaiki konfigurasi codec yang gagal karena perekaman video ditutup
- Memperbaiki rasio aspek pratinjau/video yang direntangkan saat merekam pada FHD
- Memperbaiki audio/video yang tidak sinkron setelah dijeda dan dilanjutkan di beberapa perangkat
- Memperbaiki masalah saat flash dipicu selama ketuk untuk fokus (
startFocusAndMetering) ketika mode flash adalah otomatis atau always_on di lingkungan minim cahaya.
Versi 1.1.0-rc02
1 Juni 2022
androidx.camera:camera-*:1.1.0-rc02 dirilis. Versi 1.1.0-rc02 berisi commit ini.
Perbaikan Bug
- Memperbaiki
NullPointerExceptiondiImageCapture.takePicture(). (I92366, b/230454568, b/229766155) - Memperbaiki bug yang menyebabkan
AssertionErrortidak ditangani saat mendapatkan karakteristikCONTROL_ZOOM_RATIO_RANGE. (Ia248a, b/231701345)
Versi 1.1.0-rc01
11 Mei 2022
androidx.camera:camera-*:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.
Fitur Baru
- Rilis versi RC pertama untuk camera-video, camera-view, dan camera-extension
Perbaikan Bug
- Memperbaiki masalah saat codec video tidak dirilis ketika
VideoCapture<Recorder>tidak terikat, sehingga menyebabkan penggunaanVideoCapture<Recorder>berikutnya gagal merekam denganMediaCodec.CodecException, terutama pada perangkat API 21-22. (Ie7f68) - Memperbaiki gambar yang diambil dari
CameraExtensionsActivityagar tidak dihapus diImageCaptureTest
Versi 1.1.0-beta03
6 April 2022
androidx.camera:camera-*:1.1.0-beta03 dirilis. Versi 1.1.0-beta03 berisi commit ini.
Perubahan API
- Membatasi konstruktor
CaptureRequestOptions. (I261b6) - Menambahkan API eksperimental untuk menggunakan
CameraControllerdengan library pemrosesan gambar eksternal. Misalnya, MLKit (I4ea71)
Perbaikan Bug
- Memperbaiki masalah pratinjau yang menjadi miring di
PreviewViewsaat aktivitas tidak dimulai ulang setelah memutar perangkat di multi-aplikasi. (I1ea36, b/223488673) - Memperbaiki masalah multi-aplikasi yang ketika fokus berubah kembali ke aplikasi, aplikasi gagal melanjutkan kamera saat (1) aplikasi prioritas tinggi lainnya membuka kamera lain (2) perangkatnya adalah perangkat Samsung Android 12. (I7e9f2)
- Solusi disertakan untuk perangkat yang error saat memeriksa ketersediaan flash. Perangkat ini tidak akan memiliki flash yang tersedia. (If26a3, b/216667482)
- Memperbaiki masalah
AbstractMethodErroryang terjadi saat aplikasi menggunakan ekstensi dan mengaktifkan proguard. (I7cbaf, b/222726805) - Memaksa menonaktifkan mode ekstensi bokeh di perangkat Motorola razr 5G yang akan menyebabkan masalah layar pratinjau berwarna hitam. (I35d49)
- Memperbaiki audio/video yang tidak sinkron setelah dijeda dan dilanjutkan di beberapa perangkat Samsung sebelum API 29. (I64622, b/202798609, b/202798572)
- Memperbaiki audio/video yang tidak sinkron setelah dijeda dan dilanjutkan di Sony G3125. (I2a1a5, b/202799148)
- Memperbaiki error saat Perekam Suara menemukan
InvalidConfigException. Namun, perbaikan ini hanya mencegah aplikasi mengalami error tanpa menyelesaikan penyebabInvalidConfigException. JikaRecordertetap tidak dapat dikonfigurasi, aplikasi akan menerima callback error saat memulai perekaman. (I89c29, b/213617227)
Kontribusi Eksternal
- diupdate :compose:ui:ui-test api (updateApi) karena migrasi test-coroutines-lib (I3366d)
Versi 1.1.0-beta02
23 Februari 2022
androidx.camera:camera-*:1.1.0-beta02 dirilis. Versi 1.1.0-beta02 berisi commit ini.
Perubahan API
- Menambahkan kemampuan untuk menentukan ID kamera fisik melalui Camera2Interop. (I5aed8)
Perbaikan Bug
- Memperbaiki masalah pratinjau yang dibentangkan di Oppo Find N (I7d004)
- Memperbaiki masalah pada Galaxy J7 Prime dengan pratinjau yang terdistorsi. (I4c500)
- Menggunakan kecepatan bit yang kompatibel untuk menemukan encoder video. (d969052)
Versi 1.1.0-beta01
26 Januari 2022
androidx.camera:camera-*:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit ini.
Fitur Baru
- Dari 1.1.0-beta01, semua library CameraX akan menyelaraskan nomor versi yang sama. Hal ini akan membantu developer melacak versi dengan jauh lebih mudah dan mengurangi kompleksitas matriks kompatibilitas versi besar.
Perubahan API
- Menambahkan
Camera2CameraControl.clearCaptureRequestOptionsuntuk menghapus opsi permintaan pengambilan foto yang ada. (Ifa07d)
Perbaikan Bug
- Memperbaiki error saat merekam video di beberapa perangkat sebelum Android O (API 26). (I88fdf, b/212328261)
- Memperbaiki masalah area AF yang salah saat menggunakan
cameraControl#startFocusAndMetering()pada kamera depan di perangkat Samsung (Ifbf59, b/210548792) - Menggunakan senter sebagai flash pada Pixel 3a/Pixel 3a XL untuk meningkatkan kecepatan pengambilan foto dan kualitas foto dalam gelap (Ib12b6, b/211474332)
- Memungkinkan aplikasi melanjutkan kamera saat kamera diganggu oleh aplikasi berprioritas lebih tinggi lainnya dalam mode multi-aplikasi dan fokusnya kembali ke aplikasi. Perlu diketahui bahwa mungkin ada latensi (1 detik hingga 10 detik atau lebih) antara perubahan fokus dan kamera dibuka kembali karena beberapa masalah framework. (I4d092)
Versi 1.1.0-alpha12
15 Desember 2021
androidx.camera:camera-*:1.1.0-alpha12 dirilis. Versi 1.1.0-alpha12 berisi commit berikut ini.
Perubahan API
- Menghapus anotasi
@RequiresApi(21)yang tidak perlu dari class/antarmuka internal. (I8e286, b/204917951) - Konstanta kualitas dan konstanta strategi fallback
QualitySelectortelah diubah agar dapat diwakili oleh objek class. Misalnya,QualitySelector.QUALITY_HDdiubah menjadiQuality.HD, danQualitySelector.FALLBACK_STRATEGY_LOWERdiubah menjadi instance yang ditampilkan olehFallbackStrategy.lowerQualityOrHigherThan(Quality). API yang digunakan untuk membuatQualitySelectortelah diubah menjadi API berbasis daftar. APIQualitySelector.fromOrderedList(List<Quality>)baru akan merujuk ke urutan daftar kualitas input, bukan urutan yang dibuat olehQualitySelector.Procedure. ClassQualitySelector.Proceduretelah dihapus. (I43343) PendingRecording.withEventListener()telah dihapus dan pemroses peristiwa sekarang harus diteruskan kePendingRecording.start(). Persyaratan pemroses peristiwa ini dimaksudkan untuk mendorong penanganan error asinkron yang dilaporkan dalam peristiwaVideoRecordEvent.Finalize. (I1e71d)ActiveRecordingdiganti namanya menjadiRecordinguntuk mengurangi panjang. (I77ceb)
Perbaikan Bug
- Memperbaiki masalah saat foto yang diambil dalam mode
FLASH_AUTOkurang terang dalam kondisi gelap di Pixel 3a dan Pixel 3a XL (I13f19, b/205373142) - Selalu gunakan ukuran layar terbaru untuk menentukan pratinjau
Resolution. (I4a694) - Memfilter kamera yang tidak memiliki
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE. Kamera denganREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEmemiliki rangkaian kemampuan minimal yang didukung setiap perangkat kamera. Kamera tanpaREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEmungkin menjadi kamera untuk mendukung fungsi khusus dan tidak mendukung output warna standar.CameraXtidak dapat mendukung kasus penggunaanPreview,ImageCapture,ImageAnalysis, atauVideoCaptureuntuk kamera tersebut. Oleh karena itu, kamera tersebut harus difilter untuk mencegah penggunaan yang salah. (Ib8cda) CameraSelector#filtertidak lagi melemparkanIllegalArgumentExceptionsaat set hasil kosong. (I27804)- Heuristik yang lebih cerdas kini digunakan untuk memilih setelan encoder berdasarkan profil yang ditentukan oleh OEM. (Iaeef0)
- Pratinjau Tetap akan memiliki garis warna yang bertautan setelah memulai perekaman video UHD di Pixel1. (I833c6, b/205340278)
Versi 1.1.0-alpha11
17 November 2021
androidx.camera:camera-*:1.1.0-alpha11 dirilis. Versi 1.1.0-alpha11 berisi commit ini.
Perubahan API
- Menambahkan CameraSelector#filter ke API publik untuk memfilter daftar CameraInfo berdasarkan CameraSelector. (I105d0)
Menambahkan setOutputImageRotationEnabled API untuk konfigurasi ImageAnalysis. Pengguna dapat mengaktifkan rotasi untuk buffering gambar YUV/RGB. Derajat rotasi adalah rotasi relatif yang dihitung berdasarkan rotasi sensor dan rotasi target untuk memastikan gambar tetap mengarah ke depan.
Menambahkan setOutputImageRotationEnabled API untuk konfigurasi ImageAnalysis. Pengguna dapat mengaktifkan rotasi untuk buffering gambar YUV/RGB. Derajat rotasi adalah rotasi relatif yang dihitung berdasarkan rotasi sensor dan rotasi target untuk memastikan gambar tetap mengarah ke depan.
Menambahkan
getSensorToBufferTransformMatrixAPI di ImageInfo. Matriks yang ditampilkan adalah pemetaan dari koordinat sensor ke koordinat buffering, yaitu dari nilaiCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZEke(0, 0, image.getWidth, image.getHeight). Matriks dapat digunakan untuk memetakan koordinat dari satu {UseCase} ke yang lain. Misalnya, memetakan koordinat wajah yang terdeteksi dengan ImageAnalysis ke Preview. (I9ff1e)Menambahkan API ImageCapture.Builder#setJpegQuality baru untuk memungkinkan perubahan kualitas kompresi gambar JPEG output saat mengambil gambar. (I8dcf4)
Mengganti nama MediaStoreOutputOptions.getCollection menjadi MediaStoreOutputOptions.getCollectionUri. (I16639)
Perbaikan Bug
- Memperbaiki masalah saat flash dipicu selama ketuk untuk memfokuskan (startFocusAndMetering) ketika mode flash otomatis atau always_on di lingkungan minim cahaya. (Id4c11)
- Menonaktifkan HDR+ di Pixel 2 XL/Pixel 3 XL dalam mode MINIMIZE_LATENCY untuk mengurangi latensi. (Ib6270, b/203505523)
Kontribusi Eksternal
Versi 1.1.0-alpha10
13 Oktober 2021
androidx.camera:camera-*:1.1.0-alpha10 dirilis. Versi 1.1.0-alpha10 berisi commit berikut.
Fitur Baru
- Merilis
androidx.camera:camera-video:1.1.0-alpha10sebagai Video versi alfa pertama secara resmi. Ada beberapa masalah umum yang harus diperbaiki dalam rilis selanjutnya.
Perubahan API
- Menambahkan anotasi
@RequiresApi(21)ke semua class CameraX dan menghapus minSdkVersion dari AndroidManifest.xml. Dengan begitu, camera-core dapat diintegrasikan dengan mudah ke dalam aplikasi yang memiliki minSdkVersion kurang dari 21, tetapi ingin menggunakan jalur kode secara bersyarat yang mengandalkan API 21 dan yang lebih tinggi. Untuk aplikasi apa pun yang memiliki minSdkVersion 21 atau yang lebih tinggi, perubahan ini tidak memerlukan tindakan. (Ie7f2e, b/200599470)
Perbaikan Bug
- Menampilkan InitializationException untuk membuat aplikasi dapat dengan baik menangani AssertionError yang terjadi saat membuat CameraCharacteristics. (Ibec79)
Versi 1.1.0-alpha09
29 September 2021
androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09, dan androidx.camera:camera-lifecycle:1.1.0-alpha09 dirilis. Versi 1.1.0-alpha09 berisi commit ini.
Perubahan API
- Anotasi ExperimentalUseCaseGroup dihapus karena sekarang API tidak lagi bersifat eksperimental. (I01ef5)
Perbaikan Bug
- Memperbaiki masalah saat foto yang diambil menjadi blur
dalam mode
MAXIMIZE_QUALITY. (I173a9, b/193823892) - Memperbaiki masalah kamera Samsung Galaxy J5 yang terhenti setelah mengambil gambar dengan flash aktif/otomatis dalam lingkungan gelap (I3aab9)
- Saat memangkas diperlukan untuk ImageCapture, gambar output yang dipangkas akan dikompresi dengan tingkat kualitas JPEG yang ditentukan sesuai dengan mode pengambilan yang disetel. Jika mode pengambilannya
CAPTURE_MODE_MINIMIZE_LATENCY, kualitas kompresi JPEG akan menjadi 95. Jika mode pengambilannyaCAPTURE_MODE_MAXIMIZE_QUALITY, kualitas kompresi JPEG akan menjadi 100. (Ieb37c, b/142856426)
Versi 1.1.0-alpha08
18 Agustus 2021
androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08, dan androidx.camera:camera-lifecycle:1.1.0-alpha08 dirilis. Versi 1.1.0-alpha08 berisi commit ini.
Fitur Baru
- Menambahkan API setOutputImageFormat untuk konfigurasi analisis gambar. Pengguna dapat memilih ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 atau ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. Secara default, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 akan dipilih. (I7902d)
Perubahan API
- Anotasi ExperimentalUseCaseGroupLifecycle dihapus karena sekarang API tidak lagi bersifat eksperimental. (I17b85)
Perbaikan Bug
- Layar Pratinjau Tetap terlalu terang di Huawei P20 Lite. Masalah ini hanya terjadi ketika resolusi Pratinjau khusus tertentu digunakan bersamaan dengan nilai perbesaran yang besar. (Idefce, b/192129158)
- Memperbaiki masalah flash yang tidak berfungsi di beberapa perangkat saat menyetel mode flash ke FLASH_MODE_ON yang segera diikuti dengan pengambilan foto. (Ieb49b)
- Memperbaiki masalah Pratinjau yang berhenti sementara saat mengambil gambar jika VideoCapture, ImageCapture, dan Pratinjau terikat. (I56197, b/193864120)
- Mengizinkan ImageAnalysis untuk memilih resolusi yang lebih besar dari 1080p. Perangkat di atas level LIMITED dapat mendukung resolusi ukuran RECORD untuk ImageAnalysis saat diikat bersama Pratinjau dan ImageCapture. Konsekuensinya adalah resolusi yang dipilih untuk ImageCapture juga harus merupakan resolusi ukuran RECORD. Agar berhasil memilih resolusi ukuran RECORD untuk ImageAnalysis, resolusi target ukuran RECORD harus ditetapkan pada ImageCapture dan ImageAnalysis. Hal ini menunjukkan bahwa aplikasi memahami dengan jelas konsekuensinya dan lebih memilih ImageAnalysis untuk memiliki resolusi yang lebih besar daripada resolusi ImageCapture agar memiliki resolusi MAXIMUM. Untuk definisi RECORD, ukuran MAXIMUM, dan detail lainnya, lihat https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture. Ukuran RECORD mengacu pada resolusi perekaman maksimum yang didukung perangkat kamera, sebagaimana ditentukan oleh CamcorderProfile. Ukuran MAXIMUM mengacu pada resolusi output maksimum perangkat kamera untuk format atau target tersebut dari StreamConfigurationMap.getOutputSizes(int). (I1ee97, b/192911449)
- Menambahkan info Exif ke gambar yang diambil. (I01ff0, b/193342619)
- Menampilkan URI gambar yang disimpan di ImageCapture jika lokasi penyimpanannya adalah File. (Ib5b49, b/149241379)
- Memperbaiki masalah pengambilan gambar dengan flash yang gelap di banyak perangkat. (I4e510)
Versi 1.1.0-alpha07
21 Juli 2021
androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07, dan androidx.camera:camera-lifecycle:1.1.0-alpha07 dirilis. Versi 1.1.0-alpha07 berisi commit berikut ini.
Perbaikan Bug
- Memperbaiki masalah kamera Samsung Galaxy Note 5 yang terhenti setelah mengambil gambar dengan flash aktif/otomatis dalam lingkungan gelap (If6871)
- Memperbaiki masalah EOFException
YuvToJpegProcessorsaat mode ekstensi diaktifkan dan modeImageCapture#CAPTURE_MODE_MAX_QUALITYdisetel. (I538bd, b/192017012)
Versi 1.1.0-alpha06
30 Juni 2021
androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06, dan androidx.camera:camera-lifecycle:1.1.0-alpha06 dirilis. Versi 1.1.0-alpha06 berisi commit berikut ini.
Perubahan API
- Mempromosikan exposure compensation API eksperimental untuk camera-core (I08ee8)
- Menambahkan API isFocusMeteringSupported di CameraInfo yang memungkinkan aplikasi memeriksa apakah FocusMeteringAction tertentu didukung di kamera ini atau tidak. (Ib45ae, b/188606490)
- Mengekspos getResolutionInfo API guna memberikan informasi resolusi untuk Pratinjau, ImageCapture, dan ImageAnalysis. (I2b613, b/188600718)
- Mempromosikan API eksperimental berikut ke API resmi: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- Mengekspos antarmuka CameraProvider untuk memberikan akses ke sekumpulan kamera. (I1a7b1)
- Mempromosikan UseCaseGroup API eksperimental untuk camera-core, camera-lifecycle, dan camera-video. Menambahkan
ViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirection, danViewPort.Builder#setScaleTypeuntuk menyesuaikan area pandang. (I7cee8)
Versi 1.1.0-alpha05
2 Juni 2021
androidx.camera:camera-camera2:1.1.0-alpha05, androidx.camera:camera-core:1.1.0-alpha05, dan androidx.camera:camera-lifecycle:1.1.0-alpha05 dirilis. Versi 1.1.0-alpha05 berisi commit ini.
Perubahan API
- Menghapus class
Camera2CameraFilter. Menyarankan untuk memilih kamera dengan CameraFilter dan mengambil informasi terkait CameraCharacteristics atau Camera2 lainnya melalui Camera2CameraInfo jika perlu. (Ib887c) ExperimentalCameraFilterAPI kini sudah tidak berada dalam tahap eksperimental dan menjadi API formal. API ini dapat digunakan tanpa OptIn yang dianotasi. (I4bc94)- Menambahkan API status kamera yang ditampilkan melalui
CameraInfo#getCameraState(). (Ia86b4) - Menambahkan API eksperimental
CameraInfo#getCameraSelector()yang menampilkan CameraSelector unik kepada kameranya (I77f9f)
Perbaikan Bug
- Memperbaiki masalah yang ditampilkan oleh ListenableFuture di setZoomRasio dan setLinearZoom yang tidak dapat diselesaikan di perangkat Android 11 tertentu (I716d7)
- Mempercepat peralihan Kamera dan mengurangi frekuensi error perangkat kamera (I34c99)
- Mengganti ExperimentalUseCaseGroupLifecycle dengan ExperimentalUseCaseGroup. (I3b2ef, b/159033688)
Versi 1.1.0-alpha04
21 April 2021
androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04, dan androidx.camera:camera-lifecycle:1.1.0-alpha04 dirilis. Versi 1.1.0-alpha04 berisi commit berikut ini.
Perbaikan Bug
- Memperbaiki kebocoran memori yang disebabkan oleh beberapa thread yang secara serentak mengakses koleksi yang sama. Kebocoran memori dapat menyebabkan Aktivitas atau Fragmen dipertahankan oleh instance Pratinjau. (I7b4b8)
- Mengganti anotasi
@Experimentaldengan@RequiresOptInke API eksperimental. Untuk memanggil API eksperimental, gunakanandroidx.annotation.OptIn, bukanandroidx.annotation.experimental.UseExperimentalyang sudah tidak digunakan lagi. (Iff226) - Memperbaiki ImageCapture dengan flash Aktif/Otomatis yang mengambil foto pudar di Samsung Galaxy S7. (I30001)
- Menambahkan CameraState API yang akan diekspos melalui CameraInfo. (I75392)
Versi 1.1.0-alpha03
24 Maret 2021
androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03, dan androidx.camera:camera-lifecycle:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit ini.
Perbaikan Bug
- Output format JPEG untuk
ImageCapture#OnImageCapturedCallbacksaat mode Ekstensi diaktifkan. (I0d7b1) - Memperbaiki kegagalan inisialisasi di perangkat UMIDIGI BISON (I57d9e, b/180818665)
- Memperbaiki pratinjau Samsung A3 yang direntangkan di PratinjauView. (Iacb30, b/180121821)
Versi 1.1.0-alpha02
24 Februari 2021
androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02, dan androidx.camera:camera-lifecycle:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit ini.
Perubahan API
- Menambahkan API
ProcessCameraProvider.getAvailableCameraInfos()untuk langsung mengambil informasi tentang kamera yang tersedia, yang merupakan semua kamera perangkat, atau yang dipilih olehCameraSelectoryang tersedia diCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector). (Ieac08)
Perbaikan Bug
- CameraX kini mencoba untuk membuka paksa kamera pada upaya awal, hal ini dapat mengakibatkan CameraX mencuri kamera dari klien kamera lain saat aplikasinya memiliki prioritas yang lebih tinggi. (Iab069, b/175820568)
- Memperbaiki kegagalan pengujian Robolectric saat setAvailableCamerasLimiter digunakan di CameraXConfig. (Ice307)
- Perubahan ini menangkap pengecualian saat antrean gambar dimaksimalkan di ImageAnalysis. Jadi, Anda mungkin melihat kasus penggunaan lainnya terhenti atau lambat, bukan error. Mis. pratinjau terhenti/lambat. (Ic12da, b/175851631)
- Memperbaiki ExtensionsErrorListener untuk melaporkan error ketika hanya Pratinjau atau ImageCapture yang terikat. (I5ae39)
- Memperbaiki regresi performa ImageCapture dengan menghapus validasi lokasi penyimpanan gambar sebelum mengambil gambar. Setelah membuat perubahan ini, jika tujuan penyimpanan tidak valid, perlu waktu lebih lama untuk mendapatkan respons kegagalan karena perubahan ini akan mencoba menyimpan gambar setelah foto diambil. (I1fd4e, b/177061560)
- Memperbaiki regresi performa ImageCapture dengan jenis "File" OutputFileOptions. (I5164a, b/177061560)
- Dokumentasi diperbarui untuk merekomendasikan agar tidak menggunakan
ProcessCameraProvider.configureInstance(...)dari kode library. (Ib8a9f)
Versi 1.1.0-alpha01
27 Januari 2021
androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01, dan androidx.camera:camera-lifecycle:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Perbaikan Bug
- Solusi disertakan untuk data gambar rusak berselang-seling dalam format JPEG pada kamera belakang SM-G930T. (I52001, b/159831206)
- Memperbaiki masalah
IllegalArgumentExceptionyang terjadi jika semua ukuran yang didukung pratinjau lebih kecil dari 640x480 dan ukuran layar lebih besar dari 640x480. (I2a63c, b/150506192) - Resource di library tanpa resource publik yang dideklarasikan secara eksplisit (misalnya melalui public.xml) sekarang bersifat pribadi secara default. (Ia1dcc, b/170882230)
Camera-Camera2, Camera-Core, & Camera-Lifecycle Versi 1.0.2
Versi 1.0.2
29 September 2021
androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2, dan androidx.camera:camera-lifecycle:1.0.2 dirilis. Versi 1.0.2 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah saat foto yang diambil menjadi blur
dalam mode
MAXIMIZE_QUALITY. (I173a9, b/193823892) - Memperbaiki masalah pengambilan gambar dengan flash menjadi gelap di banyak perangkat. (I4e510)
Camera-Camera2, Camera-Core, & Camera-Lifecycle Versi 1.0.1
Versi 1.0.1
21 Juli 2021
androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1, dan androidx.camera:camera-lifecycle:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.
Perbaikan Bug
Memperbaiki masalah yang ditampilkan
ListenableFuturedisetZoomRatiodansetLinearZoomtidak dapat diselesaikan di beberapa perangkat Android 11 (I716d7)Memperbaiki masalah kamera terhenti saat menutup status kamera di beberapa perangkat dan menyebabkan pratinjau berwarna hitam. (I34c99)
Camera-Camera2, Camera-Core, & Camera-Lifecycle Versi 1.0.0
Versi 1.0.0
5 Mei 2021
androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0, dan androidx.camera:camera-lifecycle:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.
Fitur utama 1.0.0
- CameraX mendukung Pratinjau, ImageCapture, dan Analisis
- CameraX mengelola siklus proses kamera dalam API yang mudah digunakan
- CameraX bertujuan menyediakan lapisan kompatibilitas yang memperbaiki banyak masalah dalam Ekosistem Kamera Android
Masalah Umum
- Lihat daftar Masalah Umum
Versi 1.0.0-rc05
21 April 2021
androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05, dan androidx.camera:camera-lifecycle:1.0.0-rc05 dirilis. Versi 1.0.0-rc05 berisi commit ini.
Perbaikan Bug
- Memperbaiki ImageCapture dengan flash Aktif/Otomatis yang mengambil foto pudar di Samsung Galaxy S7. (I30001)
Versi 1.0.0-rc04
24 Maret 2021
androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04, dan androidx.camera:camera-lifecycle:1.0.0-rc04 dirilis. Versi 1.0.0-rc04 berisi commit ini.
Perbaikan Bug
- Memperbaiki kegagalan inisialisasi di perangkat UMIDIGI BISON (I57d9e, b/180818665)
Versi 1.0.0-rc03
24 Februari 2021
androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03, dan androidx.camera:camera-lifecycle:1.0.0-rc03 dirilis. Versi 1.0.0-rc03 berisi commit ini.
Perbaikan Bug
- Memperbaiki error format dalam dokumen
ProcessCameraProvider#getInstance - Memperbaiki kegagalan pengujian Robolectric saat setAvailableCamerasLimiter digunakan di CameraXConfig.
- Memperbaiki regresi performa ImageCapture dengan menghapus validasi lokasi penyimpanan gambar sebelum mengambil gambar. Setelah membuat perubahan ini, jika tujuan penyimpanan tidak valid, perlu waktu lebih lama untuk mendapatkan respons kegagalan karena perubahan ini akan mencoba menyimpan gambar setelah foto diambil.
- Perubahan ini menangkap pengecualian saat antrean gambar dimaksimalkan di ImageAnalysis. Jadi, Anda mungkin melihat kasus penggunaan lainnya terhenti atau lambat, bukan error. Mis. pratinjau terhenti/lambat.
- Solusi disertakan untuk data gambar rusak berselang-seling dalam format JPEG pada kamera belakang SM-G930T. (I52001, b/159831206)
- Perubahan ini menangkap pengecualian saat antrean gambar dimaksimalkan di ImageAnalysis. Jadi, Anda mungkin melihat kasus penggunaan lainnya terhenti atau lambat, bukan error. Mis. pratinjau terhenti/lambat. (Ic12da, b/175851631)
- Memperbaiki kegagalan pengujian Robolectric saat setAvailableCamerasLimiter digunakan di CameraXConfig. (Ice307)
- Memperbaiki regresi performa ImageCapture dengan menghapus validasi lokasi penyimpanan gambar sebelum mengambil gambar. Setelah membuat perubahan ini, jika tujuan penyimpanan tidak valid, perlu waktu lebih lama untuk mendapatkan respons kegagalan karena perubahan ini akan mencoba menyimpan gambar setelah foto diambil. (I1fd4e, b/177061560)
- Memperbaiki regresi performa ImageCapture dengan jenis "File" OutputFileOptions. (I5164a, b/177061560)
Versi 1.0.0-rc02
27 Januari 2021
androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02, dan androidx.camera:camera-lifecycle:1.0.0-rc02 dirilis. Versi 1.0.0-rc02 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah IllegalArgumentException yang terjadi jika semua ukuran yang didukung pratinjau lebih kecil dari 640x480 dan ukuran layar lebih besar dari 640x480. (b/150506192)
Membatasi jumlah upaya pembukaan ulang kamera. Ketika mencoba memulihkan beberapa masalah saat membuka kamera, CameraX tidak akan lagi mencoba membuka ulang kamera tanpa batas waktu, tetapi akan berhenti setelah mencoba lagi selama 10 detik.I435d2
Memperbaiki masalah
IllegalArgumentExceptionyang terjadi jika semua ukuran yang didukung pratinjau lebih kecil dari 640x480 dan ukuran layar lebih besar dari 640x480. (I2a63c, b/150506192)
Versi 1.0.0-rc01
16 Desember 2020
androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01, dan androidx.camera:camera-lifecycle:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit ini.
Perubahan API
- Mengubah CameraFilter dan Camera2Filter yang akan diambil di CameraInfo. (I6883d)
- Menambahkan class eksperimental Camera2CameraControl untuk memungkinkan antaroperasi dengan API Camera2 secara dinamis. (I45cf3)
- Mengganti nama Camera2CameraInfo#fromCameraInfo menjadi #from. (Ia2bd6)
- Menambahkan API setAvailableCamerasLimiter eksperimental ke CameraXConfig agar aplikasi dapat mengoptimalkan latensi inisialisasi dengan menghindari inisialisasi kamera yang tidak digunakan. (I6cf88)
- Menambahkan metode eksperimental
CameraXConfig.Builder#setMinimumLoggingLevel()agar penyetelan tingkat logging minimum untuk log CameraX dapat dilakukan. Jika tidak disetel, setelan defaultnya adalahLog#DEBUG. (Ic3245)
Perbaikan Bug
- Solusi disertakan untuk data gambar rusak berselang-seling dalam format JPEG pada kamera belakang SM-G930V. (I5aca5, b/159831206)
- Memperbaiki masalah pengambilan gambar yang tidak menerima hasil saat flash selalu aktif dan lingkungan dalam kondisi gelap pada perangkat Samsung SM-A716. (If98b2, b/172036589)
- Memperbaiki masalah Pratinjau yang tidak dapat dihentikan dengan memanggil
Preview.setSurfaceProvider(null). (I3ac18) - Memperbaiki masalah orientasi saat mengambil gambar 4:3 di beberapa perangkat. (I0e3fb, b/171492111)
Camera Camera2, Core, & Lifecycle Versi 1.0.0-beta12
11 November 2020
androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12, dan androidx.camera:camera-lifecycle:1.0.0-beta12 dirilis. Versi 1.0.0-beta12 berisi commit ini.
Perbaikan Bug
- Menonaktifkan flash otomatis di perangkat Samsung A3 untuk memperbaiki error saat mengambil foto dengan mode flash otomatis AE di perangkat Samsung A3. (Ia5fe3, b/157535165)
- Memperbaiki masalah saat pratinjau diperluas di perangkat Nexus 4 yang menjalankan Android L (API level 21 dan 22). (I4d407, b/158749159)
- Implementasi class
dasar
OnImageCapturedCallback#onCaptureSuccesstidak lagi menutup gambar. Hal ini untuk mencegah perilaku yang tidak terduga bagi developer. Developer tidak boleh mengandalkan super.onCaptureSuccess untuk menutup gambar. (Ifbf9c) - Varian androidx dari anotasi Eksperimental tidak digunakan lagi untuk memberikan kesamaan dengan Kotlin. Anotasi tersebut telah diganti dengan anotasi RequiresOptIn, dan linter yang berinteraksi dengan Java telah diupdate untuk mendukung anotasi Kotlin baru dan varian androidx yang baru. (I52495, b/151331381)
Camera-Camera2 Versi 1.0.0-beta11
14 Oktober 2020
androidx.camera:camera-camera2:1.0.0-beta11 dirilis. Versi 1.0.0-beta11 berisi commit ini.
Fitur Baru
- Mendukung API
CONTROL_ZOOM_RATIOandroid 11 untuk zoom di perangkat android 11 atau versi yang lebih baru yang berisiCONTROL_ZOOM_RATIO_RANGEyang valid. (I62cc6)
Perbaikan Bug
- Memperbaiki masalah NumberFormatException yang terjadi ketika ID kamera bukanlah ID kamera non-integer. (Ib2228)
- Meningkatkan latensi inisialisasi CameraX dan bindToLifecycle (I61dc5)
- Pembuatan UseCases tidak memerlukan penyelesaian
inisialisasi CameraX. Semua konfigurasi khusus implementasi ditetapkan di
UseCase setelah dilampirkan ke instance Camera yang digunakan API publik
untuk
ProcessCameraProvider.bindToLifecycle(). (Ia5411) <UseCase>.getTargetRotation()akan menampilkanSurface.ROTATION_0jika dipanggil sebelum ditambahkan ke instance Camera kecuali jika targetRotation telah ditetapkan pada Builder atau UseCase. (I80fcd)
Camera-Core Versi 1.0.0-beta11
14 Oktober 2020
androidx.camera:camera-core:1.0.0-beta11 dirilis. Versi 1.0.0-beta11 berisi commit ini.
Fitur Baru
- Mendukung API CONTROL_ZOOM_RATIO android 11 untuk zoom di
perangkat android 11 atau versi yang lebih baru yang berisi CONTROL_ZOOM_RATIO_RANGE
yang valid. (I62cc6)
Perbaikan Bug
- Memperbaiki masalah NumberFormatException yang terjadi ketika ID kamera bukanlah ID kamera non-integer. (Ib2228)
- Pembuatan UseCases tidak memerlukan penyelesaian
inisialisasi CameraX. Semua konfigurasi khusus implementasi ditetapkan di
UseCase setelah dilampirkan ke instance Camera yang digunakan API publik
untuk
ProcessCameraProvider.bindToLifecycle(). (Ia5411) <UseCase>.getTargetRotation()akan menampilkanSurface.ROTATION_0jika dipanggil sebelum ditambahkan ke instance Camera kecuali jika targetRotation telah ditetapkan pada Builder atau UseCase. (I80fcd)
Camera-Core Versi 1.0.0-beta10
23 September 2020
androidx.camera:camera-core:1.0.0-beta10 dirilis. Versi 1.0.0-beta10 berisi commit ini.
Perbaikan Bug
- Memperbaiki bug dalam memvalidasi tujuan penyimpanan file untuk pengambilan gambar (I8c565, b/167697553)
Camera-Camera2 Versi 1.0.0-beta10
23 September 2020
androidx.camera:camera-camera2:1.0.0-beta10 dirilis. Versi 1.0.0-beta10 berisi commit ini.
Perbaikan Bug
- Rilis untuk mendukung Camera-Core 1.0.0-beta10
Camera-Camera2 Versi 1.0.0-beta09
16 September 2020
androidx.camera:camera-camera2:1.0.0-beta09 dirilis. Versi 1.0.0-beta09 berisi commit ini.
Perubahan API
- Camera2CameraInfo mengambil instance CameraInfo saat dibuat untuk mengambil informasi terkait Camera2, bukan memberikan metode statis. (I5b844)
Perbaikan Bug
- Memperbaiki masalah rasio lebar tinggi target di perangkat tablet. Ukuran 16:9 harus dipilih jika rasio aspek target disetel sebagai
AspectRatio.RATIO_16_9. (Ib7fcf, b/151969438) - Menampilkan
InitializationExceptionuntuk membuat aplikasi dapat menangani AssertionError dengan baik, yang terjadi saat membuat CameraCharacteristics. (I89c8c, b/160524721) - Menambahkan antarmuka eksperimental untuk ExposureCompensation (If96c7)
Camera-Core Versi 1.0.0-beta09
16 September 2020
androidx.camera:camera-core:1.0.0-beta09 dirilis. Versi 1.0.0-beta09 berisi commit ini.
Perubahan API
- Memperbaiki bug saat area pandang ditandai sebagai non-null pada UseCaseGroup. Developer harus dapat membuat area pandang tanpa menyetel area pandang. (Ie3d2e)
- Menambahkan antarmuka eksperimental untuk
ExposureCompensation(If96c7) - Mengizinkan rotasi target arbitrer untuk Pratinjau. Info transformasi dihitung dan ditampilkan kepada pengguna dengan cepat melalui callback
TranformationInfoListeneryang baru. (I21470)
Perbaikan Bug
- Memperbaiki masalah saat flash pada beberapa perangkat tidak dapat dimatikan. Hal ini terjadi jika mode flash disetel ke
FLASH_MODE_ONuntuk mengambil gambar, dan diubah menjadiFLASH_MODE_OFFsaat flash diaktifkan. Gejalanya seperti saat mode senter diaktifkan. (Ib4451, b/162568128) - Memaksa PreviewView menggunakan TextureView jika efek ekstensi diaktifkan dan implementasi library vendor perlu melakukan proses khusus pada permukaan output. (I0c3cc)
- Memperbaiki kebocoran aktivitas/fragmen saat konteks aktivitas/fragmen diteruskan ke
ProcessCameraProvider.getInstance(Context).
Masalah Umum
- Jika Area Pandang disetel, pemangkasan rect ImageCapture mungkin salah di perangkat yang memutar buffering gambar di HAL. Masalah ini akan diperbaiki dalam rilis berikutnya.
Camera-Camera2 Versi 1.0.0-beta08
19 Agustus 2020
androidx.camera:camera-camera2:1.0.0-beta08 dirilis. Versi 1.0.0-beta08 berisi commit berikut ini.
Perbaikan Bug
- Mengoptimalkan bindToLifecycle untuk berjalan secara cepat pada thread utama. (I1d57e)
- DisplayOrientedMeteringPointFactory mengambil instance CameraInfo, bukan CameraSelector, sehingga ada pemetaan langsung titik yang akan dihasilkan oleh setelan pabrik pada Kamera. Semua class yang menggunakan DisplayOrientedMeteringPointFactory juga mengambil instance CameraInfo, bukan CameraSelector. (I400c1)
- Memperbaiki masalah pengelompokan ukuran rasio lebar tinggi resolusi otomatis, ukuran mod16 16:9 (864x480) dipilih jika setelan resolusi target adalah 2016x1080 dan terdapat ukuran 16:9 lainnya, 1920x1080, yang didukung. (I53167, b/159363774)
- Memperbaiki masalah CameraControl yang tidak dapat berfungsi berdasarkan kondisi race (I2279f, b/152333890, b/160714166)
Camera-Core Versi 1.0.0-beta08
19 Agustus 2020
androidx.camera:camera-core:1.0.0-beta08 dirilis. Versi 1.0.0-beta08 berisi commit ini.
Perubahan API
DisplayOrientedMeteringPointFactorymenggunakan instanceCameraInfo, bukanCameraSelector, sehingga ada pemetaan langsung titik yang akan dihasilkan oleh setelan pabrik pada Kamera. Semua class yang menggunakanDisplayOrientedMeteringPointFactoryjuga menggunakan instanceCameraInfo, bukanCameraSelector. (I400c1)
Perbaikan Bug
- Untuk pengambilan gambar, timpa tanda horizontal balik dalam metadata berdasarkan arah kamera. (I28499)
- Inisialisasi tidak akan error lagi saat menggunakan Konteks
yang tidak mengembalikan objek Aplikasi dari
Context.getApplicationContext(). (I3d3c9, b/160817073)
Camera-Camera2 Versi 1.0.0-beta07
22 Juli 2020
androidx.camera:camera-camera2:1.0.0-beta07 dirilis. Versi 1.0.0-beta07 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah pratinjau yang diterapkan di perangkat Android 5.0 yang lama. (I0c03a)
- Mengecualikan beberapa ukuran yang didukung JPEG yang akan menyebabkan masalah WYSIWYG di beberapa perangkat. (Ib5128)
Camera-Core Versi 1.0.0-beta07
22 Juli 2020
androidx.camera:camera-core:1.0.0-beta07 dirilis. Versi 1.0.0-beta07 berisi commit ini.
Perubahan API
- Gabungkan gaya
FIT_CENTER,FIT_START, danFIT_ENDdenganFIT.FITberarti bahwa kotak pemangkasan yang dikembalikan akan menjadi kotak sensor maksimum yang memungkinkan. (Ia73c3) - Pemangkasan tampilan pratinjau dikonfigurasikan berdasarkan area pandang. Hanya area yang dicakup oleh kotak pemangkasan yang dapat dilihat oleh pengguna akhir. (I142a4)
Perbaikan Bug
- Memperbaiki masalah pratinjau yang diterapkan di perangkat Android 5.0 yang lama. (I0c03a)
- Memperbaiki masalah pengecualian
ConcurrentModificationExceptionsaat melakukan unbinding kasus penggunaan. (I371c0)
Camera-Camera2 Versi 1.0.0-beta06
24 Juni 2020
androidx.camera:camera-camera2:1.0.0-beta06 dirilis. Versi 1.0.0-beta06 berisi commit ini.
Perubahan API
- Penambahan antarmuka eksperimental untuk memfilter kamera berdasarkan ID kamera dan CameraCharacteristics. (I28f61)
Perbaikan Bug
- Memperbaiki masalah di mana startFocusAndMetering gagal fokus pada Samsung Galaxy S7. (If3be7, b/159039233)
- Memperbaiki kamera yang tidak dapat ditutup setelah keluar dari aplikasi. (I7a7b3)
- Memperbaiki pergantian pengalihan kamera berulang saat menggunakan implementasi SurfaceView PreviewView(I920ce)
CameraControl#startFocusAndMeteringakan gagal jika tidak ada MeteringPoint yang ditetapkan yang dapat menghasilkan persegi panjang pengukuran yang valid. (Id53ce)
Camera-Core Versi 1.0.0-beta06
24 Juni 2020
androidx.camera:camera-core:1.0.0-beta06 dirilis. Versi 1.0.0-beta06 berisi commit ini.
Perubahan API
- Penambahan antarmuka eksperimental untuk memfilter kamera berdasarkan ID kamera dan CameraCharacteristics. (I28f61)
Perbaikan Bug
- CameraX kini dapat dikonfigurasi dengan
ProcessCameraProvider#configureInstance()sebelum memanggilProcessCameraProvider#getInstance(). Hal ini memungkinkan penyesuaianCameraXConfigtanpa memerlukan penerapanCameraXConfig.Providerdi class Application aplikasi. (Ia1a8d) CameraControl#startFocusAndMeteringakan gagal jika tidak ada MeteringPoint yang ditetapkan yang dapat menghasilkan persegi panjang pengukuran yang valid. (Id53ce)
Camera-Camera2 Versi 1.0.0-beta05
10 Juni 2020
androidx.camera:camera-camera2:1.0.0-beta05 dirilis. Versi 1.0.0-beta05 berisi commit berikut ini.
Perbaikan Bug
- Memperbaiki error ketika aplikasi dimulai saat menginisialisasi CameraX sementara ponsel dalam mode Jangan Ganggu.
InitializationExceptionberisiCameraUnavailableExceptionyang akan ditetapkan keListenableFuturedari hasil inisialisasi, bukan membuat aplikasi error. (I9909a, b/149413835) - Memperbaiki error saat memanggil
startFocusAndMeteringdi perangkat yangCONTROL_AF_STATEbernilai null. (Ife55e, b/157084254)
Camera-Core Versi 1.0.0-beta05
10 Juni 2020
androidx.camera:camera-core:1.0.0-beta05 dirilis. Versi 1.0.0-beta05 berisi commit ini.
Perubahan API
- Memperbaiki error ketika aplikasi dimulai saat menginisialisasi CameraX sementara ponsel dalam mode Jangan Ganggu.
InitializationExceptionyang berisiCameraUnavailableExceptionakan ditetapkan keListenableFuturepada hasil inisialisasi, bukan membuat aplikasi error. (I9909a, b/149413835)
Perbaikan Bug
- Mengupdate javadocs
setTargetResolutiondansetTargetRotation. (Iae16f)
Camera-Camera2 Versi 1.0.0-beta04
27 Mei 2020
androidx.camera:camera-camera2:1.0.0-beta04 dirilis. Versi 1.0.0-beta04 berisi commit ini.
Perbaikan Bug
- Mengizinkan aplikasi menetapkan parameter permintaan pengambilan camera2 apa pun melalui
Camera2Interoptanpa mengakibatkan error. Harap perhatikan bahwa jika ada masalah yang muncul, itu terjadi karena penggantian parameter. Stabilitas dan perilaku tidak dijamin saat mengganti parameter menggunakan Camera2Interop. (Ibe5a1, b/149103700) - Inisialisasi otomatis telah diperbaiki saat menggunakan aplikasi di perangkat yang menggunakan pseudo-lokal. (I3bef3, b/154767663)
- Mengonversi log error terkait kasus penggunaan yang dilepas ke log debug di Camera2CameraImpl. (I1a565, b/154422490)
- Memperbaiki masalah di mana gambar yang diambil terlalu gelap meskipun lampu flash dinyalakan. (I5d9fa, b/149729613)
- Memperbaiki bug di mana buffer di
ImageProxydariImageCapturetidak diputar ulang (I0c455, b/153249512) - Memperbaiki masalah saat mengikat ImageCapture saja: (1) Gagal mengambil foto dengan MAX_QUALITY; (2) Menghasilkan kualitas gambar buruk karena eksposur otomatis tidak berfungsi. (I17782, b/145326998)
- Meningkatkan keandalan dalam membuka kembali kamera saat CameraX terputus oleh proses lain atau codepath yang mencuri kamera (I1fbc3, b/153714651)
Camera-Core Versi 1.0.0-beta04
27 Mei 2020
androidx.camera:camera-core:1.0.0-beta04 dirilis. Versi 1.0.0-beta04 berisi commit berikut ini.
Perubahan API
- Menambahkan API eksperimental,
CameraXConfig.Builder#setSchedulerHandler()untuk menyetel pengendali yang digunakan secara internal oleh stack kamera CameraX. API baru ini besertaCameraXConfig.Builder#setCameraExecutor()harus mengizinkan kontrol penuh atas thread yang digunakan oleh stack kamera CameraX. (I7bf32, b/121160431)
Perbaikan Bug
- Memperbaiki error di
ImageAnalysisketikaImageProxydiakses setelahImageReaderProxyditutup. Ini juga membuat semuaImageProxyyang diterima olehAnalyzerharus ditutup sebelumImageReaderProxyditutup. (I4b299, b/145956416, b/154155377, b/156357269) - Menghapus parameter
CameraInfodariPreviewView#createSurfaceProvider(),PreviewViewsekarang mengambilnya secara internal dariSurfaceRequest. (If18f0, b/154652477) - Inisialisasi otomatis telah diperbaiki saat menggunakan aplikasi di perangkat yang menggunakan pseudo-lokal. (I3bef3, b/154767663)
- Memperbaiki masalah di mana gambar yang diambil terlalu gelap meskipun lampu flash dinyalakan. (I5d9fa, b/149729613)
- Memperbaiki masalah terkait
ImageAnalysisdi mana beberapa panggilan ke setAnalyzer/clearAnalyzer mengakibatkan penganalisis tidak menerima gambar yang akan dianalisis. (I6169f, b/151605317, b/153514544) - Memperbaiki bug di mana buffer di
ImageProxydariImageCapturetidak diputar ulang (I0c455, b/153249512) - Memperbaiki masalah yang membuat kamera pertama dalam daftar yang didukung dari
CameraManagertidak selalu dipilih untuk digunakan. (I4c624, b/153418028) - Memperbaiki error sesekali yang disebabkan oleh setelan
Preview.SurfaceProvideryang tidak memunculkan permukaan yang diminta sebelumnya.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”(I8e4e7, b/155936225)
Camera-Camera2 Versi 1.0.0-beta03
15 April 2020
androidx.camera:camera-camera2:1.0.0-beta03 dirilis. Versi 1.0.0-beta03 berisi commit ini.
Perbaikan Bug
- Perbaikan untuk mendukung rilis
camera-core
Camera-Core Versi 1.0.0-beta03
15 April 2020
androidx.camera:camera-core:1.0.0-beta03 dirilis. Versi 1.0.0-beta03 berisi commit ini.
Perbaikan Bug
- Memperbaiki regresi dari beta03 yang memanggil
bindToLifecycle()dengan nolUseCaseakan menyebabkan ditampilkannya pengecualian. Hal ini mencegah pengambilanCameratanpa mengikatUseCase.
Camera-Camera2 Versi 1.0.0-beta02
1 April 2020
androidx.camera:camera-camera2:1.0.0-beta02 dirilis. Versi 1.0.0-beta02 berisi commit ini.
Perbaikan Bug
- Memperbaiki
ImageInfo.getRotationDegrees()dariImageProxyyang dihasilkan olehImageCapturesehingga cocok dengan nilai rotasi orientasi EXIF. (Id4281, b/150802561) - Pengurutan eksplisit dependensi CameraX dalam
build.gradletidak lagi diperlukan untuk menggunakan implementasi CameraX/Camera2 default. Untuk kasus di mana deklarasi dependensi yang ketat diperlukan, semua dependensi CameraX sekarang dapat disertakan dalam file build. (I46e88) - Memperbaiki masalah
IllegalArgumentExceptionyang terjadi pada perangkat yang ukuran layarnya lebih kecil dari 640x480. (Ife3f2, b/150506192) - Memperbaiki
bindToLifecyclesehingga hanya akan memodifikasi UseCase jika berhasil diikat. Sebelumnya, saat memanggilbindToLifecycleuntuk melakukan penghitungan resolusi, UseCase akan diperbarui. Sekarang tidak perlu lagi memperbarui UseCase untuk melakukan penghitungan (I78d9e)
Camera-Core Versi 1.0.0-beta02
1 April 2020
androidx.camera:camera-core:1.0.0-beta02 dirilis. Versi 1.0.0-beta02 berisi commit ini.
Perbaikan Bug
- Memperbaiki
ImageInfo.getRotationDegrees()dariImageProxyyang dihasilkan olehImageCapturesehingga cocok dengan nilai rotasi orientasi EXIF. (Id4281, b/150802561) - Memperbaiki
bindToLifecyclesehingga hanya akan memodifikasi UseCase jika berhasil diikat. Sebelumnya, saat memanggilbindToLifecycleuntuk melakukan penghitungan resolusi, UseCase akan diperbarui. Sekarang tidak perlu lagi memperbarui UseCase untuk melakukan penghitungan (I78d9e) - Memperbaiki masalah di mana sesi pengambilan kasus penggunaan
Previewtidak diperbarui saat permukaan pratinjau berubah setelah memanggilPreview.setSurfaceProvider()lebih dari satu kali.
Camera-Camera2 Versi 1.0.0-beta01
26 Februari 2020
androidx.camera:camera-camera2:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.
Perbaikan Bug
- Mengganti nama
SurfaceRequest.setSurface(Surface)menjadiSurfaceRequest.provideSurface(Surface), danSurfaceRequest.setWillNotComplete()menjadiSurfaceRequest.willNotProvideSurface(). (I224fe) - Memperbaiki masalah dengan rasio lebar tinggi yang tidak benar dari gambar yang disimpan
setelah mengubah nilai rotasi target menggunakan
ImageCapture.setTargetRotation(). (I474ea, b/148763432) - Memperbaiki inisialisasi varian aplikasi dengan ProGuard yang diaktifkan dengan mempertahankan
flag yang menetapkan penyedia
CameraXConfigdefault. (I2d6c1)
Camera-Core Versi 1.0.0-beta01
26 Februari 2020
androidx.camera:camera-core:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.
Perubahan API
- Mengganti
ListenableFuturediSurfaceRequest.provideSurface()denganExecutordanCallback. Hal ini menyederhanakan API dengan tidak lagi memerlukan penanganan pengecualian padaprovideSurface()dan pemberlakuan yang tidak dapat dibatalkan oleh callbackprovideSurface(). Hal ini untuk mencegah error pada perangkat lama yang disebabkan oleh pelepasan permukaan terlalu cepat. ObjekSurfaceRequest.Resultsekarang digunakan untuk melacak bagaimanaSurfaceRequestmenggunakanSurfaceyang disediakan. (I7854b) - Mengganti nama
SurfaceRequest.setSurface(Surface)menjadiSurfaceRequest.provideSurface(Surface), danSurfaceRequest.setWillNotComplete()menjadiSurfaceRequest.willNotProvideSurface(). (I224fe)
Perbaikan Bug
- Memperbaiki masalah dengan rasio lebar tinggi yang tidak benar dari gambar yang disimpan
setelah mengubah nilai rotasi target menggunakan
ImageCapture.setTargetRotation(). (I474ea, b/148763432) - Memperbaiki inisialisasi varian aplikasi dengan ProGuard yang diaktifkan dengan mempertahankan
flag yang menetapkan penyedia
CameraXConfigdefault. (I2d6c1) - Memperbarui dokumentasi untuk API mode flash agar menyertakan nilai yang dimungkinkan. (I4a3ec)
Camera-Camera2 Versi 1.0.0-alpha10
10 Februari 2020
androidx.camera:camera-camera2:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.
Perbaikan Bug
- Meningkatkan stabilitas pada perangkat
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACYdengan memastikanSurfacehanya dipertahankan selama penggunaan Camera2. (I9dac2) - Memperbaiki masalah pratinjau yang tidak terpenuhi pada perangkat LAMA dengan menyesuaikan
CONTROL_AE_TARGET_FPS_RANGEdengan benar. (1224638)
Camera-Core Versi 1.0.0-alpha10
10 Februari 2020
androidx.camera:camera-core:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.
Perubahan API
- Memperbarui
ImageCaptureuntuk memungkinkan penyimpanan gambar keUridanOutputStream. Menggabungkan metodetakePictureyang kelebihan muatan menjadi satu. Mengupdate aplikasi pengujian untuk menggunakanUrisebagai contoh kanonis. (Ia3bec) Preview.PreviewSurfaceProviderdiganti namanya menjadiPreview.SurfaceProvider.SurfaceProvidertidak lagi mengharuskan developer membuatListenableFuture-nya sendiri, dan penyediaanSurfacesekarang dilakukan melalui objekSurfaceRequestyang baru. MetodePreview.getPreviewSurfaceProvider()telah dihapus karena berpotensi untuk disalahgunakan saatPreviewdipasangkan dengan class lain sepertiPreviewView. (I20105)getTargetRotation()dangetTargetName()telah ditambahkan kePreview. (Iceee7)getTargetRotation(),getBackpressureStrategy(), dangetImageQueueDepth()telah ditambahkan dalamImageAnalysis. (I9d6d9)getTargetRotation()dangetCaptureMode()telah ditambahkan dalamImageCapture()(I5bc17)- Argumen yang sebelumnya diteruskan dalam
ImageCapture.OnImageSavedCallback.onError()danImageCapture.OnImageCapturedCallback.onError()sekarang telah diganti dengan satu argumenImageCaptureException, yang masih berisi semua informasi yang sebelumnya diteruskan. - Argumen file yang sebelumnya diteruskan dalam
ImageCapture.OnImageSavedCallback.onImageSaved()telah dihapus. (I750d2) - Class
PreviewdanImageCapturesekarang ditandai sebagai final. (I2500b) - Memperbarui API dengan metode
getZoomRatio(),getMaxZoomRatio(),getMinZoomRatio(), dangetLinearZoom()dariCameraInfoyang digabungkan menjadigetZoomState()yang menampilkan instanceZoomState. (Ib19fe) - Menghapus kolom API
OPTION_TARGET_CLASSdanOPTION_TARGET_NAMEdariCameraXConfigkarena ditujukan untuk penggunaan library internal saja. Menghapus konstruktor untukCameraXConfig.Builder. (I96912) - Menghapus persyaratan yang mengharuskan aplikasi memperluas
Applicationguna menginisialisasi CameraX. CameraX sekarang akan diinisialisasi dengan konfigurasi Camera2 default, asalkan artefakcamera-camera2disertakan dalambuild.gradleaplikasi. (I58ff5) (b/146923574)
Camera-Camera2 Versi 1.0.0-alpha09
22 Januari 2020
androidx.camera:camera-camera2:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit ini.
Perubahan API
Menambahkan jalur interop camera2 untuk mengekstrak ID kamera Camera2. Anda dapat mengekstrak ID kamera dari
CameraInfomenggunakanCamera2CameraInfo.extractCameraId(). Contoh kode berikut menunjukkan cara penggunaannya:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());Class
Camera2CameraInfomemerlukan markerClassExperimentalCamera2Interop.
Camera-Core Versi 1.0.0-alpha09
22 Januari 2020
androidx.camera:camera-core:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit ini.
Perubahan API
- Parameter
SurfaceOrientedMeteringPointFactory,useCaseForSurface, telah diganti namanya menjadiuseCaseForAspectRatiodan dokumentasi referensinya diperluas. - Metode
FocusMeteringAction.Builder.from()digantikan oleh konstruktorFocusMeteringAction.Builder(). - Menghapus
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float). Aplikasi harus menggunakan konstruktor yang mengambil parameterDisplaydan meneruskan tampilan saat ini. - Penyempurnaan Javadoc untuk API pengukuran dan fokus terkait
MeteringModedan 3A Flag, serta penggunaan parameterDisplay. - Memperluas dokumentasi referensi untuk
setZoomRatiodansetLinearZoom.
Perbaikan bug
- Memperbaiki masalah saat menutup lalu membuka kamera mengakibatkan kegagalan pemeriksaan "Precondition".
- Memperbaiki
ConcurrentModificationExceptionyang dapat terjadi saat menggunakan API zoom dan senter. - Memperbaiki masalah sehingga kini resolusi yang dipilih mendekati resolusi yang diminta saat ukuran dimensi mod16 tersedia.
- API
startFocusMeteringdancancelFocusMeteringsekarang berfungsi seperti yang didokumentasikan, dengan waktu yang tepat dan berpotensi menampilkan error saat terjadi. - Memperbaiki masalah saat resolusi target tertentu diminta dengan rasio lebar tinggi pemangkasan di perangkat yang tidak mendukung ukuran tersebut. Sekarang, ukuran yang tidak dipangkas dari resolusi yang memadai untuk mengikat permintaan awal akan dipilih jika tersedia.
Camera-Camera2 Versi 1.0.0-alpha08
18 Desember 2019
androidx.camera:camera-camera2:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.
Masalah Umum
- Tidak semua opsi permintaan pengambilan Camera2 berfungsi saat menggunakan interop Camera2. Jika opsi yang diminta tidak didukung, sesi akan gagal dimulai dan error seperti berikut dapat terjadi:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
Perbaikan Bug
- Memperbaiki masalah layar hitam pratinjau yang terjadi setelah memutar atau mengalihkan kamera ke API Level 21 dan 22.
Perubahan API
- Eksperimental: Menambahkan jalur interop camera2 untuk mengekstrak ID Kamera.
Camera-Core Versi 1.0.0-alpha08
18 Desember 2019
androidx.camera:camera-core:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.
Masalah Umum
- Aplikasi yang menggunakan
PreviewViewatauCameraViewmungkin memiliki pratinjau rasio lebar tinggi yang salah. Hal ini terjadi setelah proses dijeda atau dilanjutkan di beberapa perangkat LENGKAP, seperti Pixel2.
Perbaikan Bug
- Memperbarui dokumentasi untuk
FocusMeteringActiondanCameraControl. - Mengimplementasikan
TorchControluntukenableTorch()dangetTorchState().
Perubahan API
- Menyembunyikan IntDefs dan memindahkan konstanta IntDef ke luar definisi IntDef.
- Memindahkan
rotationDegreesdari classOnImageCaptureCallbackkeImageInfo. - Memindahkan
rotationDegreesdari classAnalyzerkeImageInfo.
Camera-Camera2 Versi 1.0.0-alpha07
4 Desember 2019
androidx.camera:camera-camera2:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 dari camera-camera2 berisi commit ini
Camera2Configkini tersedia untuk digunakan dengan menginisialisasi dan mengonfigurasi implementasi berbasis Camera2 untuk CameraX. Detail selengkapnya tentang cara menggunakannya pada inisialisasi tersedia di bagian camera-core dalam catatan rilis.- Fungsionalitas interop camera2 kini ditandai sebagai eksperimental dan dipindahkan ke paket lain,
androidx.camera.camera2.interop.
Camera-Core Versi 1.0.0-alpha07
4 Desember 2019
androidx.camera:camera-core:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 dari camera-core berisi commit ini
Perlu diketahui bahwa ada beberapa perubahan penting dalam rilis Alfa ini selagi kami bersiap untuk rilis Beta. Sebaiknya tinjau perubahan tersebut dan sampaikan masukan Anda ke grup Google CameraX. Bagi developer yang menggunakan CameraX di aplikasi yang ada di Play Store, sebaiknya tunggu rilis Beta resmi sebelum mengupgrade library dalam aplikasi Anda.
Perubahan API
Penting: Inisialisasi CameraX telah diubah. Aplikasi harus mengimplementasikan
CameraXConfig.Providerdan menggunakanCamera2Configdefault yang disediakan olehandroidx.camera.camera2. Penggunaan umumnya adalah:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }Class CameraX telah dihapus.
bindToLifecycle(),unbind(),unbindAll(),isBound(), danhasCamera()yang sebelumnya disediakan oleh panggilan class CameraX kini tersedia melaluiProcessCameraProvider.Instance
ProcessCameraProviderper proses diperoleh secara asinkron menggunakan metode statisProcessCameraProvider.getInstance(), yang menampilkan hasil yang dapat diproses, serta menyediakanProcessCameraProvidersetelah selesai. Di sini,onCreate()ditampilkan untuk penggunaan umum. Anda dapat memanggilgetInstance()nanti dalam siklus proses aktivitas untuk menunda latensi inisialisasi di lain waktu (misalnya saat tindakan pengguna membuka UI kamera).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); }Pemroses dapat ditambahkan ke
ListenableFutureyang ditampilkan olehgetInstance(). Hal ini memastikan penyedia kamera dapat diambil dariFuturetanpa memblokir diFuture.get()cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))Pemilihan kamera kini dilakukan oleh pemilih kamera, bukan per kasus penggunaan
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()CameraProvider.bindToLifecyclediberi pemilik siklus proses, pemilih kamera, dan kasus penggunaan, yang dikaitkan ke pemilik siklus proses yang dimaksud dan dijalankan untuk kamera yang dipilih.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)Class kasus penggunaan “Config” dihapus. Anda dapat membuat kasus penggunaan secara langsung dengan menetapkan opsi pada setiap builder kasus penggunaan. Contoh:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()Kasus penggunaan Pratinjau telah diperbarui agar menerima permukaan yang dibuat dan dikelola oleh aplikasi untuk memastikan praktik terbaik Android. Sangat direkomendasikan untuk menggunakan class tampilan
PreviewViewyang disediakan dalam paket camera-view.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)Lihat dokumentasi untuk menyematkan permukaan yang dikelola aplikasi. Dalam hal ini, aplikasi mengelola siklus proses permukaan.
Penting: Implementasi metode Analyzer
ImageAnalysisharus memanggilimage.close()pada gambar yang diterima setelah selesai menggunakannya. Jika tidak, gambar baru mungkin tidak diterima atau kamera mungkin berhenti berfungsi, bergantung pada setelan back pressure. Lihat dokumen referensi untuk detailnya.ImageAnalysis ImageReaderModekini diubah menjadi strategi backpressureintdef.ImageProxy.getImage()ditandai sebagai eksperimental. Aplikasi harus menganotasikan penggunaan, misalnya melalui@androidx.camera.core.ExperimentalGetImagePersyaratan anotasi
UIThreaduntukAnalyzertelah dihapus.Fungsi
ImageAnalysis.clearAnalyzer()ditambahkan untuk menghapus penganalisis.Pemroses dengan lebih dari 1 metode telah diganti namanya menjadi Callback:
ImageCapture.OnImageCapturedListenersekarang menjadiImageCapture.OnImageCapturedCallbackImageCapture.OnImageSavedListenersekarang menjadiImageCapture.OnImageSavedCallbackVideoCapture.OnVideoSavedListenersekarang menjadiVideoCapture.OnVideoSavedCallback
Enum telah diubah menjadi IntDef
Kontrol zoom telah ditambahkan:
CameraControl.setLinearZoom()CameraControl.setZoomRatio()CameraInfo.getLinearZoom()CameraInfo.getMaxZoomRatio()CameraInfo.getZoomRatio()
CameraInfo.hasFlashUnit()ditambahkan untuk menentukan apakah perangkat keras flash/senter tersedia.CameraInfo.isFlashAvailable()telah dihapus Senter menggantikan fungsionalitas flash. Detail selengkapnya disertakan dalam dokumentasi referensi.Kolom
ImageCapture.Metadatadigantikan oleh aksesor get/set/is.startFocusMeteringdancancelFocusMeteringkini menampilkanListenableFuturesyang merepresentasikan operasi panggilan asinkron.MeteringPointssekarang berfungsi sebagai tuas untuk tindakan pengukuran, dan dihasilkan oleh setelan pabrik. Aplikasi harus menggunakan setelan pabrik yang ada, bukan setelan pabrik kustom.
Perbaikan masalah
- Memperbaiki masalah pengambilan gambar saat melanjutkan proses (setelah jeda sebelumnya mengambil gambar yang menunggu penyelesaian).
- Masalah Umum:
CameraControl.enableTorch()berfungsi, tetapiListenableFuture<Void>yang ditampilkan selalu merupakan hasilcomplete(success)langsung, meskipun unit flash tidak ada. Versi berikutnya akan memperbaiki masalah ini pada perilaku terakhir: Apabila tidak ada unit flash,enableTorch(true)akan langsung gagal (tidak akan mengirim permintaan keCaptureSession), danTorchStatetetap Nonaktif. - Masalah Umum:
startFocusAndMeteringdancancelFocusAndMeteringmemulai dan membatalkan pengukuran fokus, tetapi langsung menampilkan hasilcompleted (success)yang tidak menunjukkan perilaku yang didokumentasikan.FocusMeteringResultdariListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()adalah hasil palsu, yaituisFocusSuccessful(), dan selalu "false", berbeda dari perilaku terdokumentasi yang dimaksud. - Masalah Umum: Setelan pabrik titik pengukuran yang akan digunakan dengan peristiwa sentuh
PreviewViewkini sedang dikembangkan. Untuk saat ini, aplikasi yang menghubungkan permukaan terkelola kustom dapat menggunakan setelan pabrik titik pengukuran yang ada; jika tidak, fungsionalitas fokus sentuh untukPreviewViewtidak tersedia.
Camera-Camera2 dan Camera-Core Versi 1.0.0-alpha06
9 Oktober 2019
androidx.camera:camera-camera2:1.0.0-alpha06 dan androidx.camera:camera-core:1.0.0-alpha06 dirilis. Keduanya adalah commit yang disertakan dalam camera-camera2:1.0.0-alpha06 dan yang disertakan dalam camera-core:1.0.0-alpha06.
Fitur baru
Perubahan pada rasio lebar tinggi setelan:
setTargetAspectRatioMode()telah ditambahkan dan menerima argumen enum. Penambahan ini menyetel Mode Rasio Lebar Tinggi dengan opsiRATIO_4_3atauRATIO_16_9, bukan rasio lebar tinggi arbitrer. Hal ini lebih sesuai dengan fakta bahwa hanya rasio lebar tinggi tertentu yang tersedia dari kamera, bukan rasio arbitrer.- Saat ini, rasio yang tersedia hanyalah 16:9 dan 4:3. Dalam kasus 1:1, hanya perangkat tertentu yang menyediakan opsi ini dari kamera, dan hanya dalam resolusi yang terbatas. Aplikasi yang merancang antarmuka atau pemrosesan 1:1 sebaiknya menggunakan pilihan 16:9 atau 4:3 yang lebih fleksibel dan memangkas tampilan atau memproses subregion.
- Rasio lebar tinggi ini diorientasikan untuk menggunakan area sensor maksimum.
getTargetAspectRatio()telah ditambahkan ke API konfigurasi kasus penggunaan, yang menampilkan rasio aspek yang ditargetkan oleh output kasus penggunaan.- Metode
setTargetAspectRatio(Rational aspectRatio)telah diubah untuk ImageCapture menjadisetTargetAspectRatioCustom(Rational aspectRatio). Saat ditetapkan, output ImageCapture akan dipangkas sebagaimana sesuai.
Executor API
- Fungsi berikut menerima parameter eksekutor, yang memungkinkan aplikasi mengontrol eksekutor mana yang akan digunakan untuk menjalankan fungsi.
Preview.setOnPreviewOutputUpdateListener()API. Jika tidak tersedia untuk fungsi tersebut, eksekutor akan dijalankan di thread utama.Preview.setOnPreviewOutputUpdateListenerFocusMeteringAction.Builder.setAutoFocusCallbackImageAnalysis.setAnalyzerImageCapture.takePictureCameraView.takePictureCameraView.startRecordingVideoCapture.startRecording
CameraInfo ditambahkan dengan pemeriksaan Flash Available dan Sensor Rotation API
Menambahkan metode
CameraInfodangetCameraInfo, yang memungkinkan aplikasi memeriksa apakah lensa yang menghadap CameraInfo tersedia dan apakah flash tersedia di kamera tersebut. Contoh: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()telah ditambahkan Class ini memberikan orientasi sensor kamera yang terkait dengan orientasi alami perangkat, atau demi kenyamanan, yang terkait dengan orientasi yang ditentukan oleh rotasi Surface (yang menentukan orientasi terkait dengan orientasi alami).
Perubahan API dan perbaikan bug
- Rasio Lebar Tinggi: Untuk setiap kasus penggunaan, aplikasi sebaiknya hanya memanggil salah satu dari
setTargetResolution()dansetTargetAspectRatio(). Memanggil kedua builder tersebut akan menampilkan error.- Umumnya, sangat direkomendasikan untuk menggunakan
setTargetAspectRatio()berdasarkan desain UI aplikasi. Resolusi spesifik didasarkan pada kasus penggunaan. Contohnya, pratinjau ditentukan mendekati resolusi layar dan pengambilan gambar menyediakan gambar diam beresolusi tinggi. Lihat tabel resolusi otomatis untuk informasi selengkapnya. - Gunakan
setTargetResolution()untuk kasus yang lebih spesifik, seperti saat resolusi minimum (untuk menghemat komputasi) atau maksimum (untuk memproses detail) diperlukan.
- Umumnya, sangat direkomendasikan untuk menggunakan
- Executor API: Menghapus panggilan
setCallbackHandler()dari API konfigurasi kasus penggunaan. Sebagai gantinya, aplikasi dapat menetapkan eksekutor sebagai parameter di berbagai API lain yang menetapkan callback. - Memperbarui anotasi null untuk berbagai fungsi.
- Memperbaiki masalah yang menyebabkan ditampilkannya
java.lang.IllegalStateException at Camera$StateCallback.onErrorsaat membuka kamera. - Memperbaiki masalah di mana resolusi yang dipilih terlalu kecil (kurang dari 640x480) saat aplikasi meminta resolusi yang lebih besar atau resolusi default, sehingga menghasilkan gambar pratinjau yang terlihat kotak-kotak atau buram. Aplikasi yang secara khusus memerlukan resolusi lebih kecil dapat memintanya secara eksplisit.
- Memperbaiki masalah di mana kamera akan menampilkan layar hitam (gagal memulai kamera) setelah beralih dari intent yang meluncurkan aplikasi kamera lain.
- Memperbaiki bug yang menampilkan error berikut saat aplikasi dimulai atau dihentikan berulang-ulang;
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface! - Memperbaiki error berikut yang terjadi saat menonaktifkan ImageAnalysis:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more. - Menambahkan pengujian tambahan untuk alur pemutusan koneksi kamera.
- Meningkatkan keandalan sistem pengujian saat menjalankan pengujian kamera secara berturut-turut.
Camera-Camera2 dan Camera-Core Versi 1.0.0-alpha05
5 September 2019
androidx.camera:camera-camera2:1.0.0-alpha05 dan androidx.camera:camera-core:1.0.0-alpha05 dirilis. Berikut adalah commit yang disertakan dalam camera-camera2:1.0.0-alpha05, dan commit yang disertakan dalam camera-core:1.0.0-alpha05.
Perubahan API: Mengganti nama variabel error kasus penggunaan:
ImageCapture.UseCaseErrordiganti nama menjadiImageCapture.ImageCaptureErrorVideoCapture.UseCaseErrordiganti nama menjadiVideoCapture.VideoCaptureError
Menambahkan
CameraControlAPI dengan Tap-to-Focus APIMenambahkan API untuk mendapatkan
CameraControldari CameraX untuk kamera, yang dipilih sesuai arah hadap lensa:CameraX.getCameraControl(LensFacing lensFacing)Menambahkan
MeteringPointFactory,MeteringPoint,MeteringMode, danFocusMeteringActionuntuk menjalankan Tap-to-Focus: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();Menambahkan API bagi
CameraControluntuk memulai dan membatalkan pengukuran fokus:getCameraControl(lensFacing).startFocusAndMetering(action);getCameraControl(lensFacing).cancelFocusAndMetering();Menambahkan API untuk Metering Point Factories yang membantu menerjemahkan koordinat ketuk menjadi koordinat sensor, berdasarkan class tampilan:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
Memberlakukan pemanggilan metode berikut di thread Utama (UI), yang memunculkan
IllegalStateException, padahal seharusnya tidak. Versi mendatang akan memungkinkan penggunaan di thread lain dan memastikan serialisasi.CameraX.bindToLifecycle()CameraX.unbind()CameraX.unbindAll()ImageAnalysis.setAnalyzer()ImageAnalysis.getAnalyzer()ImageAnalysis.removeAnalyzer()Preview.removePreviewOutputListener()Preview.getOnPreviewOutputUpdateListener()Preview.setOnPreviewOutputUpdateListener()
Berbagai setelan konfigurasi sekarang menerima parameter null, dan pengambil yang terkait dapat menampilkan null.
Memperbaiki masalah saat menjalankan pengujian di emulator yang tidak mendukung setelan AF/AE/AWB.
Memperbaiki bug rotasi saat menganalisis gambar.
Memperbaiki bug di mana pratinjau terlihat hitam di awal (data kamera tidak ada), setelah rotasi atau peralihan antara kamera depan dan belakang.
Menghapus pengujian untuk beberapa kasus penggunaan analisis gambar serentak. Untuk memastikan kompatibilitas, aplikasi sebaiknya hanya mengaitkan satu kasus penggunaan analisis gambar.
Menambahkan pengujian robolektrik awal untuk kamera palsu dalam paket pengujian kamera (WIP).
Pengujian Camera2Inititalizer dihapus, karena cakupannya tidak jelas/menyesatkan.
Camera-Camera2 dan Camera-Core Versi 1.0.0-alpha04
7 Agustus 2019
androidx.camera:camera-camera2:1.0.0-alpha04 dan androidx.camera:camera-core:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.
Fitur Baru
Perubahan pada pemilihan Rasio Lebar Tinggi dan Resolusi
Sasaran CameraX adalah menginisialisasi sesi kamera dengan sukses. Artinya, CameraX menerima resolusi/rasio lebar tinggi berdasarkan kemampuan perangkat, untuk memulai sesi pengambilan sebagai sasaran pertamanya sehingga permintaan yang tepat mungkin tidak diikuti. Hal ini dapat terjadi karena:
- Perangkat tidak mendukung resolusi yang diminta
- Masalah kompatibilitas seperti pada perangkat LAMA di mana resolusi tertentu harus digunakan agar dapat beroperasi dengan benar
- Pada beberapa perangkat, format tertentu hanya tersedia pada rasio lebar tinggi tertentu
- Preferensi "nearest mod16" untuk encoding JPEG atau video. Lihat
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
Meskipun CameraX membuat dan mengelola sesi, Anda harus selalu memeriksa ukuran gambar yang ditampilkan pada output kasus penggunaan dalam kode Anda dan menyesuaikannya.
Beberapa perubahan telah dibuat untuk menyetel resolusi dan rasio lebar tinggi, yang dimaksudkan untuk menjadikan API ini lebih jelas:
- Kasus penggunaan pratinjau sekarang dianggap memiliki rasio lebar tinggi default 4:3 jika tidak ada rasio lebar tinggi yang ditetapkan.
- Saat CameraX secara internal mempertimbangkan perubahan pada resolusi dan rasio aspek yang diminta berdasarkan kemampuan perangkat, percobaan untuk mempertahankan rasio aspek yang sama akan dilakukan (seperti yang ditentukan oleh panggilan
setTargetAspectRatioatausetTargetResolution) - Versi "Nearest mod16" resolusi ini dianggap sebagai rasio lebar tinggi yang sama.
Mode Non-Blocking ImageAnalysis
ImageReaderMode.ACQUIRE_LATEST_IMAGEsekarang bersifat tidak memblokir. Gambar terbaru dalam antrean akan diambil, tetapi gambar yang tidak digunakan akan terus-menerus dihapus agar pipeline kamera terhindar dari pemblokiran.- Penganalisis dapat menyimpan satu gambar tanpa batas waktu, tanpa menghambat pipeline.
- Jika aplikasi menyediakan eksekutor yang kemudian melakukan pemblokiran, kasus penggunaan ImageAnalysis akan melakukan pemblokiran.
- Eksekutor default yang ditetapkan secara internal akan berperilaku sebagai eksekutor yang tidak memblokir.
Perbaikan Bug
- Memperbaiki masalah waktu tunggu saat menunggu konvergensi 3A ketika mengambil gambar pada perangkat yang tidak memiliki fokus otomatis, eksposur otomatis, dan keseimbangan putih otomatis
- Memperbaiki masalah saat mengambil gambar dengan cepat menggunakan ImageCapture. Memperbaiki error:
java.lang.IllegalStateException: maxImages (2) has already been acquired - Memperbaiki masalah saat
setLensFacingtidak dipanggil untuk suatu kasus penggunaan, yang mengakibatkanjava.lang.IllegalArgumentException: Unable to get camera ID for use case. - Memperbaiki masalah yang menyebabkan perangkat LAMA membutuhkan rasio aspek tertentu sebagai resolusi JPEG maksimum
- Memperbaiki masalah saat memindahkan aplikasi ke latar belakang selagi kamera digunakan
- Memperbaiki masalah pada API <25 untuk menghapus error
checkAndUpdateEglState: invalid current EGLDisplay - Memperbaiki masalah saat unbinding pratinjau setelah mengaktifkan dan memulai ekstensi
- Artefak build untuk camera-view dan camera-extensions sekarang dipublikasikan sebagai versi alfa
Camera-Camera2 dan Camera-Core Versi 1.0.0-alpha03
2 Juli 2019
androidx.camera:camera-core:1.0.0-alpha03 dan androidx.camera:camera-camera2:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.
Perubahan API
- Menambahkan klarifikasi javadoc untuk "target" dalam panggilan konfigurasi setTarget
Camera-Core
- Memperbaiki error Input/Output Surface yang tidak dikonfigurasi pada open/close atau bind/unbind yang cepat
- Berpindah ke implementasi Futures baru
- Menguji perbaikan untuk pengujian yang lebih andal
- Pengujian integrasi Core sekarang menampilkan waktu pengambilan foto
- Mengembangkan class compat internal untuk Executors
- Waktu pengambilan gambar aplikasi pengujian menunggu hingga pengambilan gambar sebelumnya selesai & meningkatkan stabilitas
Ekstensi
- Menambahkan pemeriksaan versi
- Cakupan pengujian tambahan - callback peristiwa ekstensi
- Penyempurnaan untuk gambar dan metadata yang terkait secara internal
- Perbaikan untuk peralihan mode dalam aplikasi pengujian
Camera-Camera2 dan Camera-Core Versi 1.0.0-alpha02
5 Juni 2019
androidx.camera:camera-core:1.0.0-alpha02 dan androidx.camera:camera-camera2:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit berikut ini.
Perbaikan bug
- Memperbaiki masalah div by zero saat menggunakan emulator
- Memperbaiki error NullPointerException/Surface Abandoned yang terjadi pada beberapa perangkat saat mengambil foto dengan cepat sambil melakukan unbinding dan rebinding kasus penggunaan dengan sangat cepat.
- Memperbaiki masalah internal untuk memastikan update permintaan pengambilan gambar memengaruhi semua bagian secara konsisten
- Peningkatan stabilitas saat memulai ulang kasus penggunaan dalam instance aplikasi baru
- Perubahan arsitektur internal untuk mendukung berbagai eksekutor dalam API
- Klarifikasi Javadoc tambahan terkait class CameraX dan pengelolaan siklus proses
- Menambahkan pengujian berinstrumen untuk aplikasi pengujian performa Antelope
- Menghapus kebutuhan akan '-keepattributes Signature' pada konfigurasi ProGuard aplikasi
Camera-Camera2 dan Camera-Core 1.0.0-alpha01
7 Mei 2019
androidx.camera:camera-core:1.0.0-alpha01 dan
androidx.camera:camera-camera2:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Camera-Lifecycle Versi 1.0.0-beta11
14 Oktober 2020
androidx.camera:camera-lifecycle:1.0.0-beta11 dirilis. Versi 1.0.0-beta11 berisi commit ini.
Perbaikan Bug
<UseCase>.getTargetRotation()akan menampilkanSurface.ROTATION_0jika dipanggil sebelum ditambahkan ke instance Camera kecuali jika targetRotation telah ditetapkan pada Builder atau UseCase. (I80fcd)
Camera-Lifecycle Versi 1.0.0-beta10
23 September 2020
androidx.camera:camera-lifecycle:1.0.0-beta10 dirilis. Versi 1.0.0-beta10 berisi commit ini.
Perbaikan Bug
- Rilis untuk mendukung Camera-Core 1.0.0-beta10
Camera-Lifecycle Versi 1.0.0-beta09
16 September 2020
androidx.camera:camera-lifecycle:1.0.0-beta09 dirilis. Versi 1.0.0-beta09 berisi commit ini.
Camera-Lifecycle Versi 1.0.0-beta08
19 Agustus 2020
androidx.camera:camera-lifecycle:1.0.0-beta08 dirilis. Versi 1.0.0-beta08 berisi commit berikut ini.
Perbaikan Bug
- Inisialisasi tidak akan error lagi saat menggunakan Konteks
yang tidak mengembalikan objek Aplikasi dari
Context.getApplicationContext(). (I3d3c9, b/160817073)
Camera-Lifecycle Versi 1.0.0-beta07
22 Juli 2020
androidx.camera:camera-lifecycle:1.0.0-beta07 dirilis. Versi 1.0.0-beta07 berisi commit ini.
Camera-Lifecycle Versi 1.0.0-beta06
24 Juni 2020
androidx.camera:camera-lifecycle:1.0.0-beta06 dirilis. Versi 1.0.0-beta06 berisi commit ini.
Perubahan API
- CameraX kini dapat dikonfigurasikan dengan ProcessCameraProvider#configureInstance() sebelum memanggil ProcessCameraProvider#getInstance(). Hal ini memungkinkan penyesuaian CameraXConfig tanpa memerlukan penerapan CameraXConfig.Provider di class Application aplikasi. (Ia1a8d)
Camera-Lifecycle Versi 1.0.0-beta05
10 Juni 2020
androidx.camera:camera-lifecycle:1.0.0-beta05 dirilis. Versi 1.0.0-beta05 berisi commit berikut ini.
Perbaikan Bug
- Memperbaiki error ketika aplikasi dimulai saat menginisialisasi CameraX sementara ponsel dalam mode Jangan Ganggu.
InitializationExceptionyang berisiCameraUnavailableExceptionakan ditetapkan keListenableFuturepada hasil inisialisasi, bukan membuat aplikasi error. (I9909a, b/149413835)
Camera-Lifecycle Versi 1.0.0-beta04
27 Mei 2020
androidx.camera:camera-lifecycle:1.0.0-beta04 dirilis. Versi 1.0.0-beta04 berisi commit ini.
Camera-Lifecycle Versi 1.0.0-beta03
15 April 2020
androidx.camera:camera-lifecycle:1.0.0-beta03 dirilis. Versi 1.0.0-beta03 berisi commit ini.
Perbaikan Bug
- Memperbaiki regresi dari beta03 yang memanggil
bindToLifecycle()dengan nolUseCaseakan menyebabkan ditampilkannya pengecualian. Hal ini mencegah pengambilanCameratanpa mengikatUseCase. - Perbaikan untuk mendukung rilis
camera-core
Camera-Lifecycle Versi 1.0.0-beta01
26 Februari 2020
androidx.camera:camera-lifecycle:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.
Perbaikan Bug
- Memperbaiki dokumentasi yang perlu diperhatikan saat mendapatkan
ProcessCameraProviderselama proses inisialisasi, konfigurasi default akan digunakan dan memperluasApplicationbersifat opsional. (I5e395)
Camera-Lifecycle Versi 1.0.0-beta02
1 April 2020
androidx.camera:camera-lifecycle:1.0.0-beta02 dirilis. Versi 1.0.0-beta02 berisi commit ini.
Perbaikan Bug
- Update untuk mendukung perbaikan bug pada artefak
camera-camera2:1.0.0-beta02dancamera-core:1.0.0-beta02.
Camera-Lifecycle Versi 1.0.0-alpha10
10 Februari 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.
Perubahan API
- Menambahkan anotasi
@MainThreadke metode BindToLifecycle, unbind, dan unbindAll. (I990d2)
Camera-Lifecycle Versi 1.0.0-alpha03
22 Januari 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.
Update
- Berbagai perbaikan dan update untuk mendukung perubahan Camera Core & Camera2.
Camera-Lifecycle Versi 1.0.0-alpha02
18 Desember 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Perubahan dependensi
- Diupdate untuk menggunakan
androidx.camera:camera-core:1.0.0-alpha08.
Camera-Lifecycle Versi 1.0.0-alpha01
4 Desember 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 dari camera-lifecycle berisi commit ini
Catatan API
- Artefak camera-lifecycle ditambahkan, untuk menyediakan antarmuka
LifeCycleCameraProvider, dan implementasi yang disebutProcessCameraProvider, yang memberikan banyak fungsi class CameraX sebelumnya dalam core dan diperoleh melalui metodegetInstance(). - Aplikasi harus menyertakan library camera-lifecycle untuk menggunakan CameraX.
- Lihat catatan di bagian camera-core untuk mengetahui cara melakukan inisialisasi CameraX menggunakan
ProcessCameraProvider.
Camera-Extensions dan Camera-View Versi 1.0.0
Versi 1.0.0-alpha32
15 Desember 2021
androidx.camera:camera-extensions:1.0.0-alpha32 dan androidx.camera:camera-view:1.0.0-alpha32 dirilis. Versi 1.0.0-alpha32 berisi commit berikut ini.
Perubahan API
- Menghapus anotasi
@RequiresApi(21)yang tidak perlu dari class/antarmuka internal. (I8e286, b/204917951) - Memperbarui file API untuk artefak camera-extensions. (If683a, b/161377155)
Perbaikan Bug
- Jangan izinkan aplikasi mengaktifkan mode ekstensi saat mengikat
VideoCapture. Ekstensi CameraX hanya mendukungImageCapturedanPreview.VideoCapturebelum dapat didukung. Jika aplikasi mengikatVideoCapturedan mengaktifkan mode ekstensi apa pun,IllegalArgumentExceptionakan ditampilkan. (I0d87b) CameraSelector#filtertidak lagi melemparkanIllegalArgumentExceptionsaat set hasil kosong. (I27804)- Mengganti nama
ExtensionsManager#getInstanceAPI menjadigetInstanceAsynckarena menampilkanListenableFuture. Akhiran Async pada nama fungsi dapat dengan jelas menunjukkan bahwa fungsi tersebut adalah fungsi asinkron. (I279d2) - Menghapus parameter resolusi dari
ExtensionsManager#getEstimatedCaptureLatencyRangeAPI karena pengguna tidak dapat mengetahui ukuran yang didukung untuk kasus penggunaanImageCapturedan tidak dapat membedakan apakah informasi latensi yang ditampilkan ditujukan untuk ukuran output pengambilan maksimum atau parameter resolusi input. (I74bb2) - Memindahkan parameter
CameraProviderdari fungsiExtensionsManagerkegetInstance()API. Agar pengguna tidak perlu memasukkan parameterCameraProvidersetiap kali memanggil fungsiExtensionsManager. (Ic7e48)
Versi 1.0.0-alpha31
17 November 2021
androidx.camera:camera-extensions:1.0.0-alpha31 dan androidx.camera:camera-view:1.0.0-alpha31 dirilis. Versi 1.0.0-alpha31 berisi commit berikut ini.
Perubahan API
- Menambahkan CameraSelector#filter ke API publik untuk memfilter daftar CameraInfo berdasarkan CameraSelector. (I105d0)
Perbaikan Bug
- Memperbaiki error saat beralih mode ekstensi dengan cepat di perangkat tertentu. (Iebbef)
Versi 1.0.0-alpha30
13 Oktober 2021
androidx.camera:camera-extensions:1.0.0-alpha30 dan androidx.camera:camera-view:1.0.0-alpha30 dirilis. Versi 1.0.0-alpha30 berisi commit berikut ini.
Perubahan API
- Menambahkan anotasi @RequiresApi(21) ke semua class CameraX dan menghapus minSdkVersion dari AndroidManifest.xml. Dengan begitu, camera-core dapat diintegrasikan dengan mudah ke dalam aplikasi yang memiliki minSdkVersion kurang dari 21, tetapi ingin menggunakan jalur kode secara bersyarat yang mengandalkan API 21 dan yang lebih tinggi. Untuk aplikasi apa pun yang memiliki minSdkVersion 21 atau yang lebih tinggi, perubahan ini tidak memerlukan tindakan. (Ie7f2e, b/200599470)
Perbaikan Bug
- Memperbaiki masalah AbstractMethodError yang terjadi ketika proguard diaktifkan. (Iae468, b/201177844)
Versi 1.0.0-alpha29
29 September 2021
androidx.camera:camera-extensions:1.0.0-alpha29 dan androidx.camera:camera-view:1.0.0-alpha29 dirilis. Versi 1.0.0-alpha29 berisi commit berikut ini.
Perubahan API
- Anotasi ExperimentalUseCaseGroup dihapus karena sekarang API tidak lagi bersifat eksperimental. (I01ef5)
- Menghapus
RotationProvider#removeAllListeners(). Sebagai gantinya, gunakanRotationProvider#removeListener(...). (Id9d4a) - Memperbarui class RotationReceiver: mengubah Pemroses set/clear menjadi add/remove/removeAll, menghapus variasi setListener yang menggunakan thread utama secara default dan menambahkan anotasi metode. (Ib1669)
Perbaikan Bug
- Mengganti nama ExtensionMode#BEAUTY menjadi FACE_RETOUCH untuk menampilkan dengan benar tindakan yang dilakukan oleh mode ekstensi. (I61f54, b/198515274)
- Memperbaiki masalah penutupan kamera secara tiba-tiba saat beberapa CameraController dan PreviewView digunakan dalam satu Aktivitas. (Ibfd18, b/197539358)
Versi 1.0.0-alpha28
18 Agustus 2021
androidx.camera:camera-extensions:1.0.0-alpha28 dan androidx.camera:camera-view:1.0.0-alpha28 dirilis. Versi 1.0.0-alpha028 berisi commit ini.
Perubahan API
- Anotasi ExperimentalUseCaseGroupLifecycle dihapus karena sekarang API tidak lagi bersifat eksperimental. (I17b85)
- RefactorListener telah difaktorkan ulang dan diganti nama menjadi RotationProvider. Solusi ini terus menyediakan fitur yang sama dengan API yang sedikit berbeda. (Idffc5)
- Mengganti nama TAP_TO_FOCUS_UNSUCCESSFUL menjadi TAP_TO_FOCUS_NOT_FOCUSED dan TAP_TO_FOCUS_SUCCESSFUL menjadi TAP_TO_FOCUS_FOCUSED. Membuat final OutputSize (I099fa)
Perbaikan Bug
- Menghapus class
<EffectName><UseCase>Extenderyang tidak digunakan lagi, ExtensionsErrorListener, dan API ExtensionsManager terkait. (I3b8c3)
Versi 1.0.0-alpha27
21 Juli 2021
androidx.camera:camera-extensions:1.0.0-alpha27 dan androidx.camera:camera-view:1.0.0-alpha27 dirilis. Versi 1.0.0-alpha27 berisi commit berikut ini.
Perubahan API
- Mempromosikan API area pandang dari eksperimental. Hapus anotasi eksperimental API. (I717ea)
- Mengganti nama
CoordinateTransform#getTransformmenjadiCoordinateTransform#transform, dan mengupdate JavaDoc (I864ae)
Perbaikan Bug
- Memperbaiki masalah rentang mode
PreviewView PERFORMANCEsaat menggunakannya bersama dengan Compose UI. (Ie1137, b/183864890)
Versi 1.0.0-alpha26
30 Juni 2021
androidx.camera:camera-extensions:1.0.0-alpha26 dan androidx.camera:camera-view:1.0.0-alpha26 dirilis. Versi 1.0.0-alpha26 berisi commit ini.
Perubahan API
- Menambahkan metode
CameraController#getTapToFocusState()baru yang mengekspos hasil ketuk-untuk-fokus terbaru. (Iaccb0) - Menambahkan lebih banyak fitur camera-core untuk CameraController: pengambil/penyetel untuk rasio lebar tinggi target, resolusi target, mode pengambilan gambar, CameraControl, dan eksekutor kustom. (Iea8f2)
- Menambahkan class RotationReceiver yang menerima perubahan rotasi Permukaan. Class ini dapat digunakan untuk menyetel rotasi target saat perangkat dalam mode potret/lanskap yang tetap. (Ib278f)
- Mengekspos API publik getEstimatedCaptureLatencyRange baru di class ExtensionsManager. (I6a8ec)
- Menghentikan penggunaan ExtensionsErrorListener. Saat ini, antarmuka ini hanya digunakan untuk memantau adanya Pratinjau atau ImageCapture saat mengaktifkan mode ekstensi. CameraX akan otomatis menambahkan Pratinjau atau ImageCapture tambahan agar fungsi ekstensi berfungsi dengan baik. Setelah itu, tidak ada error yang akan dilaporkan melalui antarmuka ini. (I47d9e)
- Mengekspos API publik ExtensionsManager getInstance, isExtensionAvailable, dan getExtensionEnabledCameraSelector yang baru, serta menghentikan penggunaan class
<EffectName><UseCase>Extenderlama dan API terkait. (I329e6)
Versi 1.0.0-alpha25
2 Juni 2021
androidx.camera:camera-extensions:1.0.0-alpha25 dan androidx.camera:camera-view:1.0.0-alpha25 dirilis. Versi 1.0.0-alpha25 berisi commit berikut ini.
Perubahan API
- ExperimentalCameraFilter API kini sudah tidak berada dalam tahap eksperimental dan menjadi API formal. API ini dapat digunakan tanpa OptIn yang dianotasi. (I4bc94)
- Menambahkan aplikasi utilitas yang mengubah koordinat antar-kasus penggunaan. Contoh penggunaan: mengubah koordinat yang terdeteksi dalam kasus penggunaan mageAnalysis dan menandai objek yang terdeteksi dalam pratinjau. (I63ab1, b/137515129)
CameraViewdihapus.CameraViewtelah diganti denganCameraController. Lihat panduan migrasi untuk mengetahui cara bermigrasi. (Id5005)
Perbaikan Bug
- Mengganti
ExperimentalUseCaseGroupLifecycledenganExperimentalUseCaseGroup. (I3b2ef, b/159033688)
Versi 1.0.0-alpha24
21 April 2021
androidx.camera:camera-extensions:1.0.0-alpha24 dan androidx.camera:camera-view:1.0.0-alpha24 dirilis. Versi 1.0.0-alpha24 berisi commit berikut ini.
Perbaikan Bug
- Mengganti anotasi
@Experimentaldengan@RequiresOptInke API eksperimental. Untuk memanggil API eksperimental, gunakanandroidx.annotation.OptIn, bukanandroidx.annotation.experimental.UseExperimentalyang sudah tidak digunakan lagi. (Iff226) - Memperbaiki masalah PreviewView yang belum selesai di Samsung J5 Premium (Ib10b6)
Camera Extensions & View Versi 1.0.0-alpha23
24 Maret 2021
androidx.camera:camera-extensions:1.0.0-alpha23 dan androidx.camera:camera-view:1.0.0-alpha23 dirilis. Versi 1.0.0-alpha23 berisi commit berikut ini.
Perubahan API
- CameraView sudah tidak digunakan lagi. Sebagai gantinya, gunakan
LifecycleCameraController. Lihat panduan migrasi (Idac2c) - Menambahkan anotasi FloatRange ke setLinearZoom() (I69971)
Perbaikan Bug
- Dependensi camera-view yang dipasangi pin untuk mengandalkan artefak 1.0.0. Bergantung pada camera-view tidak akan lagi menyebabkan resolusi dependensi gradle agar otomatis mengupgrade camera-core, camera-camera2, dan camera-lifecycle ke artefak 1.1.0 terbaru, meskipun camera-view masih kompatibel dengan artefak tersebut jika ditetapkan secara eksplisit untuk menggunakan versi 1.1.0. (Ic8fa1, b/181599852)
- Memperbaiki pratinjau Samsung A3 yang direntangkan di PratinjauView. (Iacb30, b/180121821)
- Memperbaiki masalah saat pemilih kamera tidak dapat disetel sebelum kamera diinisialisasi. (Ic8bd0)
Camera Extensions & View Versi 1.0.0-alpha22
24 Februari 2021
androidx.camera:camera-extensions:1.0.0-alpha22 dan androidx.camera:camera-view:1.0.0-alpha22 dirilis. Versi 1.0.0-alpha22 berisi commit berikut ini.
Perubahan API
- menambahkan pengambil CameraInfo ke CameraController. (Ib8138, b/178251727)
Perbaikan Bug
- Memperbaiki ExtensionsErrorListener untuk melaporkan error ketika hanya Pratinjau atau ImageCapture yang terikat. (I5ae39)
Camera Extensions & View Versi 1.0.0-alpha21
27 Januari 2021
androidx.camera:camera-extensions:1.0.0-alpha21 dan androidx.camera:camera-view:1.0.0-alpha21 dirilis. Versi 1.0.0-alpha21 berisi commit berikut ini.
Merilis untuk mendukung artefak koleksi kamera lainnya.
Camera Extensions & View Versi 1.0.0-alpha20
16 Desember 2020
androidx.camera:camera-extensions:1.0.0-alpha20 dan androidx.camera:camera-view:1.0.0-alpha20 dirilis. Versi 1.0.0-alpha20 berisi commit berikut ini.
Merilis untuk mendukung artefak koleksi kamera lainnya.
Camera-Extensions & Camera-View Versi 1.0.0-alpha19
11 November 2020
androidx.camera:camera-extensions:1.0.0-alpha19 dan androidx.camera:camera-view:1.0.0-alpha19 dirilis. Versi 1.0.0-alpha19 berisi commit berikut ini.
Perbaikan Bug
- Anotasi
@ExperimentalVideodiperkenalkan pada tampilan kamera. Anotasi ini menandai API yang mengekspos fungsi video eksperimental yang dapat berubah saat fitur ini dikembangkan sepenuhnya. Metode apa pun yang menggunakan API ini harus menggunakan anotasi@UseExperimentaldenganExperimentalVideosebagaimarkerClass. (I6d729)
Camera-Extensions Versi 1.0.0-alpha18
14 Oktober 2020
androidx.camera:camera-extensions:1.0.0-alpha18 dirilis. Versi 1.0.0-alpha18 berisi commit ini.
Perbaikan Bug
- Meningkatkan latensi inisialisasi CameraX dan bindToLifecycle (I61dc5)
<UseCase>.getTargetRotation()akan menampilkanSurface.ROTATION_0jika dipanggil sebelum ditambahkan ke instance Camera kecuali jika targetRotation telah ditetapkan pada Builder atau UseCase. (I80fcd)
Camera-View Versi 1.0.0-alpha18
14 Oktober 2020
androidx.camera:camera-view:1.0.0-alpha18 dirilis. Versi 1.0.0-alpha18 berisi commit ini.
Merilis untuk mendukung artefak koleksi kamera lainnya.
Camera-Extensions Versi 1.0.0-alpha17
23 September 2020
androidx.camera:camera-extensions:1.0.0-alpha17 dirilis. Versi 1.0.0-alpha17 berisi commit ini.
Perbaikan Bug
- Rilis untuk mendukung Camera-Core 1.0.0-beta10
Camera-View Versi 1.0.0-alpha17
23 September 2020
androidx.camera:camera-view:1.0.0-alpha17 dirilis. Versi 1.0.0-alpha17 berisi commit ini.
Perbaikan Bug
- Rilis untuk mendukung Camera-Core 1.0.0-beta10
Camera-Extensions Versi 1.0.0-alpha16
16 September 2020
androidx.camera:camera-extensions:1.0.0-alpha16 dirilis. Versi 1.0.0-alpha16 berisi commit ini.
Perbaikan Bug
- Menambahkan metode di
ExtensionsManageruntuk mendapatkan objekExtensionsyang digunakan untuk mengaktifkan dan mengkueri ekstensi di instance Kamera (I4fb7e)
Camera-View Versi 1.0.0-alpha16
16 September 2020
androidx.camera:camera-view:1.0.0-alpha16 dirilis. Versi 1.0.0-alpha16 berisi commit ini.
Perubahan API
- Menghapus
PreviewView#setDeviceRotationForRemoteDisplayMode()danPreviewView#getDeviceRotationForRemoteDisplayMode(). Kedua metode ini berguna untuk menyesuaikan rotasi pratinjau, jika rotasi yang diinginkan bukanlah rotasi tampilan, misalnya tampilan jarak jauh. Untuk menangani rotasi pratinjau non-tampilan saat ini, setel rotasi yang diinginkan denganPreview#setTargetRotation()danPreviewView#getViewPort(targetRotation)yang baru ditambahkan. (Ib62cc) - Mengganti nama
createSurfaceProvider()menjadigetSurfaceProvider(). Metode ini akan selalu menampilkan instance yang sama dari Preview.SurfaceProvider. (Iff83c)
Perbaikan Bug
- Memaksa PreviewView menggunakan TextureView jika efek ekstensi diaktifkan dan implementasi library vendor perlu melakukan proses khusus pada permukaan output. (I0c3cc)
- Mengizinkan rotasi target arbitrer untuk Pratinjau. Info transformasi dihitung dan ditampilkan kepada pengguna dengan cepat melalui callback
TranformationInfoListeneryang baru. (I21470)
Masalah Umum
- Di PreviewView,
OnClickListener#onClick()tidak dipanggil saat pengguna akhir mengklik PreviewView. Peristiwa sentuh salah digunakan oleh PreviewView#onTouchEvent(). Masalah ini akan diperbaiki dalam rilis berikutnya. - MeteringPoint yang diperoleh dari
PreviewView#getMeteringPointFactory()mungkin salah jika Area Pandang digunakan dengan PreviewView.
Camera-Extensions Versi 1.0.0-alpha15
19 Agustus 2020
androidx.camera:camera-extensions:1.0.0-alpha15 dirilis. Versi 1.0.0-alpha15 berisi commit ini.
Perbaikan Bug
- Metode
ExtensionsManager.init()sekarang menggunakan Konteks sebagai parameter, bukan memiliki argumen 0. (Ife754) Inisialisasi tidak akan error lagi saat menggunakan Konteks yang tidak mengembalikan objek Aplikasi dari
Context.getApplicationContext(). (I3d3c9, b/160817073)Camera-View Versi 1.0.0-alpha15
19 Agustus 2020
androidx.camera:camera-view:1.0.0-alpha15 dirilis. Versi 1.0.0-alpha15 berisi commit ini.
Perbaikan Bug
DisplayOrientedMeteringPointFactorymenggunakan instanceCameraInfo, bukanCameraSelector, sehingga ada pemetaan langsung titik yang akan dihasilkan oleh setelan pabrik pada Kamera. Semua class yang menggunakanDisplayOrientedMeteringPointFactoryjuga menggunakan instanceCameraInfo, bukanCameraSelector. (I400c1)TextureViewMeteringPointFactorydihapus.PreviewViewmenyediakan API publik (createMeteringPointFactory()) untuk membuat factory titik pengukuran, terlepas dari penggunaanTextureViewatauSurfaceView. (Ide693)- Mengganti nama mode implementasi
SURFACE_VIEW/TEXTURE_VIEWPreviewView menjadiPERFORMANCE/COMPATIBLE.PERFORMANCEadalah modeSURFACE_VIEWlama, danCOMPATIBLEadalah modeTEXTURE_VIEWlama. (I0edc2) - Untuk pengambilan gambar, timpa tanda horizontal balik dalam metadata berdasarkan arah kamera. (I28499)
Camera-Extensions Versi 1.0.0-alpha14
22 Juli 2020
androidx.camera:camera-extensions:1.0.0-alpha14 dirilis. Versi 1.0.0-alpha14 berisi commit ini.
Camera-View Versi 1.0.0-alpha14
22 Juli 2020
androidx.camera:camera-view:1.0.0-alpha14 dirilis. Versi 1.0.0-alpha14 berisi commit ini.
Camera-Extensions Versi 1.0.0-alpha13
24 Juni 2020
androidx.camera:camera-extensions:1.0.0-alpha13 dirilis. Versi 1.0.0-alpha013 berisi commit ini.
Perbaikan Bug
- Penambahan antarmuka eksperimental untuk memfilter kamera berdasarkan ID kamera dan CameraCharacteristics. (I28f61)
Camera-View Versi 1.0.0-alpha13
24 Juni 2020
androidx.camera:camera-view:1.0.0-alpha13 dirilis. Versi 1.0.0-alpha013 berisi commit ini.
Perbaikan Bug
- CameraView tidak lagi error dengan IllegalArgumentException saat mengikat ke LifecycleOwner yang transisi Siklus proses ke status DESTROYED segera setelah terikat. Siklus Proses Binding dalam status DESTROYED tidak akan berupaya membuka kamera. (I7c2b8)
- PreviewView StreamState sekarang tersedia melalui CameraView.getPreviewStreamState() (I21a2b)
Camera-Extensions Versi 1.0.0-alpha12
10 Juni 2020
androidx.camera:camera-extensions:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.
Perbaikan Bug
- Memperbaiki error ketika aplikasi dimulai saat menginisialisasi CameraX sementara ponsel dalam mode Jangan Ganggu.
InitializationExceptionyang berisiCameraUnavailableExceptionakan ditetapkan keListenableFuturepada hasil inisialisasi, bukan membuat aplikasi error. (I9909a, b/149413835)
Camera-View Versi 1.0.0-alpha12
10 Juni 2020
androidx.camera:camera-view:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.
Perbaikan Bug
- Menambahkan
PreviewView#getBitmap()API yang menampilkan representasi Bitmap dari konten yang ditampilkan di permukaan pratinjau. (I9b500, b/157659818)
Camera-Extensions Versi 1.0.0-alpha11
27 Mei 2020
androidx.camera:camera-extensions:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.
Camera-View Versi 1.0.0-alpha12
10 Juni 2020
androidx.camera:camera-view:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.
Fitur Baru
Perubahan API
Perbaikan Bug
- Menambahkan
PreviewView#getBitmap()API yang menampilkan representasi Bitmap dari konten yang ditampilkan di permukaan pratinjau. (I9b500, b/157659818)
Camera-View Versi 1.0.0-alpha11
27 Mei 2020
androidx.camera:camera-view:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.
Perubahan API
- Menambahkan
PreviewView#getPreviewStreamStateAPI yang memungkinkan aplikasi mengamati apakah pratinjau sedang streaming atau tidak. Saat PreviewView dalam mode TEXTURE_VIEW, status STREAMING juga menjamin gambar pratinjau terlihat. (Ic0906, b/154652477) - Menambahkan
PreviewView#setDeviceRotationForRemoteDisplayMode()API guna menyediakan rotasi perangkat untuk mengubah penghitungan jika aplikasi berjalan dalam mode tampilan jarak jauh. (I59b95, b/153514525)
Perbaikan Bug
- Memperbaiki masalah distorsi pratinjau pada kamera
FULL/LIMITED/LEVEL_3yang menjalankan android 7.0 dan yang lebih lama. Memaksa penggunaan modeImplementationMode#TEXTURE_VIEWsaat versi android 7.0 atau yang lebih lama. (I83e30, b/155085307) - Menghapus parameter
CameraInfodariPreviewView#createSurfaceProvider(),PreviewViewsekarang mengambilnya secara internal dariSurfaceRequest. (If18f0, b/154652477) - Memperbaiki rasio aspek default VideoCapture menjadi 16:9 di CameraView. (Ie6a7b, b/153237864)
- Memperbaiki masalah layar hitam
PreviewViewsaat mengeluarkan fragmenPreview, lalu mengembalikannya di ViewPager2. Masalah saatremoveView(previewview)danaddView(previewView)juga diperbaiki. (Iab555, b/149877652, b/147354615) - Mengupdate
CameraView#takePicture()API untuk mengizinkan penyimpanan gambar keUridanOutputStream. Mengupdate aplikasi pengujian untuk menggunakanUrisebagai contoh kanonis. (Ia2459, b/153607583) - Anda dapat menetapkan jenis skala PreviewView dari tata letak XML dengan menetapkan atribut
ScaleType. (I08565, b/153015659) CameraView.ScaleTypetelah dihapus Sebagai gantinya, gunakanPreviewView.ScaleTypeuntuk menetapkan/mendapatkan jenis skala dengan CameraView. (Ia8974, b/153014831)- Berikan
PreviewViewwarna latar belakang secara default jika belum memilikinya. Hal ini mencegah konten di baliknya terlihat sebelum streaming pratinjau dimulai. (I09fad)
Camera-Extensions Versi 1.0.0-alpha10
15 April 2020
androidx.camera:camera-extensions:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit berikut ini.
Perbaikan Bug
- Perbaikan untuk mendukung rilis Camera-Core
Camera-View Versi 1.0.0-alpha10
15 April 2020
androidx.camera:camera-view:1.0.0-alpha010 dirilis. Versi 1.0.0-alpha010 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah yang telah diketahui di mana penerapan SurfaceView
PreviewViewtidak berfungsi dengan baik pada perangkat tertentu, dan akan menyebabkan aplikasi error setelah melanjutkan pratinjau. (I5ed6b)
Camera-Extensions Versi 1.0.0-alpha09
1 April 2020
androidx.camera:camera-extensions:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit berikut ini.
Perbaikan Bug
- Pembaruan untuk mendukung perbaikan bug pada artefak
camera-camera2:1.0.0-beta02,camera-core:1.0.0-beta02, dancamera-lifecycle:1.0.0-beta02
Camera-View Versi 1.0.0-alpha09
1 April 2020
androidx.camera:camera-view:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit berikut ini.
Masalah Umum
- Penggunaan
ImplementationMode.SURFACE_VIEWdenganPreviewViewmungkin tidak berfungsi dengan baik di perangkat tertentu. Ini karenaSurfaceViewyang digunakan untuk pratinjau membuat validasi permukaannya tidak valid saat siklus proses jendela dalam keadaan berhenti. Saat dimulai ulang, kamera akan terbuka kembali dan dapat mencoba untuk melanjutkan pratinjau sebelum permukaanSurfaceViewkembali valid. Untuk saat ini, sebaiknya gunakanImplementationMode.TEXTURE_VIEW.
Perubahan API
- Mengganti nama
PreviewView.setImplementationMode()menjadiPreviewView.setPreferredImplementationMode(). - Mengganti nama
PreviewView.getImplementationMode()menjadiPreviewView.getPreferredImplementationMode(). - Mengganti
PreviewView.getSurfaceProvider()denganPreviewView.createSurfaceProvider(CameraInfo), yang mengambil instanceCameraInfonullable yang digunakan untuk mengoptimalkan pratinjau dengan menggunakanImplementationMode.SURFACE_VIEWjika memungkinkan. Jika instance null diteruskan, atau jika Anda menetapkan mode penerapan pilihan keImplementationMode.TEXTURE_VIEW,ImplementationMode.TEXTURE_VIEWakan digunakan secara internal. Contoh kode berikut menunjukkan bagaimana kasus penggunaan pratinjau yang digunakan sebelumnya akan digunakan dengan PreviewView.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)Saat ini, Anda dapat menulis kode berikut:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))Anotasi
@UiThreadtelah ditambahkan kePreviewView.getSurfaceProvider(), yang berarti anotasi harus dipanggil dari thread utama. (I192f3)Menambahkan
PreviewView.setScaleType()yang memungkinkan untuk menetapkan jenis skala pratinjau. Kode ini menerima salah satu nilai dalamPreviewView.ScaleType, dan default-nya adalahPreviewView.ScaleType.FILL_CENTER.PreviewView.getScaleType()ditambahkan.Menghapus dukungan untuk menetapkan mode penerapan untuk
PreviewViewdalam tata letak XML menggunakan atributimplementationMode.Menambahkan
createMeteringPointFactory()API ke PreviewView untuk mendukung konversi (x, y) diPreviewViewuntukMeteringPoint. (Ib36d7)
Perbaikan Bug
- Memperbaiki kasus yang menampilkan pratinjau yang salah setelah ukuran
PreviewViewberubah. (I71101)
Camera-Extensions Versi 1.0.0-alpha08
26 Februari 2020
androidx.camera:camera-extensions:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit berikut ini.
Camera-View Versi 1.0.0-alpha08
26 Februari 2020
androidx.camera:camera-view:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit berikut ini.
Perbaikan Bug
- Mengganti
ListenableFuturediSurfaceRequest.provideSurface()denganExecutordanCallback. Hal ini menyederhanakan API dengan tidak lagi memerlukan penanganan pengecualian padaprovideSurface()dan pemberlakuan yang tidak dapat dibatalkan oleh callbackprovideSurface(). Hal ini untuk mencegah error pada perangkat lama yang disebabkan oleh pelepasan permukaan terlalu cepat. ObjekSurfaceRequest.Resultsekarang digunakan untuk melacak bagaimanaSurfaceRequestmenggunakanSurfaceyang disediakan. (I7854b) - Mengganti nama
SurfaceRequest.setSurface(Surface)menjadiSurfaceRequest.provideSurface(Surface), danSurfaceRequest.setWillNotComplete()menjadiSurfaceRequest.willNotProvideSurface(). (I224fe) - Memperbaiki inisialisasi varian aplikasi dengan ProGuard yang diaktifkan dengan mempertahankan
flag yang menetapkan penyedia
CameraXConfigdefault. (I2d6c1)
Camera-Extensions Versi 1.0.0-alpha07
10 Februari 2020
androidx.camera:camera-extensions:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.
Perbaikan Bug
- Argumen yang sebelumnya diteruskan dalam
ImageCapture.OnImageSavedCallback.onError()danImageCapture.OnImageCapturedCallback.onError()sekarang telah diganti dengan satu argumenImageCaptureException, yang masih berisi semua informasi yang sebelumnya diteruskan. - Argumen file yang sebelumnya diteruskan dalam
ImageCapture.OnImageSavedCallback.onImageSaved()telah dihapus. (I750d2)
Camera-View Versi 1.0.0-alpha07
10 Februari 2020
androidx.camera:camera-view:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.
Perubahan API
- Implementasi
TextureViewPreviewViewsekarang menetapkan ukuranTextureViewke ukuran output sensor kamera sebelum menskalakannya agar mengisiPreviewViewinduknya. Jika Anda ingin agar pratinjau kamera mengisi seluruh bagian UI (misalnya satu layar penuh), sebaiknya jangan tetapkan ukuranPreviewViewke nilai yang tetap, atau membuatnya menggabungkan kontennya (misalnya dengan menggunakan atribut "wrap_content"). Hal ini dapat membuat pratinjau kamera hanya mengisi bagianPreviewView(jika ukuran output sensor kamera lebih kecil). Sebagai gantinya, Anda harus menetapkanPreviewViewsebesar induknya (misalnya, dengan menggunakan atribut "match_parent"). (1204869)
Perbaikan Bug
- Memperbarui
ImageCaptureuntuk memungkinkan penyimpanan gambar keUridanOutputStream. Menggabungkan metodetakePictureyang kelebihan muatan menjadi satu. Mengupdate aplikasi pengujian untuk menggunakanUrisebagai contoh kanonis. (Ia3bec) Preview.PreviewSurfaceProviderdiganti namanya menjadiPreview.SurfaceProvider.SurfaceProvidertidak lagi mengharuskan developer membuatListenableFuture-nya sendiri, dan penyediaanSurfacesekarang dilakukan melalui objekSurfaceRequestyang baru. MetodePreview.getPreviewSurfaceProvider()telah dihapus karena berpotensi untuk disalahgunakan saatPreviewdipasangkan dengan class lain sepertiPreviewView. (I20105)- Argumen yang sebelumnya diteruskan dalam
ImageCapture.OnImageSavedCallback.onError()danImageCapture.OnImageCapturedCallback.onError()sekarang telah diganti dengan satu argumenImageCaptureException, yang masih berisi semua informasi yang sebelumnya diteruskan. - Argumen file yang sebelumnya diteruskan dalam
ImageCapture.OnImageSavedCallback.onImageSaved()telah dihapus. (I750d2) - Mengupdate API dengan metode
getZoomRatio(),getMaxZoomRatio(),getMinZoomRatio(), dangetLinearZoom()dariCameraInfoyang digabungkan menjadigetZoomState()yang menampilkan instanceZoomState. (Ib19fe)
Camera-Extensions Versi 1.0.0-alpha06
22 Januari 2020
androidx.camera:camera-extensions:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.
Update
- Berbagai perbaikan dan update untuk mendukung perubahan Camera Core & Camera2.
Camera-View Versi 1.0.0-alpha06
22 Januari 2020
androidx.camera:camera-view:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.
Update
- Berbagai perbaikan dan update untuk mendukung perubahan Camera Core & Camera2.
Camera-Extensions Versi 1.0.0-alpha05
18 Desember 2019
androidx.camera:camera-extensions:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit berikut ini.
Perbaikan Bug
- Diupdate agar sesuai dengan Camera Core API internal.
Camera-View Versi 1.0.0-alpha05
18 Desember 2019
androidx.camera:camera-view:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit berikut ini.
Masalah Umum
- Rasio lebar tinggi mungkin salah saat menggunakan PreviewView (b/146215202).
Fitur Baru
- Mengimplementasikan class baru yang disebut
PreviewView.TextureViewImplementation, yang menyinkronkan siklus proses SurfaceTexture dengan penggunaan permukaan TextureView oleh kamera.
Camera-Extensions Versi 1.0.0-alpha04
4 Desember 2019
androidx.camera:camera-extensions:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 dari camera-extensions berisi commit ini
Perubahan API
Memeriksa ketersediaan dan mengaktifkan ekstensi kini akan menggunakan
CameraSelectorsebagai parameter input.CameraSelectorharus sama dengan yang digunakan untuk mengaitkan kasus penggunaan.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)Anda harus menginisialisasi ekstensi sebelum menggunakan library ekstensi.
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 Versi 1.0.0-alpha04
4 Desember 2019
androidx.camera:camera-view:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 dari camera-view berisi commit ini
Perubahan API
- Class
PreviewViewdisediakan untuk memudahkan proses menampilkan output dari kasus penggunaan Pratinjau dalam aplikasi. PreviewViewdapat disertakan dalam tata letak:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />PreviewViewmenyediakanPreviewSurfaceProvideruntuk memudahkan proses menghubungkan kasus penggunaan Pratinjaupreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)“
ZoomLevel” kini menjadi “ZoomRatio” dalam penamaan APIBeberapa parameter metode telah mengubah nullability
Camera-Extensions dan Camera-View Versi 1.0.0-alpha03
9 Oktober 2019
androidx.camera:camera-extensions:1.0.0-alpha03 dan androidx.camera:camera-view:1.0.0-alpha03 dirilis. Ini adalah commit yang disertakan dalam camera-extensions:1.0.0-alpha03 dan yang disertakan dalam camera-view:1.0.0-alpha03.
Fitur Baru
- Menambahkan penginisialisasi Context untuk ekstensi. Versi ekstensi ditingkatkan menjadi 1.1.0
Camera-Extensions dan Camera-View Versi 1.0.0-alpha02
5 September 2019
androidx.camera:camera-extensions:1.0.0-alpha02 dan
androidx.camera:camera-view:1.0.0-alpha02 dirilis. Berikut adalah
commit yang disertakan dalam camera-extensions:1.0.0-alpha02,
dan commit yang disertakan dalam
camera-view:1.0.0-alpha02.
- Menambahkan pengujian untuk memverifikasi bahwa
PreviewImageProcessorImpltelah mengimplementasikan stempel waktu dengan benar. - Memperbaiki kegagalan pengujian
ExtensionTestdi Nexus 5 (API level 21) dan memastikan pratinjau tersedia.
Camera-Extensions dan Camera-View Versi 1.0.0-alpha01
7 Agustus 2019
androidx.camera:camera-extensions:1.0.0-alpha01 dan
androidx.camera:camera-view:1.0.0-alpha01 dirilis.
Berikut adalah
commit yang disertakan dalam camera-extensions:1.0.0-alpha01,
dan commit yang disertakan dalam
camera-view:1.0.0-alpha01
- Library baru untuk Camera Extensions mendatang untuk mengakses efek di perangkat yang didukung. Library ini masih dalam pengembangan.
- Class Camera View baru. Library ini masih dalam pengembangan.