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 jest w nieprawidłowym stanie.

Przykłady

Poniższy przykład przedstawia część aplikacji konsolowej, która demonstruje podstawowe rozpoznawanie mowy. Przykład tworzy DictationGrammar i ładuje do aparatu 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

Aparat rozpoznawania zgłasza wyjątek, jeśli Grammar obiekt jest już załadowany, jest ładowany asynchronicznie lub nie został załadowany do żadnego aparatu rozpoznawania. Nie można załadować tego samego Grammar obiektu do wielu wystąpień SpeechRecognitionEngine . Zamiast tego należy utworzyć nowy Grammar obiekt dla każdego SpeechRecognitionEngine wystąpienia.

Jeśli aparat rozpoznawania jest uruchomiony, aplikacje muszą korzystać RequestRecognizerUpdate z programu, aby wstrzymać wyszukiwarkę mowy przed załadowaniem, wyładowaniem, włączeniem lub wyłączeniem gramatyki.

Po załadowaniu gramatyki jest ona domyślnie włączona. Aby wyłączyć załadowana Gramatyka, należy użyć Enabled właściwości.

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

Dotyczy

Zobacz też