java - 为什么我得到 result.get(CaptureResult.CONTROL_AF_STATE); == 无效?

标签 java android camera android-camera

我在 Samsung S5 上使用 camera2API,如果我尝试获取焦点状态,我会得到值 0,它等于 CaptureResult.CONTROL_AF_STATE_INACTIVE ...

有一段代码:

private void process(CaptureResult result) {
        switch (mState) {
            case CameraHelper.STATE_PREVIEW: {
                // We have nothing to do when the camera preview is working normally.

here i get ---> Integer afState = result.get(CaptureResult.CONTROL_AF_STATE);

                if (CaptureResult.CONTROL_AF_TRIGGER_START == afState) {
                    if (areWeFocused) {
                        Log.e("---!!! HERE !!!--- :", String.valueOf(areWeFocused));
                    }else {
                    }
                }

                if (CaptureResult.CONTROL_AF_STATE_PASSIVE_FOCUSED == afState) {
                    areWeFocused = true;
                } else {
                    areWeFocused = false;
                }

                break;
            }

但我也尝试在我的 Meizu MX5 上测试它,我得到 1 - CaptureResult.CONTROL_AF_TRIGGER_START2 - CaptureResult.CONTROL_AF_STATE_PASSIVE_FOCUSED

问题是:我的代码有什么不同?为什么我在一种情况下得到 0 而在另一种情况下得到 1 或 2

最佳答案

我知道这是一个老问题,但我刚刚遇到了同样的问题。通读有关 ControlAfState 的 Android 文档(AF = Auto Focus 对于那些不知道的人,就像我一样)。如果自动对焦模式 (afMode) 设置为 AF_MODE_OFF,您将获得 Inactive 的 ControlAfState。

Android CaptureResult.CONTROL_AF_STATE

关于java - 为什么我得到 result.get(CaptureResult.CONTROL_AF_STATE); == 无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40191811/

相关文章:

java - 根据使用的相机使用 mp4parser 旋转视频

android - Camera 2 - API - 使用前置摄像头时图像捕捉不工作?

java - JPA-EclipseLink 中 @NamedQuery 和 @NamedNativeQuery 的区别

java - android java setOnClickListener 错误

android - 如何在 android 中将 Intent 从 Activity 转换为 Fragment?

android - UIL - ImageAware 被重新用于另一个图像。任务被取消

java - 如何在 JSP 中将 JavaScript 值传递给 Scriptlet?

java - 无法为处理程序 "org.jboss.as.capedwarf.api.Logger"加载类 "CAPEDWARF"

android - 方向更改时 Phonegap Android 应用程序崩溃

qt - 连接 slider 以控制 qml 相机的缩放