如何使用GrammarBuilder允许各种顺序的选择
本文关键字:顺序 选择 许各种 何使用 GrammarBuilder | 更新日期: 2023-09-27 18:12:55
我正在开发一个简单的语音识别应用程序。我需要一些语法生成器的帮助。以下是我尝试过的:
Choices choice1 = new Choices(....);
Choices choice2 = new Choices(....);
Choices choice3 = new Choices(....);
GrammarBuilder gb = new GrammarBuilder();
gb.Append(choice1);
gb.Append(choice2);
gb.Append(choice3);
Grammar grammar = new Grammar(gb);
recognitionEngine.LoadGrammar(grammar);
这段代码期望用户按照这个顺序依次输入choice1、choice2和choice3,效果很好。但是我希望代码期望choice1然后choice2然后是choice2和choice3的任意组合。我不确定如何实现这个
可以添加2到3的所有选项。然后将该组合两次添加到GrammarBuilder中。(你有4个选择。)我相信有一个更好的解决方案,虽然这可能看起来像一个工作的round。
我自己使用的是静态srgs -xml文件。我认为它比Choices类有更多的选项。
你也可以动态地做到这一点,看看这个例子。http://gotspeech.net/forums/thread/5206.aspx