我开始使用.NET语音转文本库(SpeechRecognizer)
在谷歌搜索和搜索这个网站时,我找到了这个代码示例:
var c = new Choices();
for (var i = 0; i <= 100; i++)
c.Add(i.ToString());
var gb = new GrammarBuilder(c);
var g = new Grammar(gb);
rec.UnloadAllGrammars();
rec.LoadGrammar(g);
rec.Enabled = true;
这帮助我开始了。我改变了这2行
for (var i = 0; i <= 100; i++)
c.Add(i.ToString());
根据我的需要
c.Add("Open");
c.Add("Close");
但是,当我说'关闭'时,Windows的语音识别器会关闭我的应用程序!
此外,有没有更好的方法来识别语音而不是创建自己的字典?我希望用户说出类似的话:“给自己写一张便条”,然后用户会说话,我会写。
很抱歉在同一个问题上提出两个问题,两者似乎都与我的一个问题有关。
答案 0 :(得分:1)
您正在使用共享语音识别器(SpeechRecognizer)。实例化时 SpeechRecognizer可以获得可由其他应用程序共享的识别器,通常用于构建应用程序以控制桌面上运行的窗口和应用程序。
听起来你想使用自己的私人识别引擎(SpeechRecognitionEngine)。因此,实例化一个SpeechRecognitionEngine。
Disable built-in speech recognition commands?也可能有一些有用的信息。
Microsoft的桌面识别器包括一种称为听写语法的特殊语法,可用于转录用户说出的任意单词。您可以使用听写语法进行转录样式识别。请参阅DictationGrammar Class和SAPI and Windows 7 Problem
答案 1 :(得分:1)
我有更好的答案......
尝试向你的识别器添加一个听写语法......它似乎禁用所有内置命令,如select / delete / close等。
然后,您需要使用语音识别事件和SendKeys向页面添加文本。到目前为止,我的发现表明你不能拥有你的SAPI蛋糕并吃掉它。
我认为如果您尚未解决(或继续),上述解决方案应该对您有用。