2015-07-28 38 views
3

我有一個使用Kinect v2在Unity3D中構建的項目。 我可以通過使用dlls provided by microsoft並調用無法在Windows Store應用程序中關閉Kinect v2

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

打開的Kinect上打開Kinect的開啓和關閉,並

_Sensor.Close(); 

打開Kinect的關閉。

當它打開時,兩個燈亮。當兩盞燈熄滅時。 這是它在Unity編輯器(使用x86 dll)在Windows 8.1機器上的行爲,但是當我在Surface Pro機器上運行它時,或者作爲Windows 8.1機器上的Windows應用商店(僅使用metro dll)相機發出的光線熄滅,右側的光線保持亮起,同時Kinect和表面溫度升高,因此它似乎仍在不斷處理骨骼/深度數據,這就是我想要避免的情況:

回答

2

Kinect在Windows Store應用程序中不關閉。這是一個SDK錯誤。

Windows應用商店應用使用WindowsPreview.dll而不是Microsoft.Kinect.dll。

似乎WindowsPreview.dll不支持關閉傳感器。

我不認爲你能做的事情很多。

配置您的資源並在需要關閉時將所有內容設置爲空。應該丟棄ColorFrameReader,DepthFrameReader,InfraredFrameReader,BodyFrameReader。每個幀讀取器都有一個Dispose方法。

另外,取消訂閱任何FrameArrived事件。