SpeechRecognitionEngine.RecognizeCompleted Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Déclenché lors de la SpeechRecognitionEngine finalisation d’une opération de reconnaissance asynchrone.
public:
event EventHandler<System::Speech::Recognition::RecognizeCompletedEventArgs ^> ^ RecognizeCompleted;
public event EventHandler<System.Speech.Recognition.RecognizeCompletedEventArgs>? RecognizeCompleted;
public event EventHandler<System.Speech.Recognition.RecognizeCompletedEventArgs> RecognizeCompleted;
member this.RecognizeCompleted : EventHandler<System.Speech.Recognition.RecognizeCompletedEventArgs>
Public Custom Event RecognizeCompleted As EventHandler(Of RecognizeCompletedEventArgs)
Public Event RecognizeCompleted As EventHandler(Of RecognizeCompletedEventArgs)
Type d'événement
Exemples
L’exemple suivant reconnaît les expressions telles que « Afficher la liste des artistes dans la catégorie jazz » ou « Afficher l’évangile des albums ». L’exemple utilise un gestionnaire pour l’événement RecognizeCompleted pour afficher des informations sur les résultats de la reconnaissance dans la console.
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 lists of alternative choices.
Choices listTypes = new Choices(new string[] { "albums", "artists" });
Choices genres = new Choices(new string[] {
"blues", "classical", "gospel", "jazz", "rock" });
// Create a GrammarBuilder object and assemble the grammar components.
GrammarBuilder mediaMenu = new GrammarBuilder("Display");
mediaMenu.Append("the list of", 0, 1);
mediaMenu.Append(listTypes);
mediaMenu.Append("in the", 0, 1);
mediaMenu.Append(genres);
mediaMenu.Append("category.", 0, 1);
// Build a Grammar object from the GrammarBuilder.
Grammar mediaMenuGrammar = new Grammar(mediaMenu);
mediaMenuGrammar.Name = "Media Chooser";
// Attach event handlers.
recognizer.RecognizeCompleted +=
new EventHandler<RecognizeCompletedEventArgs>(recognizer_RecognizeCompleted);
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Load the grammar object to the recognizer.
recognizer.LoadGrammarAsync(mediaMenuGrammar);
// Set the input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start asynchronous, continuous recognition.
recognizer.RecognizeAsync();
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the RecognizeCompleted event.
static void recognizer_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
{
if (e.Error != null)
{
Console.WriteLine(
"RecognizeCompleted, error occurred during recognition: {0}", e.Error);
return;
}
if (e.InitialSilenceTimeout || e.BabbleTimeout)
{
Console.WriteLine(
"RecognizeCompleted: BabbleTimeout({0}), InitialSilenceTimeout({1}).",
e.BabbleTimeout, e.InitialSilenceTimeout);
return;
}
if (e.InputStreamEnded)
{
Console.WriteLine(
"RecognizeCompleted: AudioPosition({0}), InputStreamEnded({1}).",
e.AudioPosition, e.InputStreamEnded);
}
if (e.Result != null)
{
Console.WriteLine("RecognizeCompleted:");
Console.WriteLine(" Grammar: " + e.Result.Grammar.Name);
Console.WriteLine(" Recognized text: " + e.Result.Text);
Console.WriteLine(" Confidence score: " + e.Result.Confidence);
Console.WriteLine(" Audio position: " + e.AudioPosition);
}
else
{
Console.WriteLine("RecognizeCompleted: No result.");
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
}
}
}
Remarques
La SpeechRecognitionEngine méthode de l’objet RecognizeAsync lance une opération de reconnaissance asynchrone. Lorsque le module de reconnaissance finalise l’opération asynchrone, il déclenche cet événement.
À l’aide du gestionnaire de l’événement RecognizeCompleted , vous pouvez accéder à RecognitionResult l’objet RecognizeCompletedEventArgs . Si la reconnaissance n’a pas réussi, RecognitionResult sera null. Pour déterminer si un délai d’expiration ou une interruption de l’entrée audio a provoqué l’échec de la reconnaissance, vous pouvez accéder aux propriétés pour InitialSilenceTimeout, BabbleTimeoutou InputStreamEnded.
Pour plus d’informations, consultez la RecognizeCompletedEventArgs classe.
Pour obtenir des détails sur les meilleurs candidats de reconnaissance rejetés, joignez un gestionnaire pour l’événement SpeechRecognitionRejected .
Lorsque vous créez un RecognizeCompleted délégué, vous identifiez la méthode qui gère l’événement. Pour associer l’événement à votre gestionnaire d’événements, ajoutez une instance du délégué à l’événement. Le gestionnaire d’événements est appelé chaque fois que l’événement se produit, sauf si vous supprimez le délégué.