camera多次调用出现错误解决方法

因为项目中有用到相机拍照功能,所以研究了下camera。
在实践的过程中发现两个问题:
1、用模拟器启动不了camera,提示:java.lang.runtimeException:setparameters failed.....
    因为parameters.setPictureSize(320, 480)(设置分辨率)的参数有误,
    如果不清楚分辨率可以却掉这句话,再运行就OK 了。
    如果真的想看分辨率可以看logcat日志上面有写:getParameters(....)里面就是一些相关的参数。
2、连续两次以上的拍照,会出现异常:java.lang.RuntimeException:fail to connect to camera service。
    因为没有对camera进行释放,或者说系统有自动释放功能但是还没有被处理。可以通过手动释放:
    /**
     * 停止预览
     */
        @Override
        public void surfaceDestroyed(SurfaceHolder holder) {
                // TODO Auto-generated method stub
                mCamera.stopPreview();
               mCamera.release();//加上这句,就OK!
                mCamera=null;
                
        }

posted @ 2011-08-18 15:24  wanqi  阅读(8628)  评论(0编辑  收藏  举报