sensor & sensorChooser не будет работать / запускаться вместе (распознавание голоса) - Microsoft Kinect C#
Я пытаюсь создать интерфейс для использования с Windows Kinect с использованием C#. До сих пор я мог реализовать все, и движение жестов прекрасно работает с помощью ручного курсора. Затем у меня была задача внедрить распознавание голоса в программу, чтобы пользователь мог также давать голосовые команды программе наряду с использованием жестов. Проблема в моем методе Window_Loaded, я поместил датчик.Start(); и sensorChooser.Start(); внутри метода, но только один из них будет работать в зависимости от того, который объявлен первым.
Мой вопрос заключается в том, как я могу это исправить, чтобы иметь возможность запускать и sensor и sensorChooser, чтобы иметь возможность использовать распознавание голоса и жесты.
Спасибо за помощь, вот метод пока.
private void 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);
}
}
1 ответ
После исправления этой проблемы я переместил:
this.sensorChooser = new KinectSensorChooser();
this.sensorChooser.KinectChanged += SensorChooserOnKinectChanged;
this.sensorChooserUi.KinectSensorChooser = this.sensorChooser;
initializeSpeech();
&
sensorChooser.Start();
в основной метод, и это сработало:)