SpeechRecognitionEngine.EmulateRecognizeCompleted Gebeurtenis

Definitie

Wordt gegenereerd wanneer de asynchrone SpeechRecognitionEngine herkenningsbewerking van geëmuleerde invoer wordt voltooid.

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) 

Gebeurtenistype

Voorbeelden

Het volgende voorbeeld maakt deel uit van een consoletoepassing die een grammatica van spraakherkenning laadt en asynchrone geëmuleerde invoer demonstreert, de bijbehorende herkenningsresultaten en de bijbehorende gebeurtenissen die door de spraakherkenning worden gegenereerd.

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

Opmerkingen

Elke EmulateRecognizeAsync methode begint een asynchrone herkenningsbewerking. De SpeechRecognitionEngine gebeurtenis wordt gegenereerd EmulateRecognizeCompleted wanneer de asynchrone bewerking wordt voltooid.

De EmulateRecognizeAsync bewerking kan de , SpeechHypothesizeden SpeechRecognitionRejectedSpeechRecognized gebeurtenissen SpeechDetectedverhogen. De EmulateRecognizeCompleted gebeurtenis is de laatste gebeurtenis die wordt gegenereerd door de recognizer voor een bepaalde bewerking.

Als geëmuleerde herkenning is geslaagd, hebt u toegang tot het herkenningsresultaat met behulp van een van de volgende opties:

Als geëmuleerde herkenning niet is geslaagd, wordt de SpeechRecognized gebeurtenis niet gegenereerd en wordt de Result gebeurtenis null.

EmulateRecognizeCompletedEventArgs is afgeleid van AsyncCompletedEventArgs.

SpeechRecognizedEventArgs is afgeleid van RecognitionEventArgs.

Wanneer u een EmulateRecognizeCompleted gemachtigde maakt, identificeert u de methode die de gebeurtenis verwerkt. Als u de gebeurtenis wilt koppelen aan uw gebeurtenis-handler, voegt u een exemplaar van de gemachtigde toe aan de gebeurtenis. De gebeurtenis-handler wordt aangeroepen wanneer de gebeurtenis plaatsvindt, tenzij u de gemachtigde verwijdert. Zie Gebeurtenissen en gemachtigden voor meer informatie over gedelegeerden voor gebeurtenissen en gemachtigden.

Van toepassing op

Zie ook