SpeechRecognitionEngine.LoadGrammar(Grammar) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.