অ্যান্ড্রয়েড এসডিকে (কোটলিন/জাভা) এ ডিভাইসের ফ্ল্যাশ ইউনিট ব্যবহার করুন

একটি AR সেশনের সময় ডিভাইসের ফ্ল্যাশ ইউনিট সক্ষম করা দৃশ্যমানতা উন্নত করতে সাহায্য করতে পারে।

বর্তমান ক্যামেরা কনফিগারেশন ফ্ল্যাশ সমর্থন করে তা পরীক্ষা করুন

সমস্ত ক্যামেরা কনফিগারেশন একটি ফ্ল্যাশ ইউনিট সক্রিয় করতে সমর্থন করে না। ফ্ল্যাশ সক্ষম করার আগে বা ব্যবহারকারীদের ফ্ল্যাশ সক্ষম করার বিকল্প দেওয়ার আগে, সক্রিয় ক্যামেরা কনফিগারেশনের জন্য ফ্ল্যাশ ইউনিট উপলব্ধ রয়েছে তা নিশ্চিত করুন:

জাভা

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 এর সাথে AR সেশন কনফিগার করে ফ্ল্যাশ ইউনিট সক্রিয় করুন :

জাভা

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 এর সাথে AR সেশন কনফিগার করে ফ্ল্যাশ ইউনিট নিষ্ক্রিয় করুন :

জাভা

Config config = session.getConfig();
config.setFlashMode(Config.FlashMode.OFF);
session.configure(config);

কোটলিন

session.configure(session.config.apply { flashMode = Config.FlashMode.OFF })
,

একটি AR সেশনের সময় ডিভাইসের ফ্ল্যাশ ইউনিট সক্ষম করা দৃশ্যমানতা উন্নত করতে সাহায্য করতে পারে।

বর্তমান ক্যামেরা কনফিগারেশন ফ্ল্যাশ সমর্থন করে তা পরীক্ষা করুন

সমস্ত ক্যামেরা কনফিগারেশন একটি ফ্ল্যাশ ইউনিট সক্রিয় করতে সমর্থন করে না। ফ্ল্যাশ সক্ষম করার আগে বা ব্যবহারকারীদের ফ্ল্যাশ সক্ষম করার বিকল্প দেওয়ার আগে, সক্রিয় ক্যামেরা কনফিগারেশনের জন্য ফ্ল্যাশ ইউনিট উপলব্ধ রয়েছে তা নিশ্চিত করুন:

জাভা

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 এর সাথে AR সেশন কনফিগার করে ফ্ল্যাশ ইউনিট সক্রিয় করুন :

জাভা

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 এর সাথে AR সেশন কনফিগার করে ফ্ল্যাশ ইউনিট নিষ্ক্রিয় করুন :

জাভা

Config config = session.getConfig();
config.setFlashMode(Config.FlashMode.OFF);
session.configure(config);

কোটলিন

session.configure(session.config.apply { flashMode = Config.FlashMode.OFF })