1

我在使用我的 android 应用程序时遇到了困难,我从示例中获得了以下代码:

@Override
public void onXyzIjAvailable(final TangoXyzIjData xyzIj) {
       // Update depth data
       updateYSDepth(xyzIj);

}

不知何故,它给了我这个错误

JNI 错误(应用程序错误):尝试将 com.google.atap.tangoservice.TangoPointCloudData 的实例作为参数 1 传递给 void com.ologicinc.rostango.TangoNodes.vio.VioDepthNode$2.onXyzIjAvailable(com.google.atap.tangoservice. TangoXyzIjData) 以前有人遇到过这个问题吗?

也有人建议使用以下内容:

void onPointCloudAvailableRouter(void* context, const TangoPointCloud* tangoPointCloud) {

}

我似乎无法在线找到有关 onPointCloudAvailableRouter 的任何信息

4

1 回答 1

2

您是否在启动时设置此配置?

config.putInt(TangoConfig.KEY_INT_DEPTH_MODE, TangoConfig.TANGO_DEPTH_MODE_XYZ_IJ);

与文档相反,在最新版本中默认未设置深度模式,如果未设置,您将收到该错误。

xyzIj 也已弃用,您应该使用:

TangoConfig.TANGO_DEPTH_MODE_POINT_CLOUD

和回调

@Override
public void onPointCloudAvailable(TangoPointCloudData pointCloud) {

}
于 2016-09-29T14:15:28.760 回答