这应该非常简单,但快速的Google没有提供任何有用的内容,我看不到Microsoft.Kinect.KinectSensor
上看起来有用的任何成员。
我正在编写一个使用Kinect进行某些手势控制的应用程序。它适用于Kinect的Xbox或PC版本,但Xbox版本不支持“近距离模式”,因此用户必须回到一定距离。我想在用户启动程序时让用户知道这一点。
是否可以检测到哪个版本的Kinect已连接?我在Visual Studio的调试输出中收到一条消息,告诉我我已经连接了一个Xbox版本,因此它必须在某处检查,但我没有看到任何信息可供我的代码使用。
答案 0 :(得分:2)
当您尝试使用Xbox版本不支持的功能时,会抛出InvalidOperation。当您捕获该异常时,您可以确定已连接Xbox kinect。
try
{
sensor.DepthStream.Range = DepthRange.Near;
sensor.SkeletonStream.EnableTrackingInNearRange = true;
}
catch (InvalidOperationException)
{
// Non Kinect for Windows devices do not support Near mode, so reset back to default mode.
sensor.DepthStream.Range = DepthRange.Default;
sensor.SkeletonStream.EnableTrackingInNearRange = false;
}