Freigeben über


SpeechRecognitionEngine.LoadGrammar(Grammar) Methode

Definition

Lädt synchron ein Grammar-Objekt.

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)

Parameter

grammar
Grammar

Das zu ladende Grammatikobjekt.

Ausnahmen

Grammar ist null.

Grammar ist in keinem gültigen Zustand.

Beispiele

Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht. Im Beispiel wird ein DictationGrammar erstellt und in eine Spracherkennung geladen.

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

Hinweise

Die Erkennung löst eine Ausnahme aus, wenn das Grammar Objekt bereits geladen ist, asynchron geladen wird oder nicht in eine Erkennung geladen wurde. Sie können dasselbe Grammar Objekt nicht in mehrere Instanzen von SpeechRecognitionEngineladen. Erstellen Sie stattdessen ein neues Grammar -Objekt für jede SpeechRecognitionEngine Instanz.

Wenn die Erkennung ausgeführt wird, müssen Anwendungen verwenden RequestRecognizerUpdate , um die Spracherkennungs-Engine vor dem Laden, Entladen, Aktivieren oder Deaktivieren einer Grammatik anzuhalten.

Wenn Sie eine Grammatik laden, ist sie standardmäßig aktiviert. Verwenden Sie die Enabled -Eigenschaft, um eine geladene Grammatik zu deaktivieren.

Verwenden Sie die LoadGrammarAsync -Methode, um ein Grammar Objekt asynchron zu laden.

Gilt für:

Weitere Informationen