2016-12-10 1 views
0

C#을 사용하여 Windows Kinect에 사용할 인터페이스를 만들려고합니다. 지금까지 모든 것을 구현할 수 있었고 제스처 동작은 손 모양 커서를 사용하여 완벽하게 작동합니다. 그런 다음 사용자가 제스처 사용과 함께 프로그램 음성 명령을 줄 수 있도록 프로그램에 음성 인식을 구현하는 작업이있었습니다. 문제는 내 Window_Loaded 메서드 내에서 센서를 배치했습니다. 시작(); 및 sensorChooser.Start(); 메서드 내에서,하지만 먼저 선언 된 것에 따라 그 중 하나만 작동합니다.센서 및 센서 선택기가 작동하지 않음/음성 인식 - Microsoft Kinect C#

제 질문은 음성 인식과 제스처를 사용할 수 있도록 sensor와 sensorChooser를 모두 실행할 수 있도록 어떻게 수정 할 수 있습니까?

도움을 주셔서 감사합니다. 지금까지의 방법이 있습니다. 에

this.sensorChooser = new KinectSensorChooser(); 
this.sensorChooser.KinectChanged += SensorChooserOnKinectChanged; 
this.sensorChooserUi.KinectSensorChooser = this.sensorChooser; 
initializeSpeech(); 

&

sensorChooser.Start(); 

이 문제를 해결 이후

개인 무효 Window_Loaded (객체 송신기는, RoutedEventArgs e)는 {

 if(KinectSensor.KinectSensors.Count > 0) 
     { 
      sensor = KinectSensor.KinectSensors[0]; 
     } 


     this.sensorChooser = new KinectSensorChooser(); 
     this.sensorChooser.KinectChanged += SensorChooserOnKinectChanged; 
     this.sensorChooserUi.KinectSensorChooser = this.sensorChooser; 
     initializeSpeech(); 

     sensor.Start(); 
     sensorChooser.Start(); 



     //string[] lines = { "using System;", "namespace First {", "public class Program {", "public static void Main() {", @"Console.WriteLine(""Hello test!""); } } }" }; 
     //System.IO.File.WriteAllLines(@"C:\Users\John\Documents\University\Interface Programming\CW 2\WpfApplication1\test2.txt", lines); 
     //string code = System.IO.File.ReadAllText(@"C:\Users\John\Documents\University\Interface Programming\CW 2\WpfApplication1\test2.txt"); 
     //runCode(code); 

     string fileDirectory = System.IO.Directory.GetCurrentDirectory() + @"\User Projects"; 
     DirectoryInfo textFileDirectory = new DirectoryInfo(fileDirectory); 
     FileInfo[] Files = textFileDirectory.GetFiles("*.txt"); 
     Thickness m = Margin; 
     m.Left = 0; 
     foreach (FileInfo file in Files) 
     { 
      KinectTileButton btn = new KinectTileButton 
      { 
       Label = file.Name, 
      }; 
      btn.Click += buttonRunCode; 
      btn.VerticalAlignment = VerticalAlignment.Center; 
      btn.HorizontalAlignment = HorizontalAlignment.Left; 
      loadedButtons.Children.Add(btn); 
     }      
    } 

답변

0

는, I는 이동 된 주된 방법과 그것은 일했다 :)