2013-03-23 151 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

相关问题