我正在使用System.Speech.Recognition在C#中创建一个程序,该程序识别语音命令并将它们转换为另一个进程的内部命令。
我的应用程序是否有内部控制麦克风输入的状态? (on / asleep / off)这个问题与this one类似,但其接受的答案转向C ++,这超出了我的能力范围。设置SpeechRecognizer.State属性的建议C#方法无效,因为它是只读的。
理想情况是,如果我可以完全隐藏Windows语音麦克风控件并在我的应用程序中拥有自己的控件。我真正需要的是控制我的应用程序的语音输入,让其他程序透明地工作。
提前致谢。
答案 0 :(得分:1)
如果不依赖Windows语音识别器,请从使用System.Speech.Recognition.SpeechRecognizer
切换到使用System.Speech.Recognition.SpeechRecognitionEngine
。这样可以更好地控制引擎识别的语法。
通过切换到SpeechRecognitionEngine
,这意味着麦克风将在发动机运行的整个时间内监听您提供的任何语法。我不确定这是否是你想要的行为,但听起来就是这样。