0

コードに問題があります。カメラを起動してキャプチャする必要があるので、ここに私のコードがあります。私の問題は、カメラがランドスケープモードやストレッチなどの奇妙なビューで開始することです。

 mVideoCaptureView = (SurfaceView) findViewById(R.id.cameraView);
        SurfaceHolder videoCaptureViewHolder = mVideoCaptureView.getHolder();
        videoCaptureViewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        videoCaptureViewHolder.addCallback(new Callback() {
            public void surfaceDestroyed(SurfaceHolder holder) {
            }

            public void surfaceCreated(SurfaceHolder holder) {
                startVideo();
            }

            public void surfaceChanged(SurfaceHolder holder, int format,
                    int width, int height) {
            }
        }); 

startVideo()機能

private void startVideo() {
        if(mCamera != null) return;
        SurfaceHolder videoCaptureViewHolder = null;
        try {
            mCamera = Camera.open();
        } catch (RuntimeException e) {
            Log.e("CameraTest", "Camera Open filed");
            return;
        }
        mCamera.setErrorCallback(new ErrorCallback() {
            public void onError(int error, Camera camera) {
            }
        }); 
        Camera.Parameters parameters = mCamera.getParameters();
        parameters.setPreviewFrameRate(30);

        mCamera.setParameters(parameters);
        if (null != mVideoCaptureView)
            videoCaptureViewHolder = mVideoCaptureView.getHolder();
        try {
            mCamera.setPreviewDisplay(videoCaptureViewHolder);
        } catch (Throwable t) {
        }

        try {
            mCamera.startPreview();
        } catch (Throwable e) {
            mCamera.release();
            mCamera = null;
            return;
        }
    }

また、私は自分自身を追加する必要がありますbuttonsImageButtonsカメラビューでありがとう英語をごめんなさい

4

1 に答える 1

0

Camera`camera.setDisplayOrientation(90);にいくつかの関数がありました。ここからもらった

于 2012-10-31T08:09:10.677 に答える