Share via


SpeechRecognitionEngine.EmulateRecognizeCompleted Olay

Tanım

öykünülmüş SpeechRecognitionEngine girişin zaman uyumsuz tanıma işlemini sonlandırdığında tetikler.

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 Event EmulateRecognizeCompleted As EventHandler(Of EmulateRecognizeCompletedEventArgs) 
Public Custom Event EmulateRecognizeCompleted As EventHandler(Of EmulateRecognizeCompletedEventArgs) 

Olay Türü

Örnekler

Aşağıdaki örnek, konuşma tanıma dil bilgisini yükleyen ve zaman uyumsuz öykünülmüş girişi, ilişkili tanıma sonuçlarını ve konuşma tanıyıcı tarafından tetiklenen ilişkili olayları gösteren bir konsol uygulamasının parçasıdır.

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

Açıklamalar

Her EmulateRecognizeAsync yöntem zaman uyumsuz bir tanıma işlemi başlatır. , SpeechRecognitionEngine zaman uyumsuz işlemi sonlandırdığında olayı tetikler EmulateRecognizeCompleted .

İşlem EmulateRecognizeAsync , , SpeechHypothesizedSpeechRecognitionRejectedve SpeechRecognized olaylarını SpeechDetectedtetikleyebilir. olay EmulateRecognizeCompleted , tanıyıcının belirli bir işlem için yükselttiği son olaydır.

Öykünülen tanıma başarılı olursa, aşağıdakilerden birini kullanarak tanıma sonucuna erişebilirsiniz:

Öykünülen tanıma başarılı olmazsa, SpeechRecognized olay tetiklenmez ve Result null olur.

EmulateRecognizeCompletedEventArgs , 'den AsyncCompletedEventArgstüretilir.

SpeechRecognizedEventArgs , 'den RecognitionEventArgstüretilir.

Bir EmulateRecognizeCompleted temsilci oluşturduğunuzda, olayı işleyecek yöntemi tanımlarsınız. Olayı olay işleyicinizle ilişkilendirmek için olaya temsilcinin bir örneğini ekleyin. Olay her gerçekleştiğinde, olay işleyici (siz temsilciyi kaldırmadığınız sürece) çağrılır. Olay işleyicisi temsilcileri hakkında daha fazla bilgi için bkz . Olaylar ve Temsilciler.

Şunlara uygulanır

Ayrıca bkz.