SpeechRecognitionEngine.LoadGrammar(Grammar) Metoda

Definicja

Synchronicznie ładuje Grammar obiekt.

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)

Parametry

grammar
Grammar

Obiekt gramatyki do załadowania.

Wyjątki

Grammar to null.

Grammar nie jest w prawidłowym stanie.

Przykłady

W poniższym przykładzie przedstawiono część aplikacji konsolowej, która demonstruje podstawowe rozpoznawanie mowy. Przykład tworzy element DictationGrammar i ładuje go do rozpoznawania mowy.

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);  
    }  
  }  
}  

Uwagi

Rozpoznawanie zgłasza wyjątek, jeśli Grammar obiekt jest już załadowany, jest ładowany asynchronicznie lub nie może załadować do dowolnego rozpoznawania. Nie można załadować tego samego Grammar obiektu do wielu wystąpień programu SpeechRecognitionEngine. Zamiast tego utwórz nowy Grammar obiekt dla każdego SpeechRecognitionEngine wystąpienia.

Jeśli rozpoznawanie jest uruchomione, aplikacje muszą użyć RequestRecognizerUpdate do wstrzymania aparatu rozpoznawania mowy przed załadowaniem, zwalnianiem, włączaniem lub wyłączaniem gramatyki.

Podczas ładowania gramatyki jest ona domyślnie włączona. Aby wyłączyć załadowaną gramatykę, użyj Enabled właściwości .

Aby załadować Grammar obiekt asynchronicznie, użyj LoadGrammarAsync metody .

Dotyczy

Zobacz też