RecognizerUpdateReachedEventArgs Clase

Definición

Devuelve datos de un evento RecognizerUpdateReached o RecognizerUpdateReached.

public ref class RecognizerUpdateReachedEventArgs : EventArgs
public class RecognizerUpdateReachedEventArgs : EventArgs
type RecognizerUpdateReachedEventArgs = class
    inherit EventArgs
Public Class RecognizerUpdateReachedEventArgs
Inherits EventArgs
Herencia
RecognizerUpdateReachedEventArgs

Ejemplos

En el ejemplo siguiente se muestra una aplicación de consola que carga y descarga Grammar objetos. La aplicación usa el RequestRecognizerUpdate método para solicitar al motor de reconocimiento de voz que se detenga para que pueda recibir una actualización. A continuación, la aplicación carga o descarga un Grammar objeto .

En cada actualización, un controlador para SpeechRecognitionEngine.RecognizerUpdateReached el evento escribe el nombre y el estado de los objetos cargados Grammar actualmente en la consola. A medida que las gramáticas se cargan y descargan, la aplicación reconoce primero los nombres de los animales de granja, luego los nombres de los animales de granja y los nombres de las frutas y, a continuación, solo los nombres de las frutas.

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

Comentarios

RecognizerUpdateReached los eventos proporcionan un mecanismo para pausar un motor de reconocimiento de voz para aplicar modificaciones atómicas y sincrónicas, como cargar y descargar gramáticas.

Si la aplicación usa una SpeechRecognitionEngine instancia para administrar el reconocimiento, puede usar uno de los SpeechRecognitionEngine.RequestRecognizerUpdate métodos para solicitar que el motor se detenga para recibir una actualización. La SpeechRecognitionEngine instancia genera un SpeechRecognitionEngine.RecognizerUpdateReached evento cuando está listo para la actualización.

Mientras una SpeechRecognitionEngine instancia está en pausa, puede cargar, descargar, habilitar y deshabilitar Grammar objetos y modificar valores para las BabbleTimeoutpropiedades , InitialSilenceTimeouty EndSilenceTimeout .

Si la aplicación usa una SpeechRecognizer instancia para administrar el reconocimiento, puede usar uno de los SpeechRecognizer.RequestRecognizerUpdate métodos para solicitar que el motor se detenga para recibir una actualización. La SpeechRecognizer instancia genera un SpeechRecognizer.RecognizerUpdateReached evento cuando está listo para la actualización.

Mientras una SpeechRecognizer instancia está en pausa, puede cargar, descargar, habilitar y deshabilitar Grammar objetos.

Al controlar SpeechRecognitionEngine.RecognizerUpdateReached eventos y SpeechRecognizer.RecognizerUpdateReached , un motor de reconocimiento se detiene hasta que el controlador de eventos vuelve.

RecognizerUpdateReachedEventArgs se deriva de EventArgs.

Propiedades

AudioPosition

Obtiene la posición de audio asociada al evento.

UserToken

Obtiene el UserToken objeto pasado al sistema cuando una aplicación llama a RequestRecognizerUpdate o RequestRecognizerUpdate.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también