SpeechRecognizer.AudioStateChanged Evento

Definição

Ocorre quando o estado muda no áudio recebido pelo reconhecedor.

public:
 event EventHandler<System::Speech::Recognition::AudioStateChangedEventArgs ^> ^ AudioStateChanged;
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) 

Tipo de Evento

Exemplos

O exemplo seguinte usa um handler para o AudioStateChanged evento escrever os novos AudioState reconhecedores na consola cada vez que este muda usando um membro da AudioState enumeração.

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

Observações

Para obter o estado áudio no momento do evento, use a AudioState propriedade do .AudioStateChangedEventArgs Para obter o estado atual do áudio da entrada para o reconhecedor, use a propriedade do AudioState reconhecedor. Para mais informações sobre o estado áudio, consulte a AudioState enumeração.

Quando cria um delegado para um AudioStateChanged evento, identifica o método que irá gerir o evento. Para associar o evento ao seu gestor de eventos, adicione uma instância do delegado ao evento. O gestor de eventos é chamado sempre que o evento ocorre, a menos que remova o delegado. Para mais informações sobre os delegados gestores de eventos, consulte Eventos e Delegados.

Aplica-se a

Ver também