Google Tango Update Listener onXyzIjAvailable Callback永远不会被调用

时间:2016-05-03 10:00:31

标签: java android depth jmonkeyengine tango

首先:这里有两个非常相似的主题,但其中一个以设备故障结束,另一个在C API上结束......这就是为什么要打开一个新问题。

我正在使用 Google Tango SDK和jMonkeyEngine 来制作科学的增强现实应用程序。到目前为止一切都很好。但现在我想使用Tango中的Point Cloud Data,它被提供给一个Listener(Class: OnTangoUpdateListener )。 (Tango Depth Perception)有4种方法:

  • onPoseAvailable(TangoPoseData pose)
  • onXyzIjAvailable(TangoXyzIjData xyzIj)
  • onTangoEvent(TangoEvent arg0)
  • onFrameAvailable(int arg0)

其中3人被定期召集。问题是: onXyzIjAvailable 从未被调用,因此我无法访问点云数据。这是我的代码片段,你知道我做错了什么或我能尝试什么?

public class TangoUpdateListener implements OnTangoUpdateListener {
@Override
            public void onXyzIjAvailable(TangoXyzIjData xyzIj)
            {

                System.out.println("POINT CLOUD AVAILABLE");
                Log.e("CLOUD", "CLOUD AVAILABLE");
        }
}

可以在此处找到整个文件:Pastebin

感谢您的帮助!

PS:该设备与示例项目完美配合。这不是硬件问题。

1 个答案:

答案 0 :(得分:1)

我发现了什么抑制了Callback。实际上,一次只能使用一个活动相机。当我开发增强现实应用程序时,我有两个活动。一个用于背景 - 显示摄像机视频 - 一个用于渲染虚拟对象 - 使用摄像机获取深度信息。虽然RGB相机和深度相机不是同一设备,但Android认为它们是,并且一次只能访问其中一个。因此,停用背景视频可启用深度数据回调,反之亦然。

如果有人知道如何同时使用它们 - 这将是非常棒的。

干杯, 宝石