SpeechRecognitionEngine.LoadGrammar(Grammar) Metodo

Definizione

Carica un oggetto Grammar in modo sincrono.

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)

Parametri

grammar
Grammar

L'oggetto di grammatica da caricare.

Eccezioni

Grammar è null.

Grammar non è uno stato valido.

Esempio

L'esempio seguente mostra parte di un'applicazione console che illustra il riconoscimento vocale di base. L'esempio crea un oggetto DictationGrammar e lo carica in un riconoscimento 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);  
    }  
  }  
}  

Commenti

Il riconoscitore genera un'eccezione se l'oggetto Grammar è già caricato, viene caricato in modo asincrono o non è riuscito a caricarlo in qualsiasi sistema di riconoscimento. Non è possibile caricare lo stesso Grammar oggetto in più istanze di SpeechRecognitionEngine. Creare invece un nuovo Grammar oggetto per ogni SpeechRecognitionEngine istanza.

Se il sistema di riconoscimento è in esecuzione, le applicazioni devono usare RequestRecognizerUpdate per sospendere il motore di riconoscimento vocale prima di caricare, scaricare, abilitare o disabilitare una grammatica.

Quando si carica una grammatica, è abilitata per impostazione predefinita. Per disabilitare una grammatica caricata, utilizzare la Enabled proprietà .

Per caricare un Grammar oggetto in modo asincrono, usare il LoadGrammarAsync metodo .

Si applica a

Vedi anche