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

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

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

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

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

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

एआर सेशन को इसके साथ कॉन्फ़िगर करके, फ़्लैश यूनिट चालू करें 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 })
}

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

एआर सेशन को इसके साथ कॉन्फ़िगर करके, फ़्लैश यूनिट को बंद करें 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 })