Włączenie lampy błyskowej urządzenia podczas sesji AR może poprawić widoczność.
Sprawdź, czy bieżąca konfiguracja aparatu obsługuje lampę błyskową
Nie wszystkie konfiguracje kamery obsługują stosowanie lampy błyskowej. Zanim włączysz lampę błyskową lub umożliwisz użytkownikom włączenie lampy, upewnij się, że jest ona dostępna w przypadku aktywnej konfiguracji aparatu:
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
Włącz lampę błyskową.
Włącz jednostkę Flash, konfigurując sesję AR za pomocą
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 }) }
Wyłączanie lampy błyskowej
Wyłącz jednostkę flash, konfigurując sesję AR za pomocą
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 })