SpeechRecognizer.EmulateRecognizeCompleted Zdarzenie

Definicja

Występuje, gdy udostępniony aparat rozpoznawania zakończy asynchroniczne operacje rozpoznawania dla emulowanej danych wejściowych.

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) 

Typ zdarzenia

EventHandler<EmulateRecognizeCompletedEventArgs>

Przykłady

Poniższy przykład jest częścią aplikacji konsolowej, która ładuje gramatykę rozpoznawania mowy i pokazuje asynchroniczne emulowane dane wejściowe, skojarzone wyniki rozpoznawania i skojarzone zdarzenia zgłoszone przez aparat rozpoznawania mowy. Jeśli funkcja rozpoznawania mowy systemu Windows nie jest uruchomiona, uruchomienie tej aplikacji również spowoduje uruchomienie funkcji rozpoznawania mowy systemu Windows. Jeśli funkcja rozpoznawania mowy w systemie Windows jest w trybie uśpienia , EmulateRecognizeAsync zawsze zwraca wartość null.

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

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

    static void Main(string[] args)  
    {  

      // Initialize an instance of the shared recognizer.  
      using (SpeechRecognizer recognizer = new SpeechRecognizer())  
      {  
        // 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 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("Recognition result = {0}",  
          e.Result.Text ?? "<no text>");  
      }  
      else  
      {  
        Console.WriteLine("No recognition result");  
      }  
    }  

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

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

Uwagi

Każda EmulateRecognizeAsync Metoda rozpoczyna asynchroniczne operacje rozpoznawania. Aparat rozpoznawania zgłasza EmulateRecognizeCompleted zdarzenie w momencie zakończenia operacji asynchronicznej.

Asynchroniczne operacje rozpoznawania mogą podnieść SpeechDetected SpeechHypothesized zdarzenia,, SpeechRecognitionRejected i SpeechRecognized . EmulateRecognizeCompletedZdarzenie jest ostatnim zdarzeniem, które aparat rozpoznawania zgłasza dla danej operacji.

Podczas tworzenia delegata dla zdarzenia należy EmulateRecognizeCompleted zidentyfikować metodę, która będzie obsługiwać zdarzenie. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, Dodaj wystąpienie delegata do zdarzenia. Program obsługi zdarzeń jest wywoływany przy każdym wystąpieniu zdarzenia, o ile nie usunięto delegata. Aby uzyskać więcej informacji na temat delegatów obsługi zdarzeń, zobacz Events and delegats.

Dotyczy

Zobacz też