/// <summary> /// Handler for recognized speech events. /// </summary> /// <param name="sender">object sending the event.</param> /// <param name="e">event arguments.</param> private void SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { var result = e.Result; // Speech utterance confidence below which we treat speech as if it hadn't been heard const double ConfidenceThreshold = 0.25; if (result.Confidence >= ConfidenceThreshold) { if (result.Words[0].Text == "initialize") { Console.WriteLine("speech recognized: initialize"); WorkoutCounting.Initialize(); isInitialize = true; } if (result.Words[0].Text == "change") { var workoutType = result.Words[2].Text; switch (workoutType) { case "squat": currentWorkoutType = WorkoutType.Squat; WorkoutCounting.Initialize(); isInitialize = true; Console.WriteLine("speech recognized: change to squat"); break; case "biceps": currentWorkoutType = WorkoutType.BicepsCurl; WorkoutCounting.Initialize(); isInitialize = true; Console.WriteLine("speech recognized: change to biceps curl"); break; case "shoulder": currentWorkoutType = WorkoutType.ShoulderPress; WorkoutCounting.Initialize(); isInitialize = true; Console.WriteLine("speech recognized: change to shoulder press"); break; default: break; } } } }
private void SkeletonEncoding(KinectSensor kinectDevice, SkeletonFrame skeletonframe) { if (kinectDevice != null && skeletonframe != null) { skeletonframe.CopySkeletonDataTo(this._FrameSkeletons); Skeleton skeleton = GetPrimarySkeleton(this._FrameSkeletons); if (skeleton != null) { // 모든 관절 위치 foreach (var value in Enum.GetValues(typeof(JointType))) { JointPositions[(int)value] = GetJointPoint(skeleton.Joints[(JointType)value]); } WorkoutCounting.Count(JointPositions, currentWorkoutType); isSkeletonFrameReady = true; } } }