Бөлісу құралы:


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 метод.

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

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