Partager via


SpeechRecognitionEngine.LoadGrammar(Grammar) Méthode

Définition

Charge un objet Grammar de façon synchrone.

public:
 void LoadGrammar(System::Speech::Recognition::Grammar ^ grammar);
public void LoadGrammar (System.Speech.Recognition.Grammar grammar);
member this.LoadGrammar : System.Speech.Recognition.Grammar -> unit
Public Sub LoadGrammar (grammar As Grammar)

Paramètres

grammar
Grammar

Objet de grammaire à charger.

Exceptions

Grammar a la valeur null.

Grammar n'est pas un état valide.

Exemples

L’exemple suivant montre une partie d’une application console qui illustre la reconnaissance vocale de base. L’exemple crée un DictationGrammar et le charge dans un module de reconnaissance vocale.

using System;  
using System.Speech.Recognition;  

namespace SpeechRecognitionApp  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Create an in-process speech recognizer for the en-US locale.  
      using (  
      SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(  
          new System.Globalization.CultureInfo("en-US")))  
      {  

        // Create and load a dictation grammar.  
        recognizer.LoadGrammar(new DictationGrammar());  

        // Add a handler for the speech recognized event.  
        recognizer.SpeechRecognized +=   
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  

        // Configure input to the speech recognizer.  
        recognizer.SetInputToDefaultAudioDevice();  

        // Start asynchronous, continuous speech recognition.  
        recognizer.RecognizeAsync(RecognizeMode.Multiple);  

        // Keep the console window open.  
        while (true)  
        {  
          Console.ReadLine();  
        }  
      }  
    }  

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("Recognized text: " + e.Result.Text);  
    }  
  }  
}  

Remarques

Le module de reconnaissance lève une exception si l' Grammar objet est déjà chargé, est chargé de manière asynchrone ou n’a pas pu être chargé dans un module de reconnaissance. Vous ne pouvez pas charger le même Grammar objet dans plusieurs instances de SpeechRecognitionEngine . Au lieu de cela, créez un nouvel Grammar objet pour chaque SpeechRecognitionEngine instance.

Si le module de reconnaissance est en cours d’exécution, les applications doivent utiliser RequestRecognizerUpdate pour suspendre le moteur de reconnaissance vocale avant de charger, de décharger, d’activer ou de désactiver une grammaire.

Lorsque vous chargez une grammaire, elle est activée par défaut. Pour désactiver une grammaire chargée, utilisez la Enabled propriété.

Pour charger un Grammar objet de manière asynchrone, utilisez la LoadGrammarAsync méthode.

S’applique à

Voir aussi