Sdílet prostřednictvím


SpeechRecognitionEngine.LoadGrammar(Grammar) Metoda

Definice

Synchronně načte Grammar objekt.

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)

Parametry

grammar
Grammar

Objekt gramatiky, který se má načíst.

Výjimky

Grammar je null.

Grammar není v platném stavu.

Příklady

Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči. Příklad vytvoří DictationGrammar a načte ho do rozpoznávání řeči.

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

Poznámky

Rozpoznávání vyvolá výjimku, pokud Grammar je objekt již načten, je asynchronně načten nebo se nepodařilo načíst do jakéhokoli nástroje pro rozpoznávání. Stejný Grammar objekt nelze načíst do více instancí SpeechRecognitionEngine. Místo toho vytvořte nový Grammar objekt pro každou SpeechRecognitionEngine instanci.

Pokud je rozpoznávání spuštěné, musí aplikace před RequestRecognizerUpdate načtením, uvolněním, povolením nebo zakázáním gramatiky pozastavit modul pro rozpoznávání řeči.

Když načtete gramatiku, je ve výchozím nastavení povolená. Pokud chcete zakázat načtenou gramatiku Enabled , použijte tuto vlastnost.

K asynchronnímu načtení objektu Grammar použijte metodu LoadGrammarAsync .

Platí pro

Viz také