SpeechRecognitionEngine.LoadGrammar(Grammar) Methode

Definitie

Hiermee wordt een Grammar object synchroon geladen.

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)

Parameters

grammar
Grammar

Het grammaticaobject dat moet worden geladen.

Uitzonderingen

Grammar is null.

Grammar heeft geen geldige status.

Voorbeelden

In het volgende voorbeeld ziet u een deel van een consoletoepassing waarin eenvoudige spraakherkenning wordt gedemonstreert. In het voorbeeld wordt een DictationGrammar spraakherkenning gemaakt en geladen.

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

Opmerkingen

De recognizer genereert een uitzondering als het Grammar object al is geladen, asynchroon wordt geladen of niet kan worden geladen in een herkenningsherkenning. U kunt hetzelfde Grammar object niet laden in meerdere exemplaren van SpeechRecognitionEngine. Maak in plaats daarvan een nieuw Grammar object voor elk SpeechRecognitionEngine exemplaar.

Als de recognizer wordt uitgevoerd, moeten toepassingen de RequestRecognizerUpdate spraakherkenningsengine onderbreken voordat ze een grammatica laden, lossen, in- of uitschakelen.

Wanneer u een grammatica laadt, is deze standaard ingeschakeld. Als u een geladen grammatica wilt uitschakelen, gebruikt u de Enabled eigenschap.

Als u een Grammar object asynchroon wilt laden, gebruikt u de LoadGrammarAsync methode.

Van toepassing op

Zie ook