我使用Kinect v2在Unity3D中构建了一个项目。 我可以使用dlls provided by microsoft并调用
来打开和关闭Kinect_Sensor = KinectSensor.GetDefault();
_Sensor.Open();
打开Kinect,然后
_Sensor.Close();
关闭Kinect。
当它打开时,两个指示灯亮起。当它关闭两个灯都关闭。 这是它在Unity编辑器(使用x86 dll)中对我的Windows 8.1机器的作用,但是当我在表面专业版上运行它,或者作为Windows 8.1机器上的Windows应用程序应用程序(使用metro dll)时,只有相机的光线熄灭,右边的灯光也一直亮着,Kinect和表面也开始升温,所以它似乎仍在不断地处理骨架/深度数据,这就是我想要避免的事情
答案 0 :(得分:2)
Kinect未在Windows应用商店应用中关闭。这是一个SDK错误。
Windows应用商店应用使用WindowsPreview.dll而不是Microsoft.Kinect.dll。
似乎WindowsPreview.dll不支持关闭传感器。
我认为你无能为力。
处理您的资源并在需要关闭时将所有内容设置为null。应该处理ColorFrameReader,DepthFrameReader,InfraredFrameReader,BodyFrameReader。每个帧读取器都有一个Dispose方法。
此外,取消订阅任何FrameArrived事件。