Włączenie lampy błyskowej urządzenia podczas sesji AR może poprawić wyniki widoczność.
Sprawdź, czy bieżąca konfiguracja aparatu obsługuje lampę błyskową
Nie wszystkie konfiguracje aparatu umożliwiają włączenie lampy błyskowej. Przed włączeniem lampy błyskowej lub zaoferowaniem jej użytkownikom upewnij się, że lampa błyskowa jest dostępna dla aktywnej kamery Konfiguracja:
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łącz lampę błyskową
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 })