55

カメラが静止するとすぐにAndroidカメラにオートフォーカスしたい。その方法のチュートリアルやサンプル、またはそのようなイベントにフックするために使用できるクラスを示す少なくとも小さなサンプルを探しています。

4

6 に答える 6

63

Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEOまたはを使用してみてくださいCamera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE。下記参照:

Camera.Parameters params = camera.getParameters();
if (params.getSupportedFocusModes().contains(
    Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
  params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
}
camera.setParameters(params);

選択したモードを使用する前に、電話がサポートしているかどうかをテストすることが重要です。サポートしていない場合setParameters()、実行時例外がスローされます。(編集コードが正常に動作するようになりました)

于 2015-02-08T01:03:47.290 に答える
7

ここで説明されているように、連続オートフォーカスを行う必要があるようです。

こちらに参考になる質問があります。

于 2013-03-25T21:01:04.963 に答える
0

コードを試すことができます:

ShutterCallback _pfnShutterCallback = new ShutterCallback() {

        @Override
        public void onShutter() {
            // TODO Auto-generated method stub

        }

    };

    PictureCallback _pfnRawPictureCallback = new PictureCallback() {

        @Override
        public void onPictureTaken(byte[] data, Camera camera) {
            // TODO Auto-generated method stub

        }
    };

    private AutoFocusCallback _pfnAutoFocusCallback = new AutoFocusCallback() {

        @Override
        public void onAutoFocus(boolean success, Camera camera) {
            // TODO Auto-generated method stub
            camera.autoFocus(null);
            camera.takePicture(_pfnShutterCallback, _pfnRawPictureCallback,
                    mPicture);

        }
    };
    private PictureCallback mPicture = new PictureCallback() {

        public void onPictureTaken(byte[] data, Camera camera) {
            new SavePhotoTask().execute(data);
            camera.startPreview();

        }
    };
class SavePhotoTask extends AsyncTask<byte[], String, String> {
// Process save file image
}

コール キャプチャ :mCamera.autoFocus(autoFocusCallback);

参照できます: http://android-er.blogspot.com/2011/01/start-camera-auto-focusing-autofocus.html

于 2014-06-02T11:03:57.387 に答える