使用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能夠自動對焦
摘自 tianshijianbing1989的專欄