camera多次调用出现错误解决方法
2011-08-18 15:24
531 查看
因为项目中有用到相机拍照功能,所以研究了下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;
}
在实践的过程中发现两个问题:
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;
}
相关文章推荐
- android library工程中使用switch_case语句,调用资源文件的id出现错误的原因分析及解决方法
- 解决SQL Server 2008安装时出现“ 不能在控件上调用 Invoke 或 BeginInvoke ”错误的方法
- E/JavaBinder:FAILED BINDER TRANSACTION错误解决+RadioGroup调用check方法的时候,onCheckedChanged被调用多次的问题解决
- 控制台应用程序中调用CFileException 的GetErrorMessage方法时出现“Debug Assertion Failed”错误时的解决办法
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- 新浪微博客户端源代码-新浪微博OAuth2.0接口--回调地址未填而出现第三方调用错误解决方法
- Android camera调用出现错误解决方法
- (用iis调用com来操纵Excel) 检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。8000401A的错误解决方法
- Android camera调用出现错误解决方法
- 关于调用listFile()在遍历含有乱码文件时出现input is not valid Modified UTF-8错误的解决方法
- SQL SERVER 2008安装时出现不能在控件上调用 Invoke 或 BeginInvoke错误 解决方法
- WIN7可中SQL SERVER 2008安装时出现不能在控件上调用 Invoke 或 BeginInvoke错误(终极解决方法)
- 调用模板类出现 undefined reference 错误的解决方法
- pycharm中调用同级目录出现错误的解决方法
- iOS 中调用类方法出现函数不识别错误的解决方法
- ubuntu 使用sudo apt-get update 出现 被配置多次导致无法升级错误解决方法
- 调用远程数据库的存储过程出现“ORA-02064不支持分布式操作”错误的解决方法
- 解决SQL Server 2008安装时出现不能在控件上调用 Invoke 或 BeginInvoke错误的方法
- 解决SQL Server 2008安装时出现不能在控件上调用 Invoke 或 BeginInvoke错误或者需要重启N次后还提示需要重启的方法
- c++ std::sort函数调用经常出现的invalidate operator<错误原因以及解决方法