camera 实例获取?
camera预览?
camera拍照?
camera与surfaceview怎么关联?
1.获取camera 实例:myCamera=Camera.open();
2.获取camera的属性:Camera.Parameters myParam = myCamera.getParameters();
3.可对parameters进行设置:
myParam.setPictureFormat(PixelFormat.JPEG);
myParam.setPictureSize(1280, 960);
myParam.setPreviewSize(960, 720);
myCamera.setDisplayOrientation(90);
myParam.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
myCamera.setParameters(myParam);
4.把camera与SurfaceView关联起来,
mPreviewSV = (SurfaceView)findViewById(R.id.previewSV);
mySurfaceHolder = mPreviewSV.getHolder();
mySurfaceHolder.setFormat(PixelFormat.TRANSLUCENT);
mySurfaceHolder.addCallback(this);
mySurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
myCamera.setPreviewDisplay(mySurfaceHolder);
5.开始预览:myCamera.startPreview();
6.拍照:myCamera.takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback)
关于takePicture (Camera.ShutterCallback shutter, Camera.PictureCallback raw, Camera.PictureCallback postview, Camera.PictureCallback jpeg)
会传入四个回调函数:1.shutter,在拍照捕获到图像后调用,可在此播放拍照的声音;
2.raw,未压缩图片时调用,可对图像的原始数据进行处理;
3.postview,在图片进行伸展时调用;
4.jpeg,对压缩图片进行处理时调用,如对压缩图片进行出来等。
7.拍照成功后会关闭预览,如果要继续拍照需再次打开预览:myCamera.startPreview()
8.停止预览:myCamera.stopPreview();
9.在使用完camera后,必须释放camera:myCamera. release()