-1

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

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

任何建议,将不胜感激。

4

1 回答 1

2

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

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

然后,您需要在进行主图像捕获之前使用AE 预捕获触发器,以便可以触发预闪以进行准确的闪光亮度控制。

  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。

于 2017-11-13T17:50:28.683 回答