配置 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}"