Я относительно новичок и в C #, и в платформе Microsoft Speech, но я работаю над серверным приложением, которое должно будет транскрибировать бесплатную диктовку.Пакет MS Speech Platform казался идеальным и работает на сервере, если я не ссылаюсь на метод AppendDictation () в GrammarBuilder.
Я использую Microsoft Speech Platform SDK 11, и приложение работает нормально, если я определяюграмматика, но в тот момент, когда я добавляю в AppendDictation (), я сталкиваюсь с этой ошибкой:
Cannot find grammar referenced by this grammar.
Даже этот пример из документации, похоже, дает сбой:
GrammarBuilder startStop = new GrammarBuilder();
GrammarBuilder dictation = new GrammarBuilder();
dictation.AppendDictation();
startStop.Append(new SemanticResultKey("StartDictation", new SemanticResultValue("Start Dictation",true)));
startStop.Append(new SemanticResultKey("DictationInput", dictation));
startStop.Append(new SemanticResultKey("StopDictation", new SemanticResultValue("Stop Dictation", false)));
Grammar grammar=new Grammar(startStop);
grammar.Enabled=true;
grammar.Name=" Free-Text Dictation ";
_recognizer.LoadGrammar(grammar);
Странно, еслиЯ изменяю LoadGrammar на LoadGrammarAsync, грамматика загружается (или, по крайней мере, вызывается обработчик событий), но затем происходит сбой recoginzer с этой ошибкой:
Error: At least one grammar must be loaded before doing a recognition.
Я читал, что серверная версия платформы делаетне поддерживает диктовку, но кажется странным, что он поставляется с методом, который просто не работает.Кому-нибудь удалось заставить грамматику диктовки работать на сервере?Что я делаю не так?
Большое спасибо