2013-03-23 149 views
1

我試圖讓this代碼的工作,但我有這個錯誤,我不知道如何解決這個問題:顯示java.lang.NullPointerException - 使用OpenCV的和Android

03-23 21:51:44.705 :E/AndroidRuntime(1628): 顯示java.lang.NullPointerException 03-23 21:51:44.705: E/AndroidRuntime(1628):在 org.projectproto.objtrack.SampleViewBase.surfaceCreated(SampleViewBase.java:107)

+1

按照logcat的,你應該在SampleBaseView開始行107。該行的一個變量爲null ...如果它是'mCamera',請閱讀['open()'](https://developer.android.com/reference/android/hardware/Camera.html#open%28 %29),以及如果您使用模擬器但未安裝相機,您將遇到麻煩。 – Sam 2013-03-23 22:45:10

+1

向我們展示SampleViewBase.java文件中第107行的內容。 – 2013-03-23 22:49:41

+0

什麼我在線路107〜115: mCamera.setPreviewCallbackWithBuffer(新PreviewCallback(){ 公共無效onPreviewFrame(字節[]數據,攝像機相機){ 同步(SampleViewBase.this){ System.arraycopy(數據,0,mFrame,0,data.length); SampleViewBase.this.notify(); } camera.addCallbackBuffer(mBuffer); } }); – user2103324 2013-03-23 22:56:08

回答

1

mCamera似乎null因爲Camera.open();沒有返回對相機的引用。

有不同的可能性。一個可能是您的清單文件中缺少相機權限。檢查它爲<uses-permission android:name="android.permission.CAMERA" />

在我的Nexus 7我經歷了一個問題Camera.open()以及由於某種原因Camera.open(0),這是一樣的Camera.open()返回null但Camera.open(1)回到我的前置攝像頭的Camera對象。可能這是一個普遍的問題,只有一個frontcamera的設備,但我不知道。

無論如何,這應該是你要看的地方。

Camera | Android Developers

相關問題