Android 相机 - 何时调用 autofocus() 和取消 AutoFocus()



在我的安卓应用程序中,我正在使用FOCUS_MODE_AUTO作为相机。这是唯一对我可靠工作的对焦模式。以下是我最初调用自动对焦()的方式。

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
   this._camera.setPreviewDisplay(holder);
   this._camera.startPreview();
   this._camera.autoFocus(null);
}

自动对焦后,有两种情况需要重新评估焦点 - 当我移动设备和移动内容时。目前,我正在使用SensorEventListener,一旦我检测到设备上的一点运动,就会调用autoFocus()。但是,这不会捕获在设备静止时移动内容的情况。我想我可以使用 500 毫秒的计时器并继续调用 autoFocus()。只是想知道别人在做什么。

我的另一个问题是什么时候需要调用cancelAutoFocus()。 从文档中看,一旦自动对焦成功,在调用cancelAutoFocus()之前,它不应该再次自动对焦。但是,目前我根本没有调用cancelAutoFocus(),事情似乎正常。什么给?问候。

我选择了SensorEventListener,我们的客户都喜欢它。每当用户想要重新对焦时,他们只需要稍微摇晃一下设备,以便可以再次调用 autofocus()。

最新更新