摄像机android

来源:互联网 发布:勃朗宁xbolt猎枪数据 编辑:程序博客网 时间:2024/06/11 22:38
public class MainActivity extends Activity {
    private SurfaceView sv;
    private Preview mPreview;

    @Override
    protected void onStart() {
        super.onStart();
        Preview mPreview = new Preview(this);
        setContentView(mPreview);

    }

    @Override
    protected void onStop() {
        super.onStop();
    }

    class Preview extends SurfaceView implements SurfaceHolder.Callback {

        private SurfaceHolder mHolder;
        private Camera mCamera;

        public Preview(Context context) {
            super(context);
            mHolder = getHolder();
            mHolder.addCallback(this);
            mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        }

        public void surfaceCreated(SurfaceHolder holder) {
            try {
                mCamera = Camera.open();
                mCamera.setPreviewDisplay(holder);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        public void surfaceDestroyed(SurfaceHolder holder) {
            mCamera.stopPreview();
            mCamera = null;
        }

        public void surfaceChanged(SurfaceHolder holder, int format, int w,
                int h) {
            Camera.Parameters parameters = mCamera.getParameters();
            parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
            parameters.setPreviewSize(h,w );
            mCamera.setParameters(parameters);
            mCamera.setDisplayOrientation(90);
            mCamera.startPreview();
            
        }

    }
}

原创粉丝点击