使用android.hardware.Camera类来拍照片。具体步骤如下:
a、获取Camera实例对象,
Camera camera = Camera.open();
或者,Camera camera = Camera.open(int cameraId);
cameraId表示camera设备号,即与指定的camera进行连接锁定和准备 使用。
b、获取指定相机参数,
Camera.Parameters parameters = camera.getParameters();
c、如果有必要重新设置相机参数,可进行如下编码:
parameters.setXXX();
camera.setParameters(prarameters);
d、如果想要以一定的角度摄像,可调用一下函数:
camera.setDiaplayOrientation(int degrees);
degrees的有效值只有0(横屏),90,180,270。
e、通过完全初始化SurfaceHolder去调用setPreviewDisp (SurfaceHolder)来预览图片。
f、调用startPreview()开始更新surface,并且预览必须在你拍照 片之前开始。
g、调用takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback)去捕获图片。并且,等待callbacks提供 实际的图片数据。
h、得到一张照片后,预览将会停止,如果还想去再照一张照片,就要调用 startPreview()。
i、如果要退出,就因该依次调用stopPreview()和release()。
注意:在使用Camera时,必须要用如下权限android.permission.CAMERA。并且,还可根据需要设置相应的照相机特点,如:
<uses-feature android:name="android.hardware.camera" />//应用程序使用Camera设备。
<uses-feature android:name="android.hardware.camera.autofocus" />//设置Camera能够自动对焦。