如何让您的语音识别听取您的意见

时间:2014-08-14 07:32:33

标签: c# speech-recognition

您好我正在使用Michael C的语音识别程序完成本科毕业论文。我创建了一个命令行,其中BRIAN(Synthesizer的名称)将使用以下代码行停止监听:

case "Stop listening":
                BRIAN.SpeakAsync("Alright");
                _recognizer.RecognizeAsyncStop();
                _recognizer.UnloadAllGrammars();
                break;

这行代码有效。然而,当我说命令"开始倾听"我不能再让他回应我的命令了。我需要创建一个case语句,然后他可以再次开始听我的命令。

1 个答案:

答案 0 :(得分:5)

解决方案非常简单。不要强迫你的程序停止听。请改用bool:

case "Stop listening":
    bAbleToListen = false; //stop listening
    break;

然后在您的事件处理程序中,您可以执行:

void _recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
  string speech = e.Result.Text;

  if (speech == "Start listening") {
      bAbleToListen = true; //resume listening
      BRIAN.SpeakAsync("I am online and ready");
  }
  if (!bAbleToListen) return;

  switch(...) {
     //your code
  }
}