Compartilhar via


SpeechRecognitionEngine.LoadGrammar(Grammar) Método

Definição

Carrega um objeto de forma Grammar síncrona.

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 gramatical a ser carregado.

Exceções

Grammar é null.

Grammar não está em um estado 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 o carrega 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á estiver carregado, estiver sendo carregado de forma assíncrona ou não tiver sido carregado em qualquer reconhecedor. Não é possível carregar o mesmo Grammar objeto em várias instâncias de SpeechRecognitionEngine. Em vez disso, crie um novo Grammar objeto para cada SpeechRecognitionEngine instância.

Se o reconhecedor estiver em execução, os aplicativos deverão usar RequestRecognizerUpdate 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 um Grammar objeto de forma assíncrona, use o LoadGrammarAsync método.

Aplica-se a

Confira também