Android CameraX拍摄开始后如何更改相机参数?

问题描述

我正在使用Android CameraX API。如何更改相机曝光(CONTROL_AE_REGIONS和CONTROL_AE_EXPOSURE_COMPENSATION参数)?

我发现发送Camera2Interop.Extender用法CaptureRequests,但是所有示例都展示了如何在构建相机捕获参数时使用它:

    val builder = ImageAnalysis.Builder()
    val camera2InterOp = Camera2Interop.Extender(builder)
    camera2InterOp.setCaptureRequestOption(CaptureRequest.CONTROL_AE_MODE,CameraMetadata.CONTROL_AE_MODE_ON).setCaptureRequestOption(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION,exposure)
    builder.build()

相机启动后如何控制拍摄参数?如何即时更改AE(或可能发送相机请求)

谢谢。

解决方法

这两个

https://android-review.googlesource.com/c/platform/frameworks/support/+/1325716

https://android-review.googlesource.com/c/platform/frameworks/support/+/1310574

好像合并了,

cameraX 中的更改现在可用吗。

我想解决启动后动态改变相机参数的用例;

特别是我希望能够在 .build() 之后进行 AE LOCK 如下

camera2InterOp.setCaptureRequestOption(CaptureRequest.CONTROL_AE_LOCK,true)    
val builder = imageAnalyzer.setTargetResolution(Size(480,360)).build()

任何帮助将不胜感激