SpeechRecognitionEngine.LoadGrammar(Grammar) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Lädt synchron ein 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)
Parameter
- grammar
- Grammar
Das zu ladende Grammatikobjekt.
Ausnahmen
Grammar
ist null
.
Grammar
ist in keinem gültigen Zustand.
Beispiele
Das folgende Beispiel zeigt einen Teil einer Konsolenanwendung, die die grundlegende Spracherkennung veranschaulicht. Im Beispiel wird ein DictationGrammar erstellt und in eine Spracherkennung 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);
}
}
}
Hinweise
Die Erkennung löst eine Ausnahme aus, wenn das Grammar Objekt bereits geladen ist, asynchron geladen wird oder nicht in eine Erkennung geladen wurde. Sie können dasselbe Grammar Objekt nicht in mehrere Instanzen von SpeechRecognitionEngineladen. Erstellen Sie stattdessen ein neues Grammar -Objekt für jede SpeechRecognitionEngine Instanz.
Wenn die Erkennung ausgeführt wird, müssen Anwendungen verwenden RequestRecognizerUpdate , um die Spracherkennungs-Engine vor dem Laden, Entladen, Aktivieren oder Deaktivieren einer Grammatik anzuhalten.
Wenn Sie eine Grammatik laden, ist sie standardmäßig aktiviert. Verwenden Sie die Enabled -Eigenschaft, um eine geladene Grammatik zu deaktivieren.
Verwenden Sie die LoadGrammarAsync -Methode, um ein Grammar Objekt asynchron zu laden.