Sdílet prostřednictvím


SpeechRecognizer.AudioStateChanged Událost

Definice

Nastane, když se stav změní ve zvuku přijatém rozpoznáváním.

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) 

Event Type

Příklady

Následující příklad používá obslužnou rutinu AudioStateChanged události k zápisu nového AudioState rozpoznávání do konzoly pokaždé, když se změní pomocí člena výčtu AudioState .

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

Poznámky

Chcete-li získat stav zvuku v době události, použijte AudioState vlastnost přidružené AudioStateChangedEventArgs. Pokud chcete získat aktuální stav zvuku vstupu do rozpoznávání, použijte vlastnost rozpoznávání AudioState . Další informace o stavu zvuku naleznete v výčtu AudioState .

Při vytváření delegáta AudioStateChanged pro událost identifikujete metodu, která bude zpracovávat událost. Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci delegáta. Obslužná rutina události se volá při každém výskytu události, pokud delegáta neodeberete. Další informace o delegátech obslužné rutiny událostí naleznete v tématu Události a delegáty.

Platí pro

Viz také