Sdílet prostřednictvím


SpeechRecognitionEngine.LoadGrammar(Grammar) Metoda

Definice

Synchronně načte 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)

Parametry

grammar
Grammar

Gramatický objekt, který se má načíst.

Výjimky

Grammar je null.

Grammar není v platném stavu.

Příklady

Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči. Příklad vytvoří DictationGrammar a načte ho do rozpoznávání řeči.

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

Poznámky

Rozpoznávání vyvolá výjimku, pokud Grammar je objekt již načten, je asynchronně načten nebo se nepodařilo načíst do žádného rozpoznávání. Stejný Grammar objekt nelze načíst do více instancí nástroje SpeechRecognitionEngine. Místo toho vytvořte nový Grammar objekt pro každou SpeechRecognitionEngine instanci.

Pokud je rozpoznávání spuštěné, musí aplikace před načtením, uvolněním, povolením nebo zakázáním gramatiky pozastavit RequestRecognizerUpdate modul rozpoznávání řeči.

Když načtete gramatiku, je ve výchozím nastavení povolená. Pokud chcete zakázat načtenou gramatiku Enabled , použijte vlastnost .

Pokud chcete načíst Grammar objekt asynchronně, použijte metodu LoadGrammarAsync .

Platí pro

Viz také