SpeechRecognizer.AudioStateChanged Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Ocorre quando o estado é alterado no áudio que está sendo recebido pelo reconhecedor.
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 a seguir usa um manipulador para o AudioStateChanged
evento gravar o novo reconhecedor no AudioState console sempre que ele é alterado 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");
}
}
}
}
Comentários
Para obter o estado de áudio no momento do evento, use a AudioState Propriedade do associado AudioStateChangedEventArgs . Para obter o estado de áudio atual da entrada para o reconhecedor, use a propriedade do reconhecedor AudioState . Para obter mais informações sobre o estado de áudio, consulte a AudioState enumeração.
Quando você cria um delegado para um AudioStateChanged
evento, identifica o método que manipulará o evento. Para associar o evento ao manipulador de eventos, adicione uma instância do delegado ao evento. O manipulador de eventos é chamado sempre que o evento ocorre, a menos que você remova o representante. Para obter mais informações sobre delegados de manipulador de eventos, consulte eventos e delegados.