如何重新启动Kinect

时间:2013-08-15 16:32:49

标签: c# xna kinect

所以我正在使用Kinect SDK编写一个XNA应用程序,当我的游戏从游戏屏幕变为另一个屏幕时,我使用

停止Kinect
sensor.Stop();
sensor.Dispose();

虽然它确实有效但它有相当大的延迟,并且让我的游戏看起来没有响应至少10秒。然后在那个屏幕后我再次回到游戏屏幕,但设置不同。所以我用

//set all my event handlers
sensor.blahStream += myFunction;
sensor.Start();

这是重启Kinect的最佳方法吗?

1 个答案:

答案 0 :(得分:0)

只是摆弄了一些,将停止放在一个单独的线程似乎有效。

stopGameThread = new Thread(new ParameterizedThreadStart(stopGame));
stopGameThread.Start();

调用此方法:

void stopGame(object sender)
{
    gScreen.sensor.Stop();
    gScreen.sensor.Dispose();
    running = false;
}

gScreen是此游戏屏幕包装中包含的游戏屏幕。

如果有人有更好的答案,请随时发布。