2

我已经开始使用 .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;

这帮助我开始。我改变了这两行

for (var i = 0; i <= 100; i++)
   c.Add(i.ToString());

我的需要

c.Add("Open");
c.Add("Close");

但是,当我说“关闭”时,Windows 的语音识别器会关闭我的应用程序!

此外,有没有比创建自己的字典更好的识别语音的方法?我希望用户说:“给自己写个便条”,然后用户会说话,我会写。

很抱歉在同一个问题上问了 2 个问题,这两个问题似乎都与我的一个问题有关。

4

2 回答 2

1

您正在使用共享语音识别器 (SpeechRecognizer)。当您实例化 SpeechRecognizer 时,您将获得一个可以由其他应用程序共享的识别器,通常用于构建应用程序以控制在桌面上运行的窗口和应用程序。

听起来您想使用自己的私有识别引擎(SpeechRecognitionEngine)。所以实例化一个 SpeechRecognitionEngine 代替。

请参阅SpeechRecognizer 类

禁用内置语音识别命令?也可能有一些有用的信息。

Microsoft 的桌面识别器包括一种称为听写语法的特殊语法,可用于转录用户说出的任意单词。您可以使用听写语法进行转录风格识别。请参阅DictationGrammar 类SAPI 和 Windows 7 问题

于 2011-07-01T13:03:07.257 回答
1

我有更好的答案......

尝试向您的识别器添加听写语法......它似乎禁用了所有内置命令,如选择/删除/关闭等。

然后,您需要使用语音识别事件和 SendKeys 将文本添加到页面。到目前为止,我的发现表明你不能吃你的 SAPI 蛋糕。

如果您尚未解决(或继续),我认为上面的解决方案应该适合您。

于 2012-11-19T12:41:54.970 回答