使用事件后的 KinectSDK 轮询

本文关键字:KinectSDK 轮询 事件 | 更新日期: 2023-09-27 17:55:24

我正在制作的 Kinect 应用程序有两个部分。有一个WPF菜单,最终将用户定向到XNA游戏。

问题是我正在使用的WPF控件(如KinectRegion)正在将事件侦听器添加到KinectSensor对象上的AllFramesReady等内容中。当我尝试在我的 XNA 游戏中轮询骨架数据时,我收到以下错误:

This API cannot be called when an event listener has been set

我的问题:如何重置 KinectSDK 中的所有内容,以便在启动 XNA 游戏时拥有一张白纸?或者至少,让它进入我可以成功轮询框架数据的状态。

我不知道 WPF 控件附加了什么方法来处理事件,因此我无法从事件中显式删除它们。

类似问题:获取彩色图像不在帧就绪事件中

使用事件后的 KinectSDK 轮询

不能一次使用事件处理程序和轮询方法。Kinect API 不支持这一点。更好的方法是将全局变量用于轮询方法,并在您想要的任何地方使用它。