0

grafikaに問題を投稿しましたが、現在、プロジェクトを維持する人がいないようです。

CameraCaptureActivity次のように、GLSurfaceView によって実装されたを使用して、フロント/バック カメラを切り替えたいと考えています。

public boolean switchCamera() {
    releaseCamera();
    mGLView.onPause();
    if (mReqCameraId == Camera.CameraInfo.CAMERA_FACING_BACK) {
        mReqCameraId = Camera.CameraInfo.CAMERA_FACING_FRONT;
    } else {
        mReqCameraId = Camera.CameraInfo.CAMERA_FACING_BACK;
    }
    openCamera(mReqCameraId);

    mGLView.onResume();
    mGLView.queueEvent(new Runnable() {
        @Override
        public void run() {
            mRenderer.setCameraPreviewSize(mCameraPreviewWidth, mCameraPreviewHeight);
        }
    });
    return true;
}

動作しますが、最初に起動したカメラに戻ると FOV が変更されています。フレームが切れたようです。

では、前後のカメラを切り替えるときにどこを見逃したのでしょうか?

ありがとう。

PS: Google で検索しましたが、GLSurfaceView を使用した Android カメラに関する情報はほとんどありません。

4

1 に答える 1

0

@fadden のコメントとして、 を削除するsetRecordingHint(true)と、正常に動作します。

于 2015-07-15T03:51:40.780 に答える