SpeechRecognizer.AudioStateChanged Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt bei Zustandsänderungen im Audio auf, das von der Erkennung empfangen wird.
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)
Ereignistyp
Beispiele
Im folgenden Beispiel wird ein Handler für das AudioStateChanged
-Ereignis verwendet, um AudioState jedes Mal, wenn er sich mit einem Member der-Enumeration ändert, das neue Erkennungs Modul in die Konsole zu schreiben 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");
}
}
}
}
Hinweise
Um den audiozustand zum Zeitpunkt des Ereignisses zu erhalten, verwenden Sie die- AudioState Eigenschaft der zugeordneten AudioStateChangedEventArgs . Um den aktuellen audiozustand der Eingabe für die Erkennung zu erhalten, verwenden Sie die-Eigenschaft des Erkennungs Moduls AudioState . Weitere Informationen zum Audiostatus finden Sie unter der- AudioState Enumeration.
Wenn Sie einen Delegaten für ein AudioStateChanged
Ereignis erstellen, wird die Methode identifiziert, die das Ereignis behandelt. Um dem Ereignishandler das Ereignis zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird. Weitere Informationen zu Ereignishandlerdelegaten finden Sie unter Ereignisse undDelegaten.