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()

任何帮助将不胜感激

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...