Condividi tramite


LoadGrammarCompletedEventArgs Classe

Definizione

Fornisce dati per l'evento LoadGrammarCompleted di un SpeechRecognizer oggetto o SpeechRecognitionEngine .

public ref class LoadGrammarCompletedEventArgs : System::ComponentModel::AsyncCompletedEventArgs
public class LoadGrammarCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
type LoadGrammarCompletedEventArgs = class
    inherit AsyncCompletedEventArgs
Public Class LoadGrammarCompletedEventArgs
Inherits AsyncCompletedEventArgs
Ereditarietà
LoadGrammarCompletedEventArgs

Esempio

L'esempio seguente crea un riconoscimento vocale condiviso e quindi crea due tipi di grammatiche per il riconoscimento di parole specifiche e per l'accettazione della dettatura libera. Nell'esempio vengono caricate in modo asincrono tutte le grammatiche create nel sistema di riconoscimento. I gestori per gli eventi e SpeechRecognized del LoadGrammarCompleted riconoscitore segnalano i risultati del riconoscimento e la grammatica usata per eseguire il riconoscimento.

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

Commenti

Un'istanza di LoadGrammarCompletedEventArgs viene creata quando l'oggetto genera l'oggetto SpeechRecognitionEngineSpeechRecognitionEngine.LoadGrammarCompleted o ne genera LoadGrammarCompleted l'eventoSpeechRecognizer. Gli eventi vengono generati quando vengono completate le chiamate ai LoadGrammarAsync metodi.

Per ottenere informazioni sull'oggetto Grammar caricato, accedere alla Grammar proprietà nel gestore per l'evento.

Se il riconoscitore rileva un'eccezione durante l'operazione, la Error proprietà viene impostata sull'eccezione e la Loaded proprietà dell'oggetto associato Grammar può essere false.

Proprietà

Nome Descrizione
Cancelled

Ottiene un valore che indica se un'operazione asincrona è stata annullata.

(Ereditato da AsyncCompletedEventArgs)
Error

Ottiene un valore che indica l'errore che si è verificato durante un'operazione asincrona.

(Ereditato da AsyncCompletedEventArgs)
Grammar

Oggetto Grammar che ha completato il caricamento.

UserState

Ottiene l'identificatore univoco per l'attività asincrona.

(Ereditato da AsyncCompletedEventArgs)

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
RaiseExceptionIfNecessary()

Genera un'eccezione fornita dall'utente se un'operazione asincrona non è riuscita.

(Ereditato da AsyncCompletedEventArgs)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche