SpeechRecognizer.SpeechDetected Gebeurtenis
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Treedt op wanneer de recognizer invoer detecteert die als spraak kan worden geïdentificeerd.
public:
event EventHandler<System::Speech::Recognition::SpeechDetectedEventArgs ^> ^ SpeechDetected;
public event EventHandler<System.Speech.Recognition.SpeechDetectedEventArgs> SpeechDetected;
member this.SpeechDetected : EventHandler<System.Speech.Recognition.SpeechDetectedEventArgs>
Public Custom Event SpeechDetected As EventHandler(Of SpeechDetectedEventArgs)
Public Event SpeechDetected As EventHandler(Of SpeechDetectedEventArgs)
Gebeurtenistype
Voorbeelden
Het volgende voorbeeld maakt deel uit van een consoletoepassing voor het kiezen van steden van oorsprong en bestemming voor een vlucht. De toepassing herkent zinnen zoals 'Ik wil vliegen van Miami naar Chicago'. In het voorbeeld wordt de SpeechDetected gebeurtenis gebruikt om elke AudioPosition keer dat spraak wordt gedetecteerd te rapporteren.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize a shared speech recognition engine.
{
using (SpeechRecognizer recognizer =
new SpeechRecognizer())
{
// Create a grammar.
Choices cities = new Choices(new string[] {
"Los Angeles", "New York", "Chicago", "San Francisco", "Miami", "Dallas" });
GrammarBuilder gb = new GrammarBuilder();
gb.Append("I would like to fly from");
gb.Append(cities);
gb.Append("to");
gb.Append(cities);
// Create a Grammar object and load it to the recognizer.
Grammar g = new Grammar(gb);
g.Name = ("City Chooser");
recognizer.LoadGrammarAsync(g);
// Attach event handlers.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
recognizer.SpeechDetected +=
new EventHandler<SpeechDetectedEventArgs>(recognizer_SpeechDetected);
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the SpeechDetected event.
static void recognizer_SpeechDetected(object sender, SpeechDetectedEventArgs e)
{
Console.WriteLine("Speech detected at AudioPosition = {0}", e.AudioPosition);
}
// 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)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
}
}
}
Opmerkingen
De shared recognizer kan deze gebeurtenis genereren als reactie op invoer. De AudioPosition eigenschap van het gekoppelde SpeechDetectedEventArgs object geeft de locatie aan in de invoerstroom waar de recognizer spraak heeft gedetecteerd. Zie de AudioPosition en eigenschappen en RecognizerAudioPosition methoden EmulateRecognizeEmulateRecognizeAsync voor meer informatie.
Wanneer u een gemachtigde voor een SpeechDetected gebeurtenis maakt, identificeert u de methode waarmee de gebeurtenis wordt verwerkt. Als u de gebeurtenis wilt koppelen aan uw gebeurtenis-handler, voegt u een exemplaar van de gemachtigde toe aan de gebeurtenis. De gebeurtenis-handler wordt aangeroepen wanneer de gebeurtenis plaatsvindt, tenzij u de gemachtigde verwijdert. Zie Gebeurtenissen en gemachtigden voor meer informatie over gedelegeerden voor gebeurtenissen en gemachtigden.