配置 CameraX(闪光模式、自动白平衡模式、动作模式等)
Configure CameraX (flash mode, auto white balance mode, action mode etc)
我已经成功实施了 CameraX,但是,我仍然坚持配置它的设置。我想设置自动白平衡、降噪、闪光灯和对焦模式(就像在 Camera2 中一样)。到目前为止,我在 SO 上发现的唯一内容仅涉及 Camera2,官方文档也没有告诉我太多信息。甚至可以在 CameraX 上设置这些模式,还是目前仅支持 Camera2?
你是对的,文档很差(我想是因为该库直到最近才处于 alpha 阶段)。
要更改闪光灯模式:
绑定时保留对 ImageCapture
对象的引用:
imageCapture = ImageCapture.Builder()
.setFlashMode(ImageCapture.FLASH_MODE_AUTO)
.setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY)
.setTargetAspectRatio(aspectRatio)
.setTargetRotation(rotation)
.build()
当您想要更改闪光灯模式时(例如,当用户点击闪光灯图标时):
flashMode = ImageCapture.FLASH_MODE_OFF
对焦和测光有点复杂,你可以看到 类 你应该使用 here。
至于降噪和白平衡,我相信你还是需要用到Camera2的库。
implementation "androidx.camera:camera-camera2:${camerax_version}"
我已经成功实施了 CameraX,但是,我仍然坚持配置它的设置。我想设置自动白平衡、降噪、闪光灯和对焦模式(就像在 Camera2 中一样)。到目前为止,我在 SO 上发现的唯一内容仅涉及 Camera2,官方文档也没有告诉我太多信息。甚至可以在 CameraX 上设置这些模式,还是目前仅支持 Camera2?
你是对的,文档很差(我想是因为该库直到最近才处于 alpha 阶段)。
要更改闪光灯模式:
绑定时保留对 ImageCapture
对象的引用:
imageCapture = ImageCapture.Builder()
.setFlashMode(ImageCapture.FLASH_MODE_AUTO)
.setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY)
.setTargetAspectRatio(aspectRatio)
.setTargetRotation(rotation)
.build()
当您想要更改闪光灯模式时(例如,当用户点击闪光灯图标时):
flashMode = ImageCapture.FLASH_MODE_OFF
对焦和测光有点复杂,你可以看到 类 你应该使用 here。
至于降噪和白平衡,我相信你还是需要用到Camera2的库。
implementation "androidx.camera:camera-camera2:${camerax_version}"