Wenn Sie den Blitz des Geräts während einer AR-Sitzung aktivieren, kann das die Sichtbarkeit verbessern.
Prüfen, ob die aktuelle Kamerakonfiguration den Blitz unterstützt
Nicht alle Kamerakonfigurationen unterstützen die Aktivierung eines Blitzes. Bevor Sie den Blitz aktivieren oder Nutzern die Möglichkeit dazu geben, prüfen Sie, ob der Blitz für die aktive Kamerakonfiguration verfügbar ist:
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
Blitz aktivieren
Aktivieren Sie den Blitz, indem Sie die AR-Sitzung mit Config.FlashMode.TORCH
konfigurieren:
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 }) }
Blitz deaktivieren
Deaktivieren Sie den Blitz, indem Sie die AR-Sitzung mit Config.FlashMode.OFF
konfigurieren:
Java
Config config = session.getConfig(); config.setFlashMode(Config.FlashMode.OFF); session.configure(config);
Kotlin
session.configure(session.config.apply { flashMode = Config.FlashMode.OFF })