SpeechRecognitionEngine.SpeechRecognized Händelse
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Utlöses när de SpeechRecognitionEngine tar emot indata som matchar något av dess inlästa och aktiverade Grammar objekt.
public:
event EventHandler<System::Speech::Recognition::SpeechRecognizedEventArgs ^> ^ SpeechRecognized;
public event EventHandler<System.Speech.Recognition.SpeechRecognizedEventArgs>? SpeechRecognized;
public event EventHandler<System.Speech.Recognition.SpeechRecognizedEventArgs> SpeechRecognized;
member this.SpeechRecognized : EventHandler<System.Speech.Recognition.SpeechRecognizedEventArgs>
Public Custom Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs)
Public Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs)
Händelsetyp
Exempel
Följande exempel är en del av ett konsolprogram som skapar grammatik för taligenkänning, konstruerar ett Grammar objekt och läser in det i SpeechRecognitionEngine för att utföra igenkänning. Exemplet visar talindata till en SpeechRecognitionEngine, de associerade igenkänningsresultaten och de associerade händelser som genereras av taligenkänningen.
Talade indata som "Jag vill flyga från Chicago till Miami" utlöser en SpeechRecognized händelse. Att tala frasen "Flyga mig från Houston till Chicago" kommer inte att utlösa en SpeechRecognized händelse.
I exemplet används en hanterare för händelsen för SpeechRecognized att visa fraser som känns igen och de semantik som de innehåller i -konsolen.
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())
{
// Create SemanticResultValue objects that contain cities and airport codes.
SemanticResultValue chicago = new SemanticResultValue("Chicago", "ORD");
SemanticResultValue boston = new SemanticResultValue("Boston", "BOS");
SemanticResultValue miami = new SemanticResultValue("Miami", "MIA");
SemanticResultValue dallas = new SemanticResultValue("Dallas", "DFW");
// Create a Choices object and add the SemanticResultValue objects, using
// implicit conversion from SemanticResultValue to GrammarBuilder
Choices cities = new Choices();
cities.Add(new Choices(new GrammarBuilder[] { chicago, boston, miami, dallas }));
// Build the phrase and add SemanticResultKeys.
GrammarBuilder chooseCities = new GrammarBuilder();
chooseCities.Append("I want to fly from");
chooseCities.Append(new SemanticResultKey("origin", cities));
chooseCities.Append("to");
chooseCities.Append(new SemanticResultKey("destination", cities));
// Build a Grammar object from the GrammarBuilder.
Grammar bookFlight = new Grammar(chooseCities);
bookFlight.Name = "Book Flight";
// Add a handler for the LoadGrammarCompleted event.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Add a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Load the grammar object to the recognizer.
recognizer.LoadGrammarAsync(bookFlight);
// 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);
Console.WriteLine();
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine();
Console.WriteLine("Semantic results:");
Console.WriteLine(" The flight origin is " + e.Result.Semantics["origin"].Value);
Console.WriteLine(" The flight destination is " + e.Result.Semantics["destination"].Value);
}
}
}
Kommentarer
Du kan initiera en igenkänningsåtgärd med någon av Recognize metoderna eller RecognizeAsync . Identifieraren SpeechRecognized genererar händelsen om den fastställer att indata matchar ett av dess inlästa Grammar objekt med en tillräcklig konfidensnivå för att utgöra igenkänning. Egenskapen Result för SpeechRecognitionRejectedEventArgs innehåller det godkända RecognitionResult objektet. Händelsehanterare SpeechRecognized kan hämta den identifierade frasen samt en lista med igenkänning Alternates med lägre konfidenspoäng.
Om ditt program använder en SpeechRecognitionEngine instans kan du ändra konfidensnivån på vilken talindata godkänns eller avvisas med någon av UpdateRecognizerSetting metoderna. Du kan ändra hur taligenkänningen svarar på icke-talindata med hjälp av BabbleTimeoutegenskaperna , InitialSilenceTimeout, EndSilenceTimeoutoch EndSilenceTimeoutAmbiguous .
När identifieraren tar emot indata som matchar en grammatik Grammar kan objektet höja sin SpeechRecognized händelse. Objektets GrammarSpeechRecognized händelse utlöses före taligenkänningens SpeechRecognized händelse. Alla uppgifter som är specifika för en viss grammatik bör alltid utföras av en hanterare för SpeechRecognized händelsen.
När du skapar ett SpeechRecognized ombud identifierar du den metod som ska hantera händelsen. Om du vill associera händelsen med händelsehanteraren lägger du till en instans av ombudet till händelsen. Händelsehanteraren anropas när händelsen inträffar, såvida du inte tar bort ombudet. Mer information om ombud för händelsehanterare finns i Händelser och ombud.