Compartir a través de


SpeechRecognitionEngine.EmulateRecognizeCompleted Evento

Definición

Se genera cuando SpeechRecognitionEngine concluye una operación de reconocimiento asincrónica de entrada emulada.

public:
 event EventHandler<System::Speech::Recognition::EmulateRecognizeCompletedEventArgs ^> ^ EmulateRecognizeCompleted;
public event EventHandler<System.Speech.Recognition.EmulateRecognizeCompletedEventArgs> EmulateRecognizeCompleted;
member this.EmulateRecognizeCompleted : EventHandler<System.Speech.Recognition.EmulateRecognizeCompletedEventArgs> 
Public Custom Event EmulateRecognizeCompleted As EventHandler(Of EmulateRecognizeCompletedEventArgs) 
Public Event EmulateRecognizeCompleted As EventHandler(Of EmulateRecognizeCompletedEventArgs) 

Tipo de evento

Ejemplos

El ejemplo siguiente forma parte de una aplicación de consola que carga una gramática de reconocimiento de voz y muestra la entrada emulada asincrónica, los resultados de reconocimiento asociados y los eventos asociados generados por el reconocedor de voz.

using System;  
using System.Speech.Recognition;  
using System.Threading;  

namespace InProcessRecognizer  
{  
  class Program  
  {  
    // Indicate whether the asynchronous emulate recognition  
    // operation has completed.  
    static bool completed;  

    static void Main(string[] args)  
    {  

      // Initialize an instance of an in-process recognizer.  
      using (SpeechRecognitionEngine recognizer =   
        new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))  
      {  
        // Create and load a sample grammar.  
        Grammar testGrammar =  
          new Grammar(new GrammarBuilder("testing testing"));  
        testGrammar.Name = "Test Grammar";  
        recognizer.LoadGrammar(testGrammar);  

        // Attach event handlers for recognition events.  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(SpeechRecognizedHandler);  
        recognizer.EmulateRecognizeCompleted +=  
          new EventHandler<EmulateRecognizeCompletedEventArgs>(  
            EmulateRecognizeCompletedHandler);  

        completed = false;  

        // This EmulateRecognizeAsync call matches the grammar  
        // and generates a SpeechRecognized event.  
        recognizer.EmulateRecognizeAsync("testing testing");  

        // Wait for the asynchronous operation to complete.  
        while (!completed)  
        {  
          Thread.Sleep(333);  
        }  

        completed = false;  

        // This EmulateRecognizeAsync call does not match the grammar  
        // or generate a SpeechRecognized event.  
        recognizer.EmulateRecognizeAsync("testing one two three");  

        // Wait for the asynchronous operation to complete.  
        while (!completed)  
        {  
          Thread.Sleep(333);  
        }  
      }  

      Console.WriteLine();  
      Console.WriteLine("Press any key to exit...");  
      Console.ReadKey();  
    }  

    // Handle the SpeechRecognized event.  
    static void SpeechRecognizedHandler(  
      object sender, SpeechRecognizedEventArgs e)  
    {  
      if (e.Result != null)  
      {  
        Console.WriteLine("Result of 1st call to EmulateRecognizeAsync = {0}",  
          e.Result.Text ?? "<no text>");  
        Console.WriteLine();  
      }  
      else  
      {  
        Console.WriteLine("No recognition result");  
      }  
    }  

    // Handle the EmulateRecognizeCompleted event.  
    static void EmulateRecognizeCompletedHandler(  
      object sender, EmulateRecognizeCompletedEventArgs e)  
    {  
      if (e.Result == null)  
      {  
        Console.WriteLine("Result of 2nd call to EmulateRecognizeAsync = No result generated.");  
      }  

      // Indicate the asynchronous operation is complete.  
      completed = true;  
    }  
  }  
}  

Comentarios

Cada EmulateRecognizeAsync método inicia una operación de reconocimiento asincrónica. SpeechRecognitionEngine genera el EmulateRecognizeCompleted evento cuando finaliza la operación asincrónica.

La EmulateRecognizeAsync operación puede generar los SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejectedy SpeechRecognized . El EmulateRecognizeCompleted evento es el último evento de este tipo que genera el reconocedor para una operación determinada.

Si el reconocimiento emulado se realizó correctamente, puede acceder al resultado del reconocimiento mediante cualquiera de las siguientes opciones:

Si el reconocimiento emulado no se realizó correctamente, el SpeechRecognized evento no se genera y el Result valor será NULL.

EmulateRecognizeCompletedEventArgs se deriva de AsyncCompletedEventArgs.

SpeechRecognizedEventArgs se deriva de RecognitionEventArgs.

Cuando se crea un delegado EmulateRecognizeCompleted, se identifica el método que controlará el evento. Para asociar el evento al controlador, se debe agregar una instancia del delegado al evento. Siempre que se produce el evento, se llama a su controlador, a menos que se quite el delegado. Para obtener más información sobre los delegados del controlador de eventos, vea Eventos y delegados.

Se aplica a

Consulte también