SpeechRecognitionEngine.LoadGrammar(Grammar) Método

Definição

Carrega um Grammar objeto de forma 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 para carregar.

Exceções

Grammar é null.

Grammar não está num estado válido.

Exemplos

O exemplo seguinte mostra parte de uma aplicação de consola que demonstra reconhecimento básico de voz. O exemplo cria um DictationGrammar e carrega-o num reconhecedor 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);
    }
  }
}

Observações

O recognizer lança uma exceção se o Grammar objeto já estiver carregado, estiver a ser carregado assíncronamente ou tiver falhado em carregar em qualquer recognizer. Não podes carregar o mesmo Grammar objeto em múltiplas instâncias de SpeechRecognitionEngine. Em vez disso, crie um novo Grammar objeto para cada SpeechRecognitionEngine instância.

Se o reconhecedor estiver a funcionar, as aplicações devem usar RequestRecognizerUpdate para pausar o motor de reconhecimento de fala antes de carregar, descarregar, ativar ou desativar uma gramática.

Quando carregas uma gramática, ela está ativada por defeito. Para desativar 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

Ver também