配置CameraX(闪光模式、自动白平衡模式、动作模式等)

mas*_*shi 2 android android-camera2 android-camerax

我已经成功实现了 CameraX,但是,我仍停留在配置其设置上。我想设置自动白平衡、降噪、闪光和对焦模式(就像在 Camera2 中一样)。到目前为止,我在 SO 上发现的唯一内容仅涉及 Camera2,官方文档也没有告诉我太多信息。是否可以在 CameraX 上设置这些模式,或者到目前为止仅支持 Camera2?

小智 6

你是对的,文档相当差(我想是因为该库直到最近才处于 alpha 状态)。

要更改闪光模式:

ImageCapture绑定时保留对对象的引用:

    imageCapture = ImageCapture.Builder()
        .setFlashMode(ImageCapture.FLASH_MODE_AUTO)
        .setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY)
        .setTargetAspectRatio(aspectRatio)
        .setTargetRotation(rotation)
        .build()
Run Code Online (Sandbox Code Playgroud)

当您想要更改闪光灯模式时(例如,当用户点击闪光灯图标时):

flashMode = ImageCapture.FLASH_MODE_OFF
Run Code Online (Sandbox Code Playgroud)

焦点和测光涉及更多一些,您可以在此处查看您应该使用的类。

至于降噪和白平衡,我相信你仍然需要使用Camera2库。

implementation "androidx.camera:camera-camera2:${camerax_version}"