Cihazın Android SDK (Kotlin/Java) flaş birimini kullanın

AR oturumu sırasında cihazın flaş biriminin etkinleştirilmesi görünürlük.

Mevcut kamera yapılandırmasının flaşı desteklediğinden emin olun

Bazı kamera yapılandırmaları, flaş biriminin etkinleştirilmesini desteklemez. Flash'ı etkinleştirmeden veya kullanıcılara flaşı etkinleştirme seçeneği sunmadan önce flaş biriminin aktif kamera için bulunduğundan emin olun. yapılandırma:

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

Flaş birimini etkinleştirin

AR oturumunu 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 })
}

Flaş birimini devre dışı bırakın

AR oturumunu 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 })