SpeechRecognitionEngine.SpeechRecognized 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.
Gegenereerd wanneer de SpeechRecognitionEngine invoer wordt ontvangen die overeenkomt met een van de geladen en ingeschakelde Grammar objecten.
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)
Gebeurtenistype
Voorbeelden
Het volgende voorbeeld maakt deel uit van een consoletoepassing waarmee spraakherkenning grammatica wordt gemaakt, een Grammar object wordt gemaakt en geladen in de SpeechRecognitionEngine toepassing om herkenning uit te voeren. In het voorbeeld ziet u spraakinvoer voor een SpeechRecognitionEngine, de bijbehorende herkenningsresultaten en de bijbehorende gebeurtenissen die door de spraakherkenning worden gegenereerd.
Gesproken invoer zoals 'Ik wil vliegen van Chicago naar Miami' activeert een SpeechRecognized gebeurtenis. Het spreken van de zin 'Fly me from Houston to Chicago ' zal geen gebeurtenis activeren SpeechRecognized .
In het voorbeeld wordt een handler gebruikt voor de SpeechRecognized gebeurtenis om herkende woordgroepen en de semantiek weer te geven die ze in de console bevatten.
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);
}
}
}
Opmerkingen
U kunt een herkenningsbewerking starten met behulp van een van de Recognize of RecognizeAsync methoden. De recognizer verhoogt de SpeechRecognized gebeurtenis als deze bepaalt dat invoer overeenkomt met een van de geladen Grammar objecten met voldoende betrouwbaarheid om herkenning te vormen. De Result eigenschap van het SpeechRecognitionRejectedEventArgs object bevat het geaccepteerde RecognitionResult object. Handlers van SpeechRecognized gebeurtenissen kunnen de herkende woordgroep en een lijst met herkenning Alternates met lagere betrouwbaarheidsscores verkrijgen.
Als uw toepassing een SpeechRecognitionEngine exemplaar gebruikt, kunt u het betrouwbaarheidsniveau wijzigen waarop spraakinvoer wordt geaccepteerd of geweigerd met een van de UpdateRecognizerSetting methoden. U kunt wijzigen hoe de spraakherkenning reageert op niet-spraakinvoer met behulp van de BabbleTimeout, InitialSilenceTimeouten EndSilenceTimeouteigenschappen EndSilenceTimeoutAmbiguous .
Wanneer de recognizer invoer ontvangt die overeenkomt met een grammatica, kan het object de GrammarSpeechRecognized gebeurtenis genereren. De gebeurtenis van SpeechRecognized het Grammar object wordt gegenereerd vóór de gebeurtenis van SpeechRecognized de spraakherkenning. Taken die specifiek zijn voor een bepaalde grammatica, moeten altijd worden uitgevoerd door een handler voor de SpeechRecognized gebeurtenis.
Wanneer u een SpeechRecognized gemachtigde maakt, identificeert u de methode die de gebeurtenis 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.