1

我有一个女巫程序,我用它启用了语音识别..

        RecognizerInfo ri = GetKinectRecognizer();

        speechRecognitionEngine = new SpeechRecognitionEngine(ri.Id);

        // Create a grammar from grammar definition XML file.
        using (var memoryStream = new MemoryStream(Encoding.ASCII.GetBytes(fileContent)))
        {
            var g = new Grammar(memoryStream);
            speechRecognitionEngine.LoadGrammar(g);
        }

        speechRecognitionEngine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(speechEngine_SpeechRecognized);
        speechRecognitionEngine.SpeechRecognitionRejected += new EventHandler<SpeechRecognitionRejectedEventArgs>(speechEngine_SpeechRecognitionRejected);

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

        speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);

..

一切正常,SpeechRecognized 事件被正确触发..

问题是,当我启用骨骼数据跟踪时,

          sensor.SkeletonStream.Enable();
          sensor.SkeletonStream.TrackingMode = SkeletonTrackingMode.Seated;
          sensor.SkeletonFrameReady += sensor_SkeletonFrameReady;

语音识别停止工作...

我能得到你的帮助吗?

非常感谢!

4

1 回答 1

1

如果在开始音频捕获后启用骨架流,则不会处理音频由于一个错误,启用或禁用 SkeletonStream 将停止 Kinect 传感器返回的 AudioSource 流。以下指令序列将停止音频流: kinectSensor.Start(); kinectSensor.AudioSource.Start(); // --> 这将创建一个音频流 kinectSensor.SkeletonStream.Enable(); // --> 这将停止音频流作为不受欢迎的副作用

解决方法是颠倒调用顺序或在更改 SkeletonStream 状态后重新启动 AudioSource。

        Workaround #1 (start audio after skeleton):
        kinectSensor.Start();
        kinectSensor.SkeletonStream.Enable();
        kinectSensor.AudioSource.Start();

        Workaround #2 (restart audio after skeleton):
        kinectSensor.Start();
        kinectSensor.AudioSource.Start(); // --> this will create an audio stream
        kinectSensor.SkeletonStream.Enable(); // --> this will stop the audio stream as an undesired side effect
        kinectSensor.AudioSource.Start(); // --> this will create another audio stream

来源 - http://msdn.microsoft.com/en-us/library/jj663798.aspx

于 2012-12-29T12:30:42.617 回答