せっかく Windows 8 Consumer Preview と Visual Studio 11 Betaがリリースされたので、メトロ・アプリケーションで動かしたくなりますよね?
Kinect for Windows SDKは、今のところWinRT未対応のためか、メトロ・アプリケーションでは利用できないようです。一応「期待して待っててね」みたいなのがフォーラムには載ってましたが、現状は動かせません。ただし、通常のデスクトップ・アプリケーションでは利用可能(らしい)ので、Kinect Serviceのメトロ・クライアントができれば、形としてはメトロ・アプリケーションからKinectの機能を利用できることになります。
というわけで、とりあえず動くものを作ってみました。
ライセンスとかよくわからないので、怒られたら消します。
ちなみに"本当にとりあえず"で、「通信エラーで落ちる」わ、「画面がちかちかする(ちゃんとパケットが取れてない?)」わで、まだ使い物にはなりません。
WPFのクライアントをベースにしてますが、「using System.Net.Sockets;」がWinRTでは利用できない(?)ため、「using Windows.Storage.Streams;」の「StreamSocket」に、スレッド周りを「async/await」に書き換えています。「async/await」がまだよくわからないので、アヤシゲな感じになっています。
動作手順
Visual Studio 11 Betaで上記githubから落としたslnを開きます。
Coding4Fun.Kinect.KinectService.Samples.MetroSampleをスタートプロジェクトに設定し実行します。