Bir AR oturumu sırasında cihazın flaş birimini etkinleştirmek, görünürlüğü iyileştirmeye yardımcı olabilir.
Mevcut kamera yapılandırmasının flaşı desteklediğinden emin olun
Bazı kamera yapılandırmaları, flaş birimini etkinleştirmeyi desteklemez. Flash'ı etkinleştirmeden veya kullanıcılara flaşı etkinleştirme seçeneği sunmadan önce flaş biriminin aktif kamera için bulunduğundan emin olun. yapılandırma:
Java
boolean flashAvailable; try { CameraManager cameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE); CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(session.getCameraConfig().getCameraId()); flashAvailable = characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE); } catch (Exception e) { flashAvailable = false; }
Kotlin
val flashAvailable = runCatching { val cameraManager = context.getSystemService(Context.CAMERA_SERVICE) as CameraManager val characteristics = cameraManager.getCameraCharacteristics(session.cameraConfig.cameraId) characteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE) } .getOrNull() ?: false
Flaş birimini etkinleştirin
AR oturumunu Config.FlashMode.TORCH
ile yapılandırarak flaş birimini etkinleştirin:
Java
if (flashAvailable) { Config config = session.getConfig(); config.setFlashMode(Config.FlashMode.TORCH); session.configure(config); }
Kotlin
if (flashAvailable) { session.configure(session.config.apply { flashMode = Config.FlashMode.TORCH }) }
Flaş birimini devre dışı bırakın
AR oturumunu
Config.FlashMode.OFF
:
Java
Config config = session.getConfig(); config.setFlashMode(Config.FlashMode.OFF); session.configure(config);
Kotlin
session.configure(session.config.apply { flashMode = Config.FlashMode.OFF })