我正在使用 Microsoft Speech API 来执行语音识别。
一切都很好,直到我使用外部规则引用(根据http://msdn.microsoft.com/en-us/library/hh361619)
<grammar version="1.0" xml:lang="fr-FR" mode="voice" root="ruleCalendar" xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0">
<rule id="ruleAddEvent">
<item>Hello</item>
<ruleref uri="#world" />
</rule>
</grammar>
工作正常,但如果我用外部文件替换 ruleref,识别器会在 RecognizeCompleted 事件上循环并且似乎匹配任何东西。
<ruleref uri="other.xml#world" />
- 我试图引用一个非常简单的文件
- 我试图参考 cmnrules.cfg
- 我尝试设置绝对路径
- 文件上升解析错误如果我输入错误
- 如果我像 other2.xml 这样在 ruleref 中输入错误的值,它仍然会循环
C#code 在这里 l.75: https ://github.com/JpEncausse/WSRMacro/blob/master/WSRMacro/WSRMacro.cs
我认为它没有找到由 ruleref 定义的文件。
- 它是否在相对路径中搜索?
- 有没有办法设置默认语法目录?