当前位置:  开发笔记 > Android > 正文

关于nexus one的Camera.setParameters()的RuntimeException

如何解决《关于nexusone的Camera.setParameters()的RuntimeException》经验,为你挑选了3个好方法。

我从这里的答案中复制了代码,但我仍然得到一个RuntimeException:我的nexus上的setParameters失败错误.我的清单文件具有camera和wake_lock权限.这适用于模拟器,在机器人上我没有得到错误但它确实有旋转问题.



1> Roman Nurik..:

您最有可能要求无效的预览尺寸.如果你检查结果adb logcat你可能会看到这样的事情:

E/QualcommCameraHardware(22732): Invalid preview size requested: 480x724

解决方案是请求最接近的预览尺寸到您想要的尺寸; 您可以通过调用获得预览可用尺寸的列表getSupportedPreviewSizes中Camera.Parameters对象通过返回Camera.getParameters.


@Erik B - 我意识到这是对此评论的回应,但可能是因为您的应用处于兼容模式,并且系统将您应用中的像素视为实际设备分辨率的0.66倍.因此,480x800将以320x533的形式呈现给您的应用,可能会为状态栏水平或垂直削减几个像素,除非您的活动是全屏的.

2> 小智..:

我通过做罗马所说的代码来纠正这个问题:

   Camera.Parameters parameters = camera.getParameters();  
   List sizes = parameters.getSupportedPreviewSizes();  
   Camera.Size cs = sizes.get(0);  
   parameters.setPreviewSize(cs.width, cs.height);  
   camera.setParameters(parameters);



3> Andrew Coonc..:

对于它的价值,我的问题的根源是我试图打电话parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);而没有先通过检查确认支持闪存模式parameters.getFlashMode() != null.

这个记录不完整的异常的原因不止一个,所以检查所有参数,而不仅仅是你正在使用的supportedPreviewSize.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有