2011-02-24 132 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