SpeechRecognitionEngine..::..UnloadAllGrammars Method |
SpeechRecognitionEngine Class Example See Also Send Feedback |
Unloads all Grammar objects from the recognizer.
Namespace:
Microsoft.Speech.Recognition
Assembly:
Microsoft.Speech (in Microsoft.Speech.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Sub UnloadAllGrammars |
Visual Basic (Usage) |
---|
Dim instance As SpeechRecognitionEngine instance.UnloadAllGrammars() |
C# |
---|
public void UnloadAllGrammars() |
Remarks
If the recognizer is currently loading a Grammar asynchronously, this method waits until the Grammar is loaded, before it unloads all of the Grammar objects from the SpeechRecognitionEngine instance.
To unload a specific grammar, use the UnloadGrammar method.
Examples
The following example shows part of a console application that demonstrates the synchronous loading and unloading of speech recognition grammars.
Copy Code | |
---|---|
Loading grammars... Loaded grammars: - Grammar1 - Grammar2 - Grammar3 Unloading Grammar1... Loaded grammars: - Grammar2 - Grammar3 Unloading all grammars... No grammars loaded. Press any key to exit... |
C# | Copy Code |
---|---|
using System;
using System.Collections.Generic;
using System.Globalization;
using Microsoft.Speech.Recognition;
namespace UnloadGrammars
{
class Program
{
static void Main(string[] args)
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
Console.WriteLine("Loading grammars...");
// Create and load a number of grammars.
Grammar grammar1 = new Grammar(new GrammarBuilder("first grammar"));
grammar1.Name = "Grammar1";
recognizer.LoadGrammar(grammar1);
Grammar grammar2 = new Grammar(new GrammarBuilder("second grammar"));
grammar2.Name = "Grammar2";
recognizer.LoadGrammar(grammar2);
Grammar grammar3 = new Grammar(new GrammarBuilder("third grammar"));
grammar3.Name = "Grammar3";
recognizer.LoadGrammar(grammar3);
// List the recognizer's loaded grammars.
ListGrammars(recognizer);
// Unload one grammar and list the loaded grammars.
Console.WriteLine("Unloading Grammar1...");
recognizer.UnloadGrammar(grammar1);
ListGrammars(recognizer);
// Unload all grammars and list the loaded grammars.
Console.WriteLine("Unloading all grammars...");
recognizer.UnloadAllGrammars();
ListGrammars(recognizer);
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
private static void ListGrammars(SpeechRecognitionEngine recognizer)
{
// Make a copy of the recognizer's grammar collection.
List<Grammar> loadedGrammars = new List<Grammar>(recognizer.Grammars);
if (loadedGrammars.Count > 0)
{
Console.WriteLine("Loaded grammars:");
foreach (Grammar g in recognizer.Grammars)
{
Console.WriteLine(" - {0}", g.Name);
}
}
else
{
Console.WriteLine("No grammars loaded.");
}
Console.WriteLine();
}
}
} |