无法让Speech Recognizer和KinectRegion一起工作

时间:2013-11-24 15:24:38

标签: c# kinect kinect-sdk kinect.toolbox kinect-interaction

Kinect SDK 1.8有一个菜单演示,其中包含使用 KinectSensorChooser KinectRegion 的磁贴列表,并且效果很好,SDK也有语音识别示例但是它直接使用 KinectSensor 对象,没有传感器选择器。

我想结合使用KinectRegion GUI和音频,但无法让它工作,根本没有例外,但它不会响应。

当我将Microsoft.Speech识别器绑定到 KinectSensorChooser.Kinect 属性时,语音识别事件永远不会触发,就像它没有收到任何音频一样。

当我将 KinectRegion 绑定到原始 KinectSensor 对象时,该区域不起作用,这意味着它不会显示手形光标也不会响应手运动

我正在谈论的样本是:控制基本WPF(C#)和语音基础-WPF(C#)。

感谢任何帮助。 感谢

将语音识别引擎绑定到KinectSensorChooser - 不起作用

speechEngine.SetInputToAudioStream(this.sensorChooser.Kinect.AudioSource.Start(), new    SpeechAudioFormatInfo(EncodingFormat.Pcm, 16000, 16, 1, 32000, 2, null));

将语音识别引擎绑定到原始KinectSensor - 工作

speechEngine.SetInputToAudioStream(this.sensor.AudioSource.Start(), new    SpeechAudioFormatInfo(EncodingFormat.Pcm, 16000, 16, 1, 32000, 2, null));

将KinectRegion绑定到KinectSensor - 不起作用

var regionSensorBinding = new Binding("Kinect") { Source = this.sensor };
BindingOperations.SetBinding(this.kinectRegion, KinectRegion.KinectSensorProperty, regionSensorBinding);

将KinectRegion绑定到KinectSensorChooser - 正常工作

var regionSensorBinding = new Binding("Kinect") { Source = this.sensorChooser };
BindingOperations.SetBinding(this.kinectRegion, KinectRegion.KinectSensorProperty, regionSensorBinding);

1 个答案:

答案 0 :(得分:0)

我将 KinectSensorChooser 初始化保存在Window(创建者)的主方法中,并将语音音频初始化代码移动到Window_Openeded事件并且它工作正常。 我认为在窗口创建期间初始化传感器和音频的时机不够好。 谢谢