הפעלת יחידת הפלאש של המכשיר במהלך סשן AR יכולה לשפר את הניראות.
בודקים אם הגדרות המצלמה הנוכחיות תומכות בפלאש
לא כל הגדרות המצלמה תומכות בהפעלת יחידת פלאש. לפני שמפעילים את הפלאש או מציעים למשתמשים להפעיל אותו, צריך לוודא שיחידת הפלאש זמינה בתצורת המצלמה הפעילה:
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
הפעלת יחידת הפלאש
מפעילים את יחידת הפלאש על ידי הגדרת סשן ה-AR באמצעות Config.FlashMode.TORCH
:
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 }) }
השבתת יחידת הפלאש
משביתים את יחידת הפלאש על ידי הגדרת סשן ה-AR באמצעות 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 })