android - 如何为在cameraX中完成的焦点添加监听器
问题描述
我正在尝试在 CameraX 上实现手动对焦。但我不知道如何检查 startFocusAndMetering 是否完成。
我尝试过这样的事情
val focusListenableFuture = camera?.cameraControl?.startFocusAndMetering(action)
我发现有一个方法isDone()可以检查天气聚焦是否完成
如何将它与focusListenableFuture?.addListener()一起使用来监听天气聚焦是否完成
解决方案
您可以使用FocusMeteringResult#isFocusSuccessful()
:
如果自动对焦成功则返回。
如果在 FocusMeteringAction 中请求 AF 但当前相机不支持 AF,则返回 true。如果没有请求 AF,它将返回 false。
val focusListenableFuture = camera?.cameraControl?.startFocusAndMetering(action)
focusListenableFuture.addListener( {
val result = focusListenableFuture.get()
val isSuccessful = result.isFocusSuccessful
}, ContextCompat.getMainExecutor(context))
推荐阅读
- solr - 云实现中的 Zookeeper
- react-native - React Native将图像上传到服务器在android中失败
- react-native - React-Native-Android:按下一个按钮,该按钮将根据按下的按钮更改文本
- css-selectors - CSS 选择器 - 获取下一个元素
- c - C 格式说明符指南
- excel - 如何通过excel宏四舍五入特定范围值
- python - 多层引发的烧瓶测试异常(视图和处理程序)
- c# - DateTime 变量设置为空
- qml - QML GridLayout 填充不适用于跨度
- docker - 如何将命令或busybox挂载到docker容器?