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

Bir AR oturumu sırasında cihazın flaş birimini etkinleştirmek, görünürlüğü iyileştirmeye yardımcı olabilir.

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

Bazı kamera yapılandırmaları, flaş birimini etkinleştirmeyi 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 ile yapılandırarak flaş birimini etkinleştirin:

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