2011-02-24 131 views
2

我现在面临的问题()和 getExposureCompensationStep()的API。每当我称这两个apis时,它会抛出一个空指针异常。当我使用setExposureCompensation()API后使用 getExposureCompensation, 然后正常工作。但在getExposureCompensationStep()的情况下, 我没有选择。Android摄像头与getExposureCompensation曝光

你在这个问题上的意见和建议将不胜感激。

感谢 纳瓦布

+0

你是如何获取的参数?你应该发布一些你的代码和你的堆栈跟踪。我假设你的Camera.Parameters对象为null。 – kcoppock 2011-02-24 20:18:04

+0

我不能告诉你此刻的堆栈跟踪,但我可以告诉你,当它试图解析为“KEY_EXPOSURE”的浮点值的字符串,它发现它空,所以空指针异常发生。这是我的代码片段: - camera camera = Camera.open();参数params = camera.getParameters(); int expcomp = params.getExposureCompensation(); float expstep = params.getExposureCompensationStep();完整的代码现在无法粘贴到我的其他工作场所系统中。 – nawab 2011-02-24 20:40:00

回答

3

编辑: 有你的问题。 :) 还是不是......>

Camera没有getExposureCompensation()getExposureCompensationStep()方法。那些是你的Camera.Parameters对象的方法!尝试将其更改为:

int expcomp = params.getExposureCompensation(); 
float expstep = params.getExposureCompensationStep(); 
+0

哦~~那是打错了...我编辑的意见和纠正这种错误的评论....我使用params.getExposureCompensation()和params.getExposureCompensationStep();仅限 。他们实际上失败了。 – nawab 2011-02-24 20:59:25

+0

你能够获取/设置其他参数吗?尝试单步执行调试器,并确保params不为null;只有这样你才能获得NPE,如果是这样的话,我相当肯定。 – kcoppock 2011-02-24 21:04:47

+0

我能够设置曝光补偿,然后能够得到它。但没有设置它,我无法得到它。我也无法获得补偿步骤。当我调试它时,我发现params对象是正确的。这个问题看起来像摄像头的一些参数没有初始化,所以引用它引起的问题。但是无法从我们这边初始化相机参数。一旦我们调用Camera.open(),我觉得它应该被初始化为默认值。 – nawab 2011-02-24 21:10:06