RecognizeCompletedEventArgs Class
Provides data for the RecognizeCompleted event raised by a SpeechRecognitionEngine or a SpeechRecognizer object.
System.EventArgs
System.ComponentModel.AsyncCompletedEventArgs
System.Speech.Recognition.RecognizeCompletedEventArgs
Namespace: System.Speech.Recognition
Assembly: System.Speech (in System.Speech.dll)
The RecognizeCompletedEventArgs type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | AudioPosition | Gets the location in the input device's audio stream associated with the SpeechRecognitionEngine.RecognizeCompleted event. |
![]() | BabbleTimeout | Gets a value that indicates whether a babble timeout generated the SpeechRecognitionEngine.RecognizeCompleted event. |
![]() | Cancelled | Gets a value indicating whether an asynchronous operation has been canceled. (Inherited from AsyncCompletedEventArgs.) |
![]() | Error | Gets a value indicating which error occurred during an asynchronous operation. (Inherited from AsyncCompletedEventArgs.) |
![]() | InitialSilenceTimeout | Gets a value that indicates whether an initial silence timeout generated the SpeechRecognitionEngine.RecognizeCompleted event. |
![]() | InputStreamEnded | Gets a value indicating whether the input stream ended. |
![]() | Result | Gets the recognition result. |
![]() | UserState | Gets the unique identifier for the asynchronous task. (Inherited from AsyncCompletedEventArgs.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | RaiseExceptionIfNecessary | Raises a user-supplied exception if an asynchronous operation failed. (Inherited from AsyncCompletedEventArgs.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
An instance of RecognizeCompleted is created when the SpeechRecognitionEngine or the SpeechRecognizer object raises its SpeechRecognized event after completing a RecognizeAsync operation. For more information about speech recognition events, see Using Speech Recognition Events.
The following example performs asynchronous speech recognition on a speech recognition grammar, using the SpeechRecognitionEngine.RecognizeAsync method with the in-process recognizer. The example uses Choices and GrammarBuilder objects to create the speech recognition grammar before building it into a Grammar object. A handler for the SpeechRecognitionEngine.RecognizeCompleted event outputs information about the recognition operation to the console.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
private static SpeechRecognitionEngine recognizer;
public static void Main(string[] args)
{
// Initialize a SpeechRecognitionEngine object and set its input.
recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
recognizer.SetInputToDefaultAudioDevice();
// Configure recognition parameters.
recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5.0);
recognizer.BabbleTimeout = TimeSpan.FromSeconds(3.0);
recognizer.EndSilenceTimeout = TimeSpan.FromSeconds(1.0);
recognizer.EndSilenceTimeoutAmbiguous = TimeSpan.FromSeconds(1.0);
// Add a handler for the LoadGrammarCompleted event.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Add a handler for the RecognizeCompleted event.
recognizer.RecognizeCompleted +=
new EventHandler<RecognizeCompletedEventArgs>(recognizer_RecognizeCompleted);
// Create a speech recognition grammar and build it into a Grammar object.
Choices bankingMenu = new Choices(new string[]
{ "Access accounts", "Transfer funds", "Pay bills", "Get loan balance" });
GrammarBuilder banking = new GrammarBuilder(bankingMenu);
Grammar bankGrammar = new Grammar(banking);
bankGrammar.Name = "Banking Menu";
// Load the Grammar objects to the recognizer.
recognizer.LoadGrammarAsync(bankGrammar);
// 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: Grammar ({0}), Text ({1}), Confidence ({2}), AudioPosition ({3}).",
e.Result.Grammar.Name, e.Result.Text, e.Result.Confidence, 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)
{
string grammarName = e.Grammar.Name;
bool grammarLoaded = e.Grammar.Loaded;
bool grammarEnabled = e.Grammar.Enabled;
if (e.Error != null)
{
Console.WriteLine("LoadGrammar for {0} failed with a {1}.",
grammarName, e.Error.GetType().Name);
// Add exception handling code here.
}
Console.WriteLine("Grammar {0} {1} loaded and {2} enabled.", grammarName,
(grammarLoaded) ? "is" : "is not", (grammarEnabled) ? "is" : "is not");
}
}
}
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
