Поделиться через


SpeechRecognitionEngine.LoadGrammar(Grammar) Метод

Определение

Выполняет синхронную загрузку объекта Grammar.

public:
 void LoadGrammar(System::Speech::Recognition::Grammar ^ grammar);
public void LoadGrammar (System.Speech.Recognition.Grammar grammar);
member this.LoadGrammar : System.Speech.Recognition.Grammar -> unit
Public Sub LoadGrammar (grammar As Grammar)

Параметры

grammar
Grammar

Объект грамматики для загрузки.

Исключения

Grammar имеет значение null.

Состояние Grammar недопустимо.

Примеры

В следующем примере показана часть консольного приложения, демонстрирующая базовое распознавание речи. В этом примере создается DictationGrammar и загружается в распознаватель речи.

using System;  
using System.Speech.Recognition;  

namespace SpeechRecognitionApp  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Create an in-process speech recognizer for the en-US locale.  
      using (  
      SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(  
          new System.Globalization.CultureInfo("en-US")))  
      {  

        // Create and load a dictation grammar.  
        recognizer.LoadGrammar(new DictationGrammar());  

        // Add a handler for the speech recognized event.  
        recognizer.SpeechRecognized +=   
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Start asynchronous, continuous speech recognition.  
        recognizer.RecognizeAsync(RecognizeMode.Multiple);  

        // Keep the console window open.  
        while (true)  
        {  
          Console.ReadLine();  
        }  
      }  
    }  

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("Recognized text: " + e.Result.Text);  
    }  
  }  
}  

Комментарии

Распознаватель создает исключение, если Grammar объект уже загружен, загружается асинхронно или не удалось загрузить в какой-либо распознаватель. Нельзя загрузить один и тот же Grammar объект в несколько экземпляров SpeechRecognitionEngine. Вместо этого создайте новый Grammar объект для каждого экземпляра SpeechRecognitionEngine .

Если распознаватель запущен, приложения должны использовать для RequestRecognizerUpdate приостановки обработчика распознавания речи перед загрузкой, выгрузкой, включением или отключением грамматики.

При загрузке грамматики она включена по умолчанию. Чтобы отключить загруженную грамматику Enabled , используйте свойство .

Чтобы загрузить Grammar объект асинхронно, используйте LoadGrammarAsync метод .

Применяется к

См. также раздел