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