Partager via


RecognizerUpdateReachedEventArgs Classe

Définition

Retourne des données d'un événement RecognizerUpdateReached ou RecognizerUpdateReached.

public ref class RecognizerUpdateReachedEventArgs : EventArgs
public class RecognizerUpdateReachedEventArgs : EventArgs
type RecognizerUpdateReachedEventArgs = class
    inherit EventArgs
Public Class RecognizerUpdateReachedEventArgs
Inherits EventArgs
Héritage
RecognizerUpdateReachedEventArgs

Exemples

L’exemple suivant montre une application console qui charge et décharge des Grammar objets. L’application utilise la RequestRecognizerUpdate méthode pour demander au moteur de reconnaissance vocale de suspendre afin qu’il puisse recevoir une mise à jour. L’application charge ou décharge ensuite un Grammar objet.

À chaque mise à jour, un gestionnaire d’événements SpeechRecognitionEngine.RecognizerUpdateReached écrit le nom et le status des objets actuellement chargés Grammar dans la console. À mesure que les grammaires sont chargées et déchargées, l’application reconnaît d’abord les noms des animaux de ferme, puis les noms des animaux de ferme et les noms des fruits, puis uniquement les noms des fruits.

using System;  
using System.Speech.Recognition;  
using System.Collections.Generic;  
using System.Threading;  

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

      // Initialize an in-process speech recognition engine and configure its input.  
      using (recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))  
      {  
        recognizer.SetInputToDefaultAudioDevice();  

        // Create the first grammar - Farm.  
        Choices animals = new Choices(new string[] { "cow", "pig", "goat" });  
        GrammarBuilder farm = new GrammarBuilder(animals);  
        Grammar farmAnimals = new Grammar(farm);  
        farmAnimals.Name = "Farm";  

        // Create the second grammar - Fruit.  
        Choices fruit = new Choices(new string[] { "apples", "peaches", "oranges" });  
        GrammarBuilder favorite = new GrammarBuilder(fruit);  
        Grammar favoriteFruit = new Grammar(favorite);  
        favoriteFruit.Name = "Fruit";  

        // Attach event handlers.  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  
        recognizer.RecognizerUpdateReached +=  
          new EventHandler<RecognizerUpdateReachedEventArgs>(recognizer_RecognizerUpdateReached);  
        recognizer.SpeechRecognitionRejected +=  
          new EventHandler<SpeechRecognitionRejectedEventArgs>(recognizer_SpeechRecognitionRejected);  

        // Load the Farm grammar.  
        recognizer.LoadGrammar(farmAnimals);  

        // Start asynchronous, continuous recognition.  
        recognizer.RecognizeAsync(RecognizeMode.Multiple);  
        Console.WriteLine("Starting asynchronous, continuous recognition");  
        Console.WriteLine("  Farm grammar is loaded and enabled.");  

        // Pause to recognize farm animals.  
        Thread.Sleep(7000);  
        Console.WriteLine();  

        // Request an update and load the Fruit grammar.  
        recognizer.RequestRecognizerUpdate();  
        recognizer.LoadGrammarAsync(favoriteFruit);  
        Thread.Sleep(7000);  

        // Request an update and unload the Farm grammar.  
        recognizer.RequestRecognizerUpdate();  
        recognizer.UnloadGrammar(farmAnimals);  
        Thread.Sleep(7000);  
      }  

      // Keep the console window open.  
      Console.WriteLine();  
      Console.WriteLine("Press any key to exit...");  
      Console.ReadKey();  
    }  

    // At the update, get the names and enabled status of the currently loaded grammars.  
    public static void recognizer_RecognizerUpdateReached(  
      object sender, RecognizerUpdateReachedEventArgs e)  
    {  
      Console.WriteLine();  
      Console.WriteLine("Update reached:");  
      Thread.Sleep(1000);  

      string qualifier;  
      List<Grammar> grammars = new List<Grammar>(recognizer.Grammars);  
      foreach (Grammar g in grammars)  
      {  
        qualifier = (g.Enabled) ? "enabled" : "disabled";  
        Console.WriteLine("  {0} grammar is loaded and {1}.",  
        g.Name, qualifier);  
      }  
    }  

    // Write the text of the recognized phrase to the console.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("    Speech recognized: " + e.Result.Text);  
    }  

    // Write a message to the console when recognition fails.  
    static void recognizer_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)  
    {  
      Console.WriteLine("    Recognition attempt failed");  
    }  
  }  
}  

Remarques

RecognizerUpdateReached les événements fournissent un mécanisme permettant de suspendre un moteur de reconnaissance vocale afin d’appliquer des modifications atomiques et synchrones, telles que le chargement et le déchargement de grammaires.

Si votre application utilise un SpeechRecognitionEngine instance pour gérer la reconnaissance, elle peut utiliser l’une SpeechRecognitionEngine.RequestRecognizerUpdate des méthodes pour demander que le moteur s’interrompe pour recevoir une mise à jour. Le SpeechRecognitionEngine instance déclenche un SpeechRecognitionEngine.RecognizerUpdateReached événement lorsqu’il est prêt pour la mise à jour.

Pendant qu’une SpeechRecognitionEngine instance est suspendue, vous pouvez charger, décharger, activer et désactiver Grammar des objets, et modifier des valeurs pour les BabbleTimeoutpropriétés , InitialSilenceTimeoutet EndSilenceTimeout .

Si votre application utilise un SpeechRecognizer instance pour gérer la reconnaissance, elle peut utiliser l’une SpeechRecognizer.RequestRecognizerUpdate des méthodes pour demander que le moteur s’interrompe pour recevoir une mise à jour. Le SpeechRecognizer instance déclenche un SpeechRecognizer.RecognizerUpdateReached événement lorsqu’il est prêt pour la mise à jour.

Pendant qu’une SpeechRecognizer instance est suspendue, vous pouvez charger, décharger, activer et désactiver Grammar des objets.

Lors de la gestion des SpeechRecognitionEngine.RecognizerUpdateReached événements et SpeechRecognizer.RecognizerUpdateReached , un moteur de reconnaissance s’interrompt jusqu’à ce que le gestionnaire d’événements retourne.

RecognizerUpdateReachedEventArgs dérive de EventArgs.

Propriétés

AudioPosition

Obtient la position audio associée à l'événement.

UserToken

Obtient le UserToken transmis au système lorsqu’une application appelle RequestRecognizerUpdate ou RequestRecognizerUpdate.

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)
ToString()

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

(Hérité de Object)

S’applique à

Voir aussi