Androidアプリでは、フォーカスモードがFOCUS_MODE_CONTINUOUS_PICTURE.
に設定されています。Androidカメラのオートフォーカスがしばらくしてから動作を停止する
private Camera.AutoFocusCallback _cbAutoFocus = new Camera.AutoFocusCallback() {
private int _count = 0;
@Override
public void onAutoFocus(boolean success, Camera camera) {
if (success) {
_count++;
if ((_count % 500) == 0) {
Log.d("MyCam Focus", Integer.toString(_count));
}
_camera.cancelAutoFocus();
}
_camera.autoFocus(_cbAutoFocus);
}
};
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
try {
if (this._camera != null) {
this._camera.setPreviewDisplay(holder);
this._camera.startPreview();
this._camera.autoFocus(this._cbAutoFocus);
}
}catch(Exception e) {
Log.e("Camera Surface change", e.getMessage());
}
}
カメラを印刷したテキストの上に移動すると、しばらくの間、カメラが自動的に適切にフォーカスしているように見えます。しかし、しばらくするとフォーカスが止まり、onAutoFocus
コードでは成功しません。誰かが洞察力を持っているかどうか分かります。よろしく。
私がautofocus()をもう一度呼び出さないと、最初の実行後にコールバックが呼び出されることはありません。 – Peter