Partilhar via


SpeechRecognitionEngine.LoadGrammar(Grammar) Método

Definição

Carrega de forma síncrona um 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

O objeto de gramática a ser carregado.

Exceções

Grammar é null.

Grammar não está em um objeto válido.

Exemplos

O exemplo a seguir mostra parte de um aplicativo de console que demonstra o reconhecimento de fala básico. O exemplo cria um DictationGrammar e carrega-os em um reconhecedor de fala.

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

Comentários

O reconhecedor gera uma exceção se o Grammar objeto já está carregado, está sendo carregado de forma assíncrona ou falhou ao ser carregado em nenhum reconhecedor. Não é possível carregar o mesmo Grammar objeto em várias instâncias do SpeechRecognitionEngine. Em vez disso, crie um novo Grammar para cada objeto SpeechRecognitionEngine instância.

Se o reconhecedor estiver em execução, os aplicativos deverão usar RequestRecognizerUpdate o para pausar o mecanismo de reconhecimento de fala antes de carregar, descarregar, habilitar ou desabilitar uma gramática.

Quando você carrega uma gramática, ela é habilitada por padrão. Para desabilitar uma gramática carregada, use a Enabled propriedade.

Para carregar uma Grammar objeto de forma assíncrona, use o LoadGrammarAsync método.

Aplica-se a

Confira também