因为项目中有用到相机拍照功能,所以研究了下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;
                
        }

相关文章:

  • 2021-11-16
  • 2022-12-23
  • 2022-12-23
  • 2021-11-11
  • 2021-06-16
  • 2021-04-26
  • 2021-10-18
  • 2022-02-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
  • 2021-10-10
  • 2022-12-23
  • 2021-06-10
相关资源
相似解决方案