1

我正在使用 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 定义的文件。

  • 它是否在相对路径中搜索?
  • 有没有办法设置默认语法目录?
4

1 回答 1

1

根据之前的评论,这似乎是一个已知的错误......

于 2012-12-18T12:40:17.443 回答