【问题标题】:Android camera2 enable auto flashlightAndroid camera2启用自动手电筒
【发布时间】:2017-11-09 05:38:47
【问题描述】:

如何在 camera2 中启用默认手电筒关闭或打开功能,我可以像默认相机一样启用其中的设置选项吗?

我看到了一些像herehere 这样的例子,但是他们使用自己的按钮来打开或关闭闪光灯,这里我想通过启用它来使用默认按钮。

任何建议将不胜感激。

【问题讨论】:

  • 不清楚您所说的“默认手电筒”是什么意思?你的意思是拍照时自动闪光?
  • 没错..automatically firing the flash when taking pictures天黑时

标签: android android-camera2 flashlight camera-flash


【解决方案1】:

您需要将相机的自动曝光模式设置为使用闪光灯的模式之一;一般是AE_MODE_ON_AUTO_FLASHAE_MODE_ON_ALWAYS_FLASH

您可以通过AE_AVAILABLE_MODES查看您的设备上可用的模式。

那么您需要在进行主图像捕获之前使用AE precapture trigger,以便可以触发预闪来精确控制闪光亮度。

  1. 确保您的预览请求具有所需的 AE 闪光模式,并将其设置为捕获会话的重复请求。
  2. 使用您的预览设置创建一个新的捕获请求构建器。
  3. 将该构建器的预捕获触发器设置为 START
  4. 使用该构建器创建一个请求,并使用它调用 CameraCaptureSession.capture()
  5. 等待PRECAPTURE的AE_STATE出现和消失;在此期间,相机设备可能会点亮闪光灯以测量它需要达到的亮度。
  6. AE_STATE_PRECAPTURE 结束后,使用 STILL_CAPTURE 模板发出高分辨率捕捉请求(它将捕捉意图控制设置为 STILL_CAPTURE,触发主闪光灯闪光)。

Camera2Basic 示例包括所有这些用于闪存操作的示例,作为后续示例。如果设备支持,它会使用 AE_MODE_AUTO_FLASH。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    相关资源
    最近更新 更多