Camera2 API - AF_STATE无法达到任何已锁定状态

时间:2017-12-08 10:13:18

标签: android camera android-camera android-camera2 autofocus

来自doccamera2basic example(此问题主要基于此相机2基本示例)

captureCallback中,captureStillPicture()将在afState达到锁定状态后执行,即下列其中一项:

(1)CONTROL_AF_STATE_NOT_FOCUSED_LOCKED
(2)CONTROL_AF_STATE_FOCUSED_LOCKED

如果没有缩放功能,它可以正常工作。在captureCallback中,afState始终可以达到上述两种状态之一,因此始终触发captureStillPicutre

然而,在我实施zoom feature之后:

  • 如果我先拍照,然后再缩放,然后再尝试拍照,则第二次试用无法达到锁定状态。它仍然在CONTROL_AF_STATE_PASSIVE_FOCUSED。
  • 如果我缩放,然后拍摄第一张照片,可以聚焦第一张照片。但如果我再试一次(即使没有改变缩放级别),第二次试用也无法达到锁定状态。它仍然在CONTROL_AF_STATE_PASSIVE_FOCUSED。
  • 如果我根本不放大,则所有尝试都可以达到锁定状态。

此外,我观察到在我的测试用例2中(缩放并拍摄第一张照片),相机试图通过改变其焦距来对焦(您可以观察到预览从模糊变为清晰)。但这种现象在第二次试验中不会发生。

camera2的代码很长,但您仍然可以查看我的代码here 当用户点击快门按钮时,将执行takePicture(),因此lockFocus()等等。

非常感谢有人可以提供帮助!!

0 个答案:

没有答案