SpeechRecognitionEngine.UnloadGrammar(Grammar) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membongkar objek tertentu Grammar dari SpeechRecognitionEngine instans.
public:
void UnloadGrammar(System::Speech::Recognition::Grammar ^ grammar);
public void UnloadGrammar (System.Speech.Recognition.Grammar grammar);
member this.UnloadGrammar : System.Speech.Recognition.Grammar -> unit
Public Sub UnloadGrammar (grammar As Grammar)
Parameter
- grammar
- Grammar
Objek tata bahasa yang akan dibongkar.
Pengecualian
Grammar
adalah null
.
Tata bahasa tidak dimuat dalam pengenal ini, atau pengenal ini saat ini memuat tata bahasa secara asinkron.
Contoh
Contoh berikut menunjukkan bagian dari aplikasi konsol yang menunjukkan pemuatan sinkron dan pembongkaran tata bahasa pengenalan ucapan.
Loading grammars...
Loaded grammars:
- Grammar1
- Grammar2
- Grammar3
Unloading Grammar1...
Loaded grammars:
- Grammar2
- Grammar3
Unloading all grammars...
No grammars loaded.
Press any key to exit...
using System;
using System.Collections.Generic;
using System.Globalization;
using System.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();
}
}
}
Keterangan
Jika recognizer berjalan, aplikasi harus menggunakan RequestRecognizerUpdate untuk menjeda SpeechRecognitionEngine instans sebelum memuat, membongkar, mengaktifkan, atau menonaktifkan Grammar objek. Untuk membongkar semua Grammar objek, gunakan UnloadAllGrammars metode .