SpeechRecognizer.AudioStateChanged Gebeurtenis

Definitie

Treedt op wanneer de status verandert in de audio die wordt ontvangen door de recognizer.

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

Gebeurtenistype

Voorbeelden

In het volgende voorbeeld wordt een handler gebruikt voor de gebeurtenis om de AudioStateChanged nieuwe AudioState versie van de recognizer naar de console te schrijven telkens wanneer deze wordt gewijzigd met behulp van een lid van de AudioState opsomming.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    private static SpeechRecognizer recognizer;
    public static void Main(string[] args)
    {

      // Initialize a shared speech recognition engine.
      recognizer = new SpeechRecognizer();

        // Create and load a grammar.
        Grammar dictation = new DictationGrammar();
        dictation.Name = "Dictation Grammar";
        recognizer.LoadGrammar(dictation);

        // Attach event handlers.
        recognizer.AudioStateChanged +=
          new EventHandler<AudioStateChangedEventArgs>(recognizer_AudioStateChanged);
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
        recognizer.StateChanged +=
          new EventHandler<StateChangedEventArgs>(recognizer_StateChanged);

        // Keep the console window open.
        Console.ReadLine();
      }

    // Handle the AudioStateChanged event.
    static void recognizer_AudioStateChanged(object sender, AudioStateChangedEventArgs e)
    {
      Console.WriteLine("The new audio state is: " + e.AudioState);
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      if (e.Result != null && e.Result.Text != null)
      {
        Console.WriteLine();
        Console.WriteLine("  Recognized text =  {0}", e.Result.Text);
        Console.WriteLine();
      }
      else
      {
        Console.WriteLine("  Recognized text not available.");
      }

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

    // Put the recognizer into Listening mode.
    static void recognizer_StateChanged(object sender, StateChangedEventArgs e)
    {
      if (e.RecognizerState != RecognizerState.Stopped)
      {
        Console.WriteLine();
        recognizer.EmulateRecognizeAsync("Start listening");
      }
    }
  }
}

Opmerkingen

Gebruik de AudioState eigenschap van de bijbehorende AudioStateChangedEventArgseigenschap om de audiostatus op het moment van de gebeurtenis op te halen. Gebruik de eigenschap van de recognizer om de huidige audiostatus van de invoer voor de recognizer AudioState op te halen. Zie de opsomming voor meer informatie over de AudioState audiostatus.

Wanneer u een gemachtigde voor een AudioStateChanged gebeurtenis 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