Не удается загрузить внешнюю ссылку на правило Microsoft Speech Grammar

Я использую 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
  • Я попытался установить абсолютный путь
  • Ошибка парсинга подъема файла Если я ставлю ошибку
  • Если я поставлю неправильные значения в ruleref, например, other2.xml, он все равно зациклится.

Код C# здесь l.75: https://github.com/JpEncausse/WSRMacro/blob/master/WSRMacro/WSRMacro.cs

Я думаю, что он не находит файл, определенный ruleref.

  • Он искал в относительном пути?
  • Есть ли способ установить каталог грамматики по умолчанию?

person Jean-Philippe Encausse    schedule 22.08.2012    source источник
comment
Кажется, это COMException: 0x80045024 Ссылка на правило для импортированной грамматики, которую не удалось разрешить.   -  person Jean-Philippe Encausse    schedule 24.08.2012
comment
Нашел также это описание: bliny.net/blog/post/   -  person Jean-Philippe Encausse    schedule 24.08.2012


Ответы (1)


Согласно предыдущему комментарию, похоже, это известная ошибка.. .

person Jean-Philippe Encausse    schedule 18.12.2012