0

我正在开发适用于 android 的 360 视频播放器应用程序。我有 3 种播放模式:触摸模式、陀螺仪模式和纸板模式。我可以使用纸板立体渲染器看到陀螺仪模式和纸板模式,但我找不到停止触摸模式的方向传感器的方法。

通常,我会使用SensorManager然后使用这个函数:sm.unregisterListener(this, sm.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR));在作为SensorListener应用程序的 de 的对象或类中。问题是这项工作现在是在 Google Cardboard 代码中本地完成的,我看不到传感器更改是在哪里处理的。

因此,我的问题是:除了上述方法之外,还有什么方法可以停止方向传感器?或者其他一些方法可以让这个方法起作用?

我已经尝试将它与视图、渲染器和活动一起使用,但无法让它工作。我也搜索了 google cardboard api,但没有发现任何有用的信息。如果无法做到这一点,是否可以为不同的播放模式使用两个单独的渲染器和关联视图?如果是这样,我将不胜感激有关如何让它们工作的任何指南。

如果您需要更多信息,请问我,我很乐意解释其他任何信息。

4

1 回答 1

1

我已经找到了一个技巧,通过在类中的函数中应用ViewMatrix来做到这一点。eyeMatrixonDrawEye()RajawaliCardboardRenderer

@Override
public void onDrawEye(Eye eye) {
    eyeMatrix.setAll(getCurrentCamera().getViewMatrix());
    eyeQuaternion.fromMatrix(eyeMatrix);
    getCurrentCamera().setOrientation(eyeQuaternion);
}
于 2015-09-28T09:00:06.873 回答