【问题标题】:Android Camera API 2 Auto Focus on Front CameraAndroid Camera API 2 前置摄像头自动对焦
【发布时间】:2016-09-02 23:26:09
【问题描述】:

我正在使用 Android 中的 Camera API 2 并尝试应用自动对焦功能。自动对焦在后置摄像头上工作正常,但在前置摄像头上却不行。

(我使用的是 Android 5.1 和 6.0 设备)

详情:

这是启动自动对焦的触发器:

mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_START);

这是 CameraCaptureSession.CaptureCallback

 Integer afState = result.get(CaptureResult.CONTROL_AF_STATE);

如果我使用前置摄像头,afState 的值始终为 0(不活跃)。但是对于后置摄像头,该值从 2(CONTROL_AF_STATE_PASSIVE_FOCUSED - 尝试对焦)更改为 4(当对焦成功时为 CONTROL_AF_STATE_FOCUSED_LOCKED)或 5(当对焦不成功时为 CONTROL_AF_STATE_NOT_FOCUSED_LOCKED)。

你们知道为什么我不能在前置摄像头上使用自动对焦吗?

【问题讨论】:

    标签: android camera autofocus front-camera camera-api


    【解决方案1】:

    我相信您的前置摄像头没有自动对焦功能。 要检查这一点,您可以执行

    int[] afAvailableModes = cameraCharacteristics.get(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES);
    

    如果唯一可用的自动对焦模式是CameraMetadata.CONTROL_AF_MODE_OFF,则表示您的相机有定焦镜头。根据documentation,当android.control.afModeAF_MODE_OFFAF_MODE_EDOF 时,状态将始终保持INACTIVE

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      相关资源
      最近更新 更多