Aracılığıyla paylaş


SpeechRecognitionEngine.UnloadGrammar(Grammar) Yöntem

Tanım

Belirtilen Grammar nesneyi örnekten SpeechRecognitionEngine kaldırır.

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)

Parametreler

grammar
Grammar

Kaldırılan dil bilgisi nesnesi.

Özel durumlar

Grammar, null değeridir.

Dil bilgisi bu tanıyıcıya yüklenmedi veya bu tanıyıcı şu anda dil bilgisini zaman uyumsuz olarak yüklüyor.

Örnekler

Aşağıdaki örnekte, konuşma tanıma dil bilgisinin zaman uyumlu olarak yüklenmesini ve kaldırılmasını gösteren bir konsol uygulaması bölümü gösterilmektedir.

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();  
    }  
  }  
}  

Açıklamalar

Tanıyıcı çalışıyorsa, uygulamaların bir Grammar nesneyi yüklemeden, kaldırmadan, etkinleştirmeden veya devre dışı bırakmadan önce örneği duraklatmak SpeechRecognitionEngine için kullanması RequestRecognizerUpdate gerekir. Tüm Grammar nesneleri kaldırmak için yöntemini kullanın UnloadAllGrammars .

Şunlara uygulanır

Ayrıca bkz.