作者 : 511369384
邮箱:hljdrl@gmail.com
Android Camera 拍照
说明 :
CameraManager.java 类中 openDriver(SurfaceHolder holder)
public String openDriver(SurfaceHolder holder)
throws IOException {
String result = null;
if (camera == null) {
camera = Camera.open();
camera.setPreviewDisplay(holder);
/**
* 在android模拟器设置回出现错误,在真机上可以设置,如果在真机上不设
置,在拍照后获取照片会很慢
* */
// Camera.Parameters p =camera.getParameters();
// p.setPreviewFormat(PixelFormat.JPEG);
// p.setPreviewSize(CameraPreview.ScrrenWidth,
CameraPreview.ScrrenHeight);
// p.setPictureSize(CameraPreview.ScrrenWidth,
CameraPreview.ScrrenHeight);
// camera.setParameters(p);
}
return result;
}
注释掉的地方在手机上可以不用注释
CameraManager.java 第 129 行 -183 行代码 是获取照片数据,由于照片数据很多,数
据大的原因是因为手机摄像头拍照像素,像素越高生成的照片分辨率越高,在此需要对图片进行
缩小并压缩。
private PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
if(previewHandler!=null){
try{