无法在Windows Store应用程序中关闭Kinect v2

3

我有一个使用Kinect v2构建在Unity3D中的项目。 我可以通过使用微软提供的dlls并调用来打开和关闭Kinect。

_Sensor = KinectSensor.GetDefault();
_Sensor.Open();

打开Kinect,然后

_Sensor.Close();

关闭Kinect:

当Kinect开启时,两个灯都会亮起来。当Kinect关闭时,两个灯都会熄灭。在我的Windows 8.1机器上,在Unity编辑器中(使用x86 dll),Kinect表现出这种状态。然而,当我在Surface Pro上运行它,或者将其作为Windows Store应用程序在我的Windows 8.1机器上运行(使用metro dll),只有相机旁边的灯会熄灭,右侧的灯仍然保持亮着,并且Kinect和Surface Pro会发热,因此似乎仍在不断处理骨架/深度数据,这正是我想要避免的。

1个回答

1
Kinect在Windows Store应用程序中无法关闭。这是SDK的一个错误。
Windows Store应用程序使用WindowsPreview.dll而不是Microsoft.Kinect.dll。
似乎WindowsPreview.dll不支持关闭传感器。
我认为你不能做太多事情。
当需要关闭时,请处理您的资源并将所有内容设置为null。ColorFrameReader、DepthFrameReader、InfraredFrameReader、BodyFrameReader应该被处理。每个帧阅读器都有一个Dispose方法。
此外,取消订阅任何FrameArrived事件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接