SpeechRecognitionEngine.AudioStateChanged Zdarzenie
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Zgłaszane, gdy stan zmienia się w dźwięku odbieranym przez element SpeechRecognitionEngine.
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)
Typ wydarzenia
Przykłady
W poniższym przykładzie użyto procedury obsługi dla AudioStateChanged zdarzenia, aby zapisać nowe AudioState rozpoznawanie w konsoli za każdym razem, gdy się zmienia, przy użyciu elementu członkowskiego AudioState wyliczenia.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize an in-process speech recognition engine.
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
{
// Create and load a grammar.
Choices animals = new Choices(new string[] { "cow", "pig", "goat" });
GrammarBuilder farm = new GrammarBuilder("On this farm he had a");
farm.Append(animals);
Grammar farmAnimals = new Grammar(farm);
farmAnimals.Name = "Farm";
recognizer.LoadGrammar(farmAnimals);
// Attach event handlers.
recognizer.AudioStateChanged +=
new EventHandler<AudioStateChangedEventArgs>(recognizer_AudioStateChanged);
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Set the input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start recognition.
recognizer.RecognizeAsync();
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
}
// 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();
}
// Handle the AudioStateChanged event.
static void recognizer_AudioStateChanged(object sender, AudioStateChangedEventArgs e)
{
Console.WriteLine("The new audio state is: " + e.AudioState);
}
}
}
Uwagi
Aby uzyskać stan dźwięku w momencie zdarzenia, użyj AudioState właściwości skojarzonego AudioStateChangedEventArgselementu . Aby uzyskać bieżący stan dźwięku danych wejściowych do rozpoznawania, użyj właściwości rozpoznawania AudioState . Aby uzyskać więcej informacji na temat stanu dźwięku AudioState , zobacz wyliczenie.
Podczas tworzenia delegata AudioStateChanged należy zidentyfikować metodę, która będzie obsługiwać zdarzenie. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, dodaj wystąpienie delegata do zdarzenia. Program obsługi zdarzeń jest wywoływany przy każdym wystąpieniu zdarzenia, o ile nie usunięto delegata. Aby uzyskać więcej informacji na temat delegatów programu obsługi zdarzeń, zobacz Zdarzenia i delegaty.