我正在尝试编写一个程序,通过自定义(专业)语法支持语音识别。但是,SpeechRecognized 事件永远不会触发,语音识别小程序就好像语法不存在一样。
这是我的精确步骤。请告诉我哪里出错了。
- 打开控制面板,搜索“语音”,然后点击“开始语音识别”。
- 打开 Visual C#,创建一个新的 Windows 窗体项目
- 复制并粘贴 the first answer on this Stack Overflow question 中的代码进入项目。
- 添加对 System.Speech 的必要引用。
- 运行程序,语音识别小程序仍在运行。
- 说“开始收听”。
- 说一个 1 到 100 之间的数字。
标签的文本从不更改其默认值(“label1”),因此 rec_SpeechRecognized() 似乎从未被调用,即 SpeechRecognized 事件从不触发。如果我说的数字听起来有点类似于我开始菜单中打开的窗口或程序的名称,它会问我这是否是我的意思。它似乎完全不知道我刚刚定义的自定义语法。
我尝试了很多在网络上找到的示例,它们都与我链接到的那个答案中的示例几乎相同,只是语法不同。我得到的所有结果都是一样的,所以我想我一定是做错了什么。
我做错了什么?
最佳答案
我认为您还没有将 Form1 加载事件链接到设计器中的 Form1_Load
例程。我完全按照你的步骤做了,得到了同样的结果;看看是否可以在 Form1_Load
中的任何地方设置断点。
一旦我编辑了设计器以确保 Form1_Load
确实被调用,它运行良好。
关于c# - 从 C# 使用语音识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1059699/