我试图让用户可以说Modify X
,后跟一个数字,然后让我的软件根据数字做一些事情。
当前,Modify X
正在监听;虽然我不知道如何检测命令后所说的数字。
我发现DictationGrammar
有一个SetDictationContext()
方法。但是我不希望它检测到任何单词,只检测数字。
任何帮助,将不胜感激。谢谢 :)
我试图让用户可以说Modify X
,后跟一个数字,然后让我的软件根据数字做一些事情。
当前,Modify X
正在监听;虽然我不知道如何检测命令后所说的数字。
我发现DictationGrammar
有一个SetDictationContext()
方法。但是我不希望它检测到任何单词,只检测数字。
任何帮助,将不胜感激。谢谢 :)
您可能应该从http://msdn.microsoft.com/en-us/library/hh361633开始阅读语法。当您想识别用户可能说的任何可能的单词时,您只使用听写语法(将听写语法视为完整的字典)。如果您想识别一组受限制的单词,请使用特定于任务的语法。这可以使用 GrammarBuilder 或类似方法创建。
几年前在http://msdn.microsoft.com/en-us/magazine/cc163663.aspx上发表了一篇非常好的文章。这可能是迄今为止我发现的最好的介绍性文章。它有点过时了,但很有帮助。(AppendResultKeyValue 方法在 beta 之后被删除。)
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);
...加载语法并创建一个事件。