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şları destekleyip desteklemediğini kontrol etme
Bazı kamera yapılandırmaları flaş birimini etkinleştirmeyi desteklemez. Flaşın etkinleştirilmesinden veya kullanıcılara flaşı etkinleştirme seçeneği sunulmasından önce, flaş birimin etkin kamera yapılandırmasında kullanılabildiğinden emin olun:
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ştirme
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ırakma
AR oturumunu Config.FlashMode.OFF
ile yapılandırarak flaş birimini devre dışı bırakın:
Java
Config config = session.getConfig(); config.setFlashMode(Config.FlashMode.OFF); session.configure(config);
Kotlin
session.configure(session.config.apply { flashMode = Config.FlashMode.OFF })