【发布时间】:2021-01-26 08:39:53
【问题描述】:
我已经成功实现了 CameraX,但是,我一直在配置它的设置。我想设置自动白平衡、降噪、闪光灯和对焦模式(就像在 Camera2 中一样)。到目前为止,我在 SO 上找到的唯一内容仅涉及 Camera2,官方文档也没有告诉我太多。是否可以在 CameraX 上设置这些模式,或者目前仅支持 Camera2?
【问题讨论】:
标签: android android-camera2 android-camerax
我已经成功实现了 CameraX,但是,我一直在配置它的设置。我想设置自动白平衡、降噪、闪光灯和对焦模式(就像在 Camera2 中一样)。到目前为止,我在 SO 上找到的唯一内容仅涉及 Camera2,官方文档也没有告诉我太多。是否可以在 CameraX 上设置这些模式,或者目前仅支持 Camera2?
【问题讨论】:
标签: android android-camera2 android-camerax
你说得对,文档很差(我想是因为该库直到最近才处于 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}"
【讨论】: