1

我正在编写一个同时使用语音和手势识别的代码。我已使用 Kinect Dev 工具包浏览器中的代码进行语音和博客(http://dotneteers.net/blogs/vbandi/archive/2013/03/25/kinect-interactions-with-wpf-part-i-getting- started.aspx)关于手势控制。我遇到的问题是我相信初始化相互干扰。

private KinectSensor InitializeKinect()
    {

        CurrentSensor = KinectSensor.KinectSensors.FirstOrDefault();
        speechRecognizer = CreateSpeechRecognizer();
        CurrentSensor.Start();
        Start();
        return CurrentSensor;
    }

这会干扰

private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
    {
        this.sensorChooser = new KinectSensorChooser();
        this.sensorChooser.KinectChanged += SensorChooserOnKinectChanged;       
        this.sensorChooserUi.KinectSensorChooser = this.sensorChooser;
        this.sensorChooser.Start();

不知何故。由于 KinectStatus 是不可比较的(== 不起作用),我已经稍微编辑了 InitializeKinect 函数。

如果我在 MainWindow() 中注释掉 OnLoaded 或 InitalizeKinect,另一个将起作用,如果两者都未注释掉,则只能使用 Speech。

谢谢您的帮助!

4

1 回答 1

0

我对 Kinect一无所知,但是 -InitializeKinect看起来它正在寻找 Kinect 传感器初始化 SR 引擎(很可能使用一些 Kinect 信息)。我会删除InitializeKinect呼叫并添加

speechRecognizer = CreateSpeechRecognizer();

就在之前

this.sensorChooser.Start();

于 2013-06-10T21:46:01.757 回答