Я использую 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.
- Он искал в относительном пути?
- Есть ли способ установить каталог грамматики по умолчанию?