在我的Android应用中,我使用FOCUS_MODE_AUTO作为相机。这是唯一可靠的聚焦模式。这是我最初调用autofocus()的方法。
@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(),事情似乎有效。是什么赋予了?问候。
答案 0 :(得分:0)
我选择了SensorEventListener,我们的客户都喜欢它。无论何时用户想要重新聚焦,他们只需稍微摇动设备,以便再次调用autofocus()。