java - Google Tango 更新监听器 onXyzIjAvailable 回调永远不会被调用

标签 java android depth jmonkeyengine tango

第一:这里有两个主题非常相似,但一个以设备故障结束,其他主题在 C API 上......这就是为什么要提出一个新问题。

我正在使用 Google Tango SDK 和 jMonkeyEngine 来实现科学增强现实应用程序。到目前为止一切都很顺利。但现在我想使用 Tango 中的点云数据,该数据被提供给监听器(类:OnTangoUpdateListener)。 (Tango Depth Perception)有4种方法:

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

其中 3 个被定期调用。问题是: onXyzIjAvailable 从未被调用,因此我无法访问点云数据。这是我的代码 fragment ,你知道我做错了什么或者我可以尝试什么吗?

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

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

整个文件可以在这里找到:Pastebin

感谢您的帮助!

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

最佳答案

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

如果有人知道如何同时使用它们——那就太棒了。

干杯, gem

关于java - Google Tango 更新监听器 onXyzIjAvailable 回调永远不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37001114/

相关文章:

java - struts 1.0逻辑标签选择——if/else逻辑

java - 如何避免java中的 "non-static method referenced from a static context"?真的很简单

java - 启动 xml 中定义的方法的算法

android - android studio 3.3 中没有 ActionBar 也没有 StatusBar

html - CSS样式不适用,样式深度有限制吗?

java - 为什么别名在 java 方法中不起作用?

android - 获取未知失败(-XX :mainThreadStackSize=N) in Android Studio

java - 可以使用静态 "database helper"类吗?

c++ - 从 C++ 文件写入数据(点云库)

c++ - 创建具有最小深度的二叉搜索树