SpeechRecognitionEngine.LoadGrammar(Grammar) Metod

Definition

Läser synkront in ett 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)

Parametrar

grammar
Grammar

Grammatikobjektet som ska läsas in.

Undantag

Grammar är null.

Grammar är inte i ett giltigt tillstånd.

Exempel

I följande exempel visas en del av ett konsolprogram som visar grundläggande taligenkänning. Exemplet skapar en DictationGrammar och läser in den i en taligenkänning.

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

Kommentarer

Identifieraren Grammar genererar ett undantag om objektet redan har lästs in, läses in asynkront eller inte har lästs in i någon identifierare. Du kan inte läsa in samma Grammar objekt i flera instanser av SpeechRecognitionEngine. Skapa i stället ett nytt Grammar objekt för varje SpeechRecognitionEngine instans.

Om identifieraren körs måste program använda RequestRecognizerUpdate för att pausa taligenkänningsmotorn innan de läser in, tar bort, aktiverar eller inaktiverar en grammatik.

När du läser in en grammatik aktiveras den som standard. Om du vill inaktivera en inläst grammatik använder du egenskapen Enabled .

Om du vill läsa in ett Grammar objekt asynkront använder du LoadGrammarAsync metoden .

Gäller för

Se även