Я создаю приложение для распознавания речи с помощью SAPI. Мне нужно иметь возможность назначать разные уровни приоритета для разных грамматик, которые я использую. (грамматика диктовки и другая грамматика, которую я определил) Мне нужно, чтобы распознаватель выполнял поиск в грамматике, которую я определил, и просматривал грамматику диктовки только в том случае, если речевой ввод не соответствует никаким словам в грамматике, которую я определил. На данный момент у меня есть такой код:
Grammar myGram;
Choices myEditor = new Choices();
myEditor.Add("public");
//adding other choices
myGram = new Grammar(new GrammarBuilder(myEditor));
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();
recognizer.LoadGrammar(myGram);
Grammar dictation = new DictationGrammar();
dictation.Name = "Dictation Grammar";
recognizer.LoadGrammar(dictation);
recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(
SpeechRecognizedHandler);
recognizer.SetInputToDefaultAudioDevice();
recognizer.RecognizeAsync(RecognizeMode.Multiple);
Пожалуйста, дайте мне какие-нибудь идеи о том, как отдать предпочтение myGram над грамматикой диктовки. :)