【发布时间】:2016-12-11 05:52:55
【问题描述】:
我正在尝试使用 C# 创建一个用于 Windows Kinect 的界面。到目前为止,我已经能够实现所有内容,并且使用手形光标可以完美地完成手势移动。然后我的任务是在程序中实现语音识别,这样用户也可以在使用手势的同时向程序发出语音命令。问题出在我的 Window_Loaded 方法中,我放置了一个 sensor.Start();和 sensorChooser.Start();在方法中,但只有一个会起作用,具体取决于首先声明的是哪个。
我的问题是如何解决这个问题,以便能够同时运行传感器和 sensorChooser,以便能够使用语音识别和手势。
感谢帮助,目前方法如下。
private void Window_Loaded(object sender, 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);
}
}
【问题讨论】:
标签: c# speech-recognition kinect sensors voice-recognition