LoadGrammarCompletedEventArgs Classe

Définition

Fournit des données pour l'événement LoadGrammarCompleted d'un objet SpeechRecognizer ou SpeechRecognitionEngine.

public ref class LoadGrammarCompletedEventArgs : System::ComponentModel::AsyncCompletedEventArgs
public class LoadGrammarCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
type LoadGrammarCompletedEventArgs = class
    inherit AsyncCompletedEventArgs
Public Class LoadGrammarCompletedEventArgs
Inherits AsyncCompletedEventArgs
Héritage
LoadGrammarCompletedEventArgs

Exemples

L’exemple suivant crée un module de reconnaissance vocale partagé, puis crée deux types de grammaires pour reconnaître des mots spécifiques et pour accepter la dictée gratuite. L’exemple charge de manière asynchrone toutes les grammaires créées dans le module de reconnaissance. Les gestionnaires des événements et SpeechRecognized du module de LoadGrammarCompleted reconnaissance signalent les résultats de la reconnaissance et la grammaire utilisée pour effectuer la reconnaissance.

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

Remarques

Un instance de LoadGrammarCompletedEventArgs est créé lorsque l’objet SpeechRecognitionEngine lève son SpeechRecognitionEngine.LoadGrammarCompleted ou que l’objet SpeechRecognizer déclenche son LoadGrammarCompleted événement. Les événements sont déclenchés lorsque les appels aux méthodes sont LoadGrammarAsync terminés.

Pour obtenir des informations sur l’objet Grammar chargé, accédez à la Grammar propriété dans le gestionnaire de l’événement.

Si le module de reconnaissance rencontre une exception pendant l’opération, la Error propriété est définie sur l’exception et la Loaded propriété du associé Grammar peut être false.

Propriétés

Cancelled

Obtient une valeur qui indique si une opération asynchrone a été annulée.

(Hérité de AsyncCompletedEventArgs)
Error

Obtient une valeur qui indique quelle erreur s'est produite pendant une opération asynchrone.

(Hérité de AsyncCompletedEventArgs)
Grammar

Objet Grammar dont le chargement est terminé.

UserState

Obtient l'identificateur unique de la tâche asynchrone.

(Hérité de AsyncCompletedEventArgs)

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
RaiseExceptionIfNecessary()

Lève une exception fournie par l'utilisateur en cas d'échec d'une opération asynchrone.

(Hérité de AsyncCompletedEventArgs)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi