LoadGrammarCompletedEventArgs Classe

Definição

Fornece dados para o LoadGrammarCompleted evento de um SpeechRecognizer ou SpeechRecognitionEngine objeto.

public ref class LoadGrammarCompletedEventArgs : System::ComponentModel::AsyncCompletedEventArgs
public class LoadGrammarCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
type LoadGrammarCompletedEventArgs = class
    inherit AsyncCompletedEventArgs
Public Class LoadGrammarCompletedEventArgs
Inherits AsyncCompletedEventArgs
Herança
LoadGrammarCompletedEventArgs

Exemplos

O exemplo seguinte cria um reconhecedor de fala partilhada, e depois cria dois tipos de gramáticas para reconhecer palavras específicas e para aceitar ditado livre. O exemplo carrega assíncronamente todas as gramáticas criadas para o reconhecedor. Os responsáveis pelos reconhecedores LoadGrammarCompleted e SpeechRecognized eventos reportam os resultados do reconhecimento e qual a gramática utilizada para realizar o reconhecimento.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    private static SpeechRecognizer recognizer;
    public static void Main(string[] args)
    {

      // Initialize a shared speech recognition engine.
      recognizer = new SpeechRecognizer();

        // Add a handler for the LoadGrammarCompleted event.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);

        // Add a handler for the SpeechRecognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Add a handler for the StateChanged event.
        recognizer.StateChanged +=
          new EventHandler<StateChangedEventArgs>(recognizer_StateChanged);

        // Create the "yesno" grammar and build it into a Grammar object.
        Choices yesChoices = new Choices(new string[] { "yes", "yup", "yah}" });
        SemanticResultValue yesValue =
            new SemanticResultValue(yesChoices, (bool)true);
        Choices noChoices = new Choices(new string[] { "no", "nope", "nah" });
        SemanticResultValue noValue =
            new SemanticResultValue(noChoices, (bool)false);
        SemanticResultKey yesNoKey =
            new SemanticResultKey("yesno", new Choices(new GrammarBuilder[] { yesValue, noValue }));
        Grammar yesnoGrammar = new Grammar(yesNoKey);
        yesnoGrammar.Name = "yesNo";

        // Create the "done" grammar within the constructor of a Grammar object.
        Grammar doneGrammar =
        new Grammar(new GrammarBuilder(new Choices(new string[] { "done", "exit", "quit", "stop" })));
        doneGrammar.Name = "Done";

        // Create a dictation grammar.
        Grammar dictation = new DictationGrammar();
        dictation.Name = "Dictation";

        // Load grammars to the recognizer.
        recognizer.LoadGrammarAsync(yesnoGrammar);
        recognizer.LoadGrammarAsync(doneGrammar);
        recognizer.LoadGrammarAsync(dictation);

        // Keep the console window open.
        Console.ReadLine();
      }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Grammar({0}): {1}", e.Result.Grammar.Name, e.Result.Text);

      // Add event handler code here.
    }

    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      string grammarName = e.Grammar.Name;
      bool grammarLoaded = e.Grammar.Loaded;

      if (e.Error != null)
      {

        Console.WriteLine("LoadGrammar for {0} failed with a {1}.",
        grammarName, e.Error.GetType().Name);

        // Add exception handling code here.
      }

      Console.WriteLine("Grammar {0} {1} loaded.",
      grammarName, (grammarLoaded) ? "is" : "is not");
    }

    // Put the shared speech recognizer into "listening" mode.
    static void recognizer_StateChanged(object sender, StateChangedEventArgs e)
    {
      if (e.RecognizerState != RecognizerState.Stopped)
      {
        recognizer.EmulateRecognizeAsync("Start listening");
      }
    }
  }
}

Observações

Uma instância de LoadGrammarCompletedEventArgs é criada quando o SpeechRecognitionEngine objeto eleva o seu SpeechRecognitionEngine.LoadGrammarCompleted ou o SpeechRecognizer objeto eleva o seu LoadGrammarCompleted evento. Os eventos são levantados quando as chamadas para os LoadGrammarAsync métodos terminam.

Para obter informação sobre o Grammar objeto que foi carregado, acede à Grammar propriedade no handler do evento.

Se o reconhecedor encontrar uma exceção durante a operação, a Error propriedade é definida para a exceção e a Loaded propriedade do associado Grammar pode ser false.

Propriedades

Name Description
Cancelled

Recebe um valor que indica se uma operação assíncrona foi cancelada.

(Herdado de AsyncCompletedEventArgs)
Error

Recebe um valor que indica qual erro ocorreu durante uma operação assíncrona.

(Herdado de AsyncCompletedEventArgs)
Grammar

O Grammar objeto que completou o carregamento.

UserState

Obtém o identificador único para a tarefa assíncrona.

(Herdado de AsyncCompletedEventArgs)

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
RaiseExceptionIfNecessary()

Levanta uma exceção fornecida pelo utilizador se uma operação assíncrona falhou.

(Herdado de AsyncCompletedEventArgs)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também