Android SDK (Kotlin/Java) पर डिवाइस की फ़्लैश यूनिट का इस्तेमाल करें

एआर सेशन के दौरान डिवाइस की फ़्लैश यूनिट चालू करने से, ऑब्जेक्ट को बेहतर तरीके से देखा जा सकता है.

देखें कि कैमरे के मौजूदा कॉन्फ़िगरेशन में फ़्लैश की सुविधा काम करती है या नहीं

सभी कैमरा कॉन्फ़िगरेशन में, फ़्लैश यूनिट चालू करने की सुविधा काम नहीं करती. फ़्लैश चालू करने या उपयोगकर्ताओं को फ़्लैश चालू करने का विकल्प देने से पहले, यह पक्का करें कि चालू कैमरा कॉन्फ़िगरेशन के लिए फ़्लैश यूनिट उपलब्ध हो:

JavaKotlin
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;
}
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

फ़्लैश यूनिट चालू करना

Config.FlashMode.TORCH की मदद से एआर सेशन को कॉन्फ़िगर करके, फ़्लैश यूनिट चालू करें:

JavaKotlin
if (flashAvailable) {
  Config config = session.getConfig();
  config.setFlashMode(Config.FlashMode.TORCH);
  session.configure(config);
}
if (flashAvailable) {
  session.configure(session.config.apply { flashMode = Config.FlashMode.TORCH })
}

फ़्लैश यूनिट बंद करना

Config.FlashMode.OFF के साथ एआर सेशन को कॉन्फ़िगर करके, फ़्लैश यूनिट बंद करें:

JavaKotlin
Config config = session.getConfig();
config.setFlashMode(Config.FlashMode.OFF);
session.configure(config);
session.configure(session.config.apply { flashMode = Config.FlashMode.OFF })