try {
camera.setPreviewDisplay(surfaceHolder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 开始预览
camera.startPreview();
上面两行代码不能放在初始化的Camera里面,需要放在surfaceChanged()和surfaceCreated()方法内!!
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height){
try {
camera.setPreviewDisplay(surfaceHolder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 开始预览
camera.startPreview();
}
@Override
public void surfaceCreated(SurfaceHolder holder){
// surface被创建时打开摄像头
initCamera();
try {
camera.setPreviewDisplay(surfaceHolder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 开始预览
camera.startPreview();
}