/// <summary> /// Starts Kinect if it is not started. This call takes some time. /// </summary> void StartKinect() { if (kinectSensor == null || IsKinectRunning()) { return; } if (replay != null) { replay.Dispose(); replay = null; } kinectSensor.AllFramesReady += kinectRuntime_AllFrameReady; kinectSensor.Start(); StartSpeechRecognition(); }
/// <summary> /// Starts new replay. /// </summary> /// <param name="recordStream"></param> void Replay(Stream recordStream, Stream gtStream) { // Reset slider. frameSlider.Value = 0; if (gtStream != null) { gtReplayer = new GroundTruthDataRelayer(gtStream); } lock (this) { replay = new KinectAllFramesReplay(recordStream); frameSlider.Maximum = replay.GetFramesCount(); handTracker = new SimpleSkeletonHandTracker(HandInputParams.DepthWidth, HandInputParams.DepthHeight, replay.GetKinectParams()); } ResetGestureEngine(); timer = new DispatcherTimer(); timer.Interval = new TimeSpan(0, 0, 0, 0, (1000 / FPS)); timer.Tick += new EventHandler(OnTimerTick); timer.Start(); }