22
votes

I'm working on a class project which is using a Kinect. According to the [Microsoft Kinect for Windows Information Page][1]:

If you’re receiving either of these error messages, you’re probably using a Kinect for Xbox 360 and not the new Kinect for Windows. Make sure that your Kinect sensor is the Kinect for Windows sensor. (It’s easy: Just make sure it says doesn’t say "Xbox 360" on the front.)

If you’re a software developer, you can use the Kinect for Xbox 360 together with your computer to test the software you’re working on. However, to get the full Kinect for Windows experience, we recommend you download the Kinect for Windows SDK and use it with the Kinect for Windows.

Note Make sure that your Kinect sensor is the Kinect for Windows sensor. If it says "Xbox 360" on the front, it’s the Kinect for Xbox 360, not the Kinect for Windows.

Despite the ambiguity of this message, it seems like I should be able to use an XBox 360 Kinect for development. The SDK only limits deployment, which is perfectly fine for my project.

However, when I run the following code:

Console.WriteLine("Sensor count: " + KinectSensor.KinectSensors.Count);
Console.WriteLine("Sensor status: " + KinectSensor.KinectSensors[0].Status);

I get the output:

Sensor count: 1
Sensor status: NotReady

What gives? My Kinect is connected to my computer. The green light on the front is blinking. Any help here would be appreciated.

3

3 Answers

18
votes

You can use the Kinect SDK that was designed to work with the Kinect for XBox: the Kinect SDK Beta 2. Download it for free from microsoft.com.

From the download link:

The Kinect for Windows SDK beta provides hobbyists and researchers with the tools to develop non-commercial applications that run on the Kinect for Xbox 360.

(emphasis mine)

7
votes

Kinect sensor needs high power supply and normal USB port doesn't provide sufficient power. Make sure that along with USB plugged in, Kinect sensor's power adapter is plugged in too.

2
votes

I'd suggest using the Kinect Explorer demo app supplied with the latest version of SDK first.

This will confirm whether it's just something to do with your particular solution or the interface to the Kinect in general.

You also might want to try iterating through the KinectSensor.KinectSensors collection to see whether it gives a different result to the Count property.