Comparteix a través de


SpeechRecognitionEngine.LoadGrammar(Grammar) Método

Definición

De forma sincrónica carga un objeto 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)

Parámetros

grammar
Grammar

El objeto de gramática para cargar.

Excepciones

Grammar es null.

Grammar no está en un estado válido.

Ejemplos

En el ejemplo siguiente se muestra parte de una aplicación de consola que muestra el reconocimiento de voz básico. En el ejemplo se crea y DictationGrammar se carga en un reconocedor de voz.

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

Comentarios

El reconocedor produce una excepción si el Grammar objeto ya está cargado, se está cargando de forma asincrónica o no se ha podido cargar en cualquier reconocedor. No se puede cargar el mismo Grammar objeto en varias instancias de SpeechRecognitionEngine. En su lugar, cree un nuevo Grammar objeto para cada SpeechRecognitionEngine instancia.

Si el reconocedor se está ejecutando, las aplicaciones deben usar RequestRecognizerUpdate para pausar el motor de reconocimiento de voz antes de cargar, descargar, habilitar o deshabilitar una gramática.

Cuando se carga una gramática, se habilita de forma predeterminada. Para deshabilitar una gramática cargada, use la Enabled propiedad .

Para cargar un Grammar objeto de forma asincrónica, use el LoadGrammarAsync método .

Se aplica a

Consulte también