SpeechRecognitionEngine.EmulateRecognizeCompleted Evento

Definizione

Generato quando SpeechRecognitionEngine completa un'operazione di riconoscimento asincrona di input emulato.

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 evento

Esempio

L'esempio seguente fa parte di un'applicazione console che carica una grammatica di riconoscimento vocale e illustra l'input emulato asincrono, i risultati del riconoscimento vocale associati e gli eventi associati generati dal riconoscimento vocale.

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

Commenti

Ogni EmulateRecognizeAsync metodo avvia un'operazione di riconoscimento asincrona. Genera SpeechRecognitionEngine l'evento quando completa l'operazione EmulateRecognizeCompleted asincrona.

L'operazione EmulateRecognizeAsync può generare gli SpeechDetectedeventi , SpeechHypothesized, SpeechRecognitionRejectede SpeechRecognized . L'evento EmulateRecognizeCompleted è l'ultimo evento che il riconoscimento genera per un'operazione specificata.

Se il riconoscimento emulato ha avuto esito positivo, è possibile accedere al risultato del riconoscimento usando uno dei seguenti elementi:

Se il riconoscimento emulato non è riuscito, l'evento SpeechRecognized non viene generato e il Result valore sarà null.

EmulateRecognizeCompletedEventArgs deriva da AsyncCompletedEventArgs.

SpeechRecognizedEventArgs deriva da RecognitionEventArgs.

Quando si crea un delegato di EmulateRecognizeCompleted, si identifica il metodo con cui gestire l'evento. Per associare l'evento al gestore eventi in uso, aggiungere all'evento un'istanza del delegato. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non venga rimosso il delegato. Per altre informazioni sui delegati del gestore eventi, vedere Eventi e delegati.

Si applica a

Vedi anche