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