我如何在camera2中启用默认的手电筒关闭或打开功能,我可以像默认相机一样在其中启用设置选项吗?
我看到了一些像这里和这里的例子,但他们使用自己的按钮来打开或关闭闪光灯,这里我想通过启用它来使用默认的按钮
如有任何建议,我们将不胜感激。
您需要将相机的自动曝光模式设置为使用闪光灯的模式之一;通常是AE_MODE_ON_AUTO_FLASH或AE_MODE_ON_ALWAY_FLASH。
您可以通过AE_available_modes检查设备上的可用模式。
然后,在进行主图像捕获之前,您需要使用AE预捕获触发器,以便可以发射预闪光以精确控制闪光亮度。
- 确保您的预览请求具有所需的AE闪光模式,并将其设置为捕获会话的重复请求
- 使用预览设置创建一个新的捕获请求生成器
- 将该生成器的预捕获触发器设置为START
- 使用该构建器创建一个请求,并使用它调用CameraCaptureSession.capture()
- 等待PRECAPTURE的AE_STATE出现和消失;在此期间,相机设备可以点亮闪光灯以测量其需要有多亮
- AE_STATE_PRECAPTURE结束后,使用STILL_capture模板发出高分辨率捕获请求(该模板将捕获意图控制设置为STILL_capture,触发主闪光)
Camera2Basic示例包括闪存操作的所有这些,作为后续示例。如果设备支持,则使用AE_MODE_AUTO_FLASH。