Android 15 memperkenalkan Mode Eksposur Otomatis (AE) Peningkatan Cahaya Redup, mode eksposur otomatis baru yang tersedia untuk Camera 2 dan ekstensi kamera mode malam. Mode AE Peningkatan Cahaya Redup otomatis menyesuaikan kecerahan streaming Pratinjau dalam kondisi cahaya redup. Hal ini berbeda dengan cara ekstensi kamera mode malam membuat gambar diam, karena mode malam menggabungkan burst foto untuk membuat satu gambar yang ditingkatkan kualitasnya. Meskipun mode malam berfungsi sangat baik untuk membuat gambar diam, mode ini tidak dapat membuat streaming frame berkelanjutan, tetapi Mode AE Low Light Boost bisa. Dengan demikian, Mode AE Peningkatan Cahaya Rendah memungkinkan kemampuan kamera baru, seperti berikut:
- Memberikan pratinjau gambar yang lebih baik, sehingga pengguna dapat membingkai gambar dalam kondisi cahaya rendah dengan lebih baik.
- Memindai kode QR dalam kondisi minim cahaya.
Jika Anda mengaktifkan Mode AE Pengoptimalan Cahaya Redup, mode ini akan otomatis aktif saat tingkat cahaya rendah, dan nonaktif saat ada lebih banyak cahaya.
Aplikasi dapat merekam dari streaming Pratinjau dalam kondisi cahaya redup untuk menyimpan video yang lebih terang.
Anda dapat menggunakan Mode AE Peningkatan Cahaya Rendah di Camera2 atau melalui ekstensi kamera. Dokumen ini membahas cara menggunakan Mode AE Low Light Boost dengan Camera2. Anda juga dapat menggunakan Mode AE Low Light Boost dengan ekstensi kamera Mode Malam jika didukung oleh perangkat.
Periksa ketersediaan
Sebelum menggunakan Mode AE Peningkatan Cahaya Redup, pastikan mode tersebut didukung di perangkat.
Jika tersedia, Mode AE Peningkatan Cahaya Redup adalah salah satu mode eksposur yang tercantum
dalam camera2.CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES. (Peningkatan Cahaya Redup
memiliki setelan eksposur otomatisnya sendiri, karena setelan eksposur otomatis lainnya
tidak kompatibel dengan pencerahan pratinjau yang dilakukan oleh Mode AE
Peningkatan Cahaya Redup.)
Jadi, untuk memeriksa apakah Mode AE Peningkatan Cahaya Rendah tersedia, panggil
CameraCharacteristics.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES)
dan periksa apakah mode yang ditampilkan mencakup ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY:
val characteristics = cameraManager.getCameraCharacteristics(cameraId) val autoExposureModes = characteristics.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES)!! val lowLightBoostSupported = autoExposureModes.contains( CameraMetadata.CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY ) if (lowLightBoostSupported) { // Enable Low Light Boost AE Mode (next section). } else { // Proceed without Low Light Boost AE Mode. }
Mengaktifkan Mode AE Peningkatan Cahaya Redup
Untuk mengaktifkan Mode AE Peningkatan Cahaya Redup dalam sesi Camera2, tetapkan
CaptureRequest.CONTROL_AE_MODE ke
ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY. Setelah melakukannya, Anda harus
mengonfirmasi bahwa Mode AE Peningkatan Cahaya Rendah telah diaktifkan; Anda dapat melakukannya dengan memeriksa
kolom CaptureResult.CONTROL_AE_MODE. Anda perlu memeriksanya karena Mode Foto Gelap tidak kompatibel dengan semua konfigurasi kamera. Misalnya,
perekaman kecepatan tinggi tidak mendukung Mode AE Low Light Boost, karena pertimbangan
FPS. Jika Mode AE Low Light Boost tidak diaktifkan, Anda mungkin perlu
mengubah konfigurasi kamera dan mencoba lagi.
val captureRequestBuilder = camera.createCaptureRequest( CameraDevice.TEMPLATE_PREVIEW ) if (isLowLightBoostAvailable(cameraId)) { captureRequestBuilder.set( CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY ) } // other capture request params. session.setRepeatingRequest( captureRequestBuilder.build(), object : CaptureCallback() { override fun onCaptureCompleted( session: CameraCaptureSession, request: CaptureRequest, result: TotalCaptureResult ) { // verify Low Light Boost AE Mode AE mode set successfully. result.get(CaptureResult.CONTROL_AE_MODE) == CameraMetadata.CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY } }, cameraHandler )
Memantau Mode AE Peningkatan Cahaya Redup
Mode AE Peningkatan Cahaya Redup mencerahkan streaming pratinjau dalam kondisi cahaya redup,
dan tidak berpengaruh jika lingkungan sudah cukup terang untuk
pengambilan gambar normal. Anda dapat mengonfirmasi apakah Mode AE Low Light Boost saat ini
aktif dengan memeriksa kolom CaptureResult.CONTROL_LOW_LIGHT_BOOST_STATE.
Jika Anda telah mengaktifkan Mode AE Peningkatan Cahaya Redup dan saat ini aktif, kolom ini akan ditetapkan ke CameraMetadata.CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE.
Anda kemudian dapat menampilkan ikon bulan atau indikasi lain bahwa pratinjau sedang
diterangkan.
session.setRepeatingRequest( captureRequestBuilder.build(), object : CaptureCallback() { override fun onCaptureCompleted( session: CameraCaptureSession, request: CaptureRequest, result: TotalCaptureResult ) { // check if Low Light Boost AE Mode is active or inactive. if (result.get(CaptureResult.CONTROL_LOW_LIGHT_BOOST_STATE) == CameraMetadata.CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE ) { // Low Light Boost AE Mode state is active. // Show Moon Icon. } else { // Low Light Boost AE Mode state is inactive or AE mode is not set // to Low Light Boost AE Mode. // Hide Moon Icon. } } }, cameraHandler )