/**
* 监听器:当图片捕获后调用
*/
public interface OnPhotoCapturedListener {
void onPhotoCaptured (Bitmap bitmap);
}
/**
* 设置照片捕获成功的监听器
*/
public void setOnPhotoCapturedListener (OnPhotoCapturedListener listener) {
this.listener = listener;
}
/**
* 抓取照片
*/
public boolean startCapturePhoto () {
if (isOpened == false) {
return false;
}
camera.startPreview();
camera.takePicture(null, null, new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] imgData, Camera camera) {
if (listener != null) {
Bitmap bitmap = BitmapFactory.decodeByteArray(imgData, 0, imgData.length);
listener.onPhotoCaptured(bitmap);
bitmap.recycle();
}
}
});
return true;
}
/**
* 设置Holder
*/
public void setSurfaceHolder (SurfaceHolder holder) {
try {
camera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
}