Search code examples
windowssdkkinecthresult

Two kinects & skeleton stream from both of them - possible?


I have two kinect sensors that are connected on different USB controllers. If I enable the skeleton stream on both of them, I get an exception when I call the start method on the second sensor:

This API has returned an exception from an HRESULT: 0x830100AA

The stack trace:

   at Microsoft.Kinect.KinectExceptionHelper.CheckHr(Int32 hr)
   at Microsoft.Kinect.NuiSensor.NuiInitialize(UInt32 dwFlags)
   at Microsoft.Kinect.KinectSensor.Initialize(SensorOptions options)
   at Microsoft.Kinect.KinectSensor.Start()

Why I'm not able to have skeletal tracking from both kinects?

P.S. I'm using Kinect for Windows SDK 1.5

Thanks!


Solution

  • Just to clarify:

    • Tracking works from both Kinects. (tested with Microsoft SDK 1.6)
    • What you need to do is to connect the Kinects on a seperate USB Bus.

    Also have a look at some of the examples in the SDK. In the 1.6 SDK there is an example called "Kinect Explorer" for managed code, which shows how to handle multiple Kinects safely.

    Handling multiple Skeletons is not an easy task (if you want to detect if a user from kinect 1 ist the same user in kinect 2) you need to write your own logic.