2

我试图让用户可以说Modify X,后跟一个数字,然后让我的软件根据数字做一些事情。

当前,Modify X正在监听;虽然我不知道如何检测命令后所说的数字。

我发现DictationGrammar有一个SetDictationContext()方法。但是我不希望它检测到任何单词,只检测数字。

任何帮助,将不胜感激。谢谢 :)

4

2 回答 2

4

您可能应该从http://msdn.microsoft.com/en-us/library/hh361633开始阅读语法。当您想识别用户可能说的任何可能的单词时,您只使用听写语法(将听写语法视为完整的字典)。如果您想识别一组受限制的单词,请使用特定于任务的语法。这可以使用 GrammarBuilder 或类似方法创建。

几年前在http://msdn.microsoft.com/en-us/magazine/cc163663.aspx上发表了一篇非常好的文章。这可能是迄今为止我发现的最好的介绍性文章。它有点过时了,但很有帮助。(AppendResultKeyValue 方法在 beta 之后被删除。)

于 2012-07-16T01:11:52.823 回答
0
int minNumber = 0;
int maxNumber = 100;
Choices numbers = new Choices ();
for (int i = minNumber; i < maxNumber; i++)
{
    numbers.add(i.toString);
}
Choices myCommands = new Choices ("count");
Choices myOperators = new Choices ("plus","minus","add","subtract","multiply","times","divide");
GrammarBuilder mathGrammar = new GrammarBuilder ();
mathGrammar.add (myCommands);
mathGrammar.add (numbers);
mathGrammar.add (myOperators);

...加载语法并创建一个事件。

于 2019-01-09T21:05:14.053 回答