SpeechRecognitionEngine.UnloadAllGrammars Método

Definición

Descarga todos los objetos Grammar del reconocedor.

public:
 void UnloadAllGrammars();
public void UnloadAllGrammars ();
member this.UnloadAllGrammars : unit -> unit
Public Sub UnloadAllGrammars ()

Ejemplos

En el ejemplo siguiente se muestra parte de una aplicación de consola que muestra la carga y descarga sincrónicas de gramáticas de reconocimiento de voz.

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

Comentarios

Si el reconocedor está cargando un Grammar objeto de forma asincrónica, este método espera hasta Grammar que se carga, antes de descargar todos los Grammar objetos de la SpeechRecognitionEngine instancia.

Para descargar una gramática específica, use el UnloadGrammar método .

Se aplica a

Consulte también