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();

в основной метод, и это сработало:)

Другие вопросы по тегам