SpeechRecognitionEngine.LoadGrammar(Grammar) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Synchronicznie ładuje Grammar obiekt.
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
Obiekt gramatyki do załadowania.
Wyjątki
Grammar to null.
Grammar jest w nieprawidłowym stanie.
Przykłady
Poniższy przykład przedstawia część aplikacji konsolowej, która demonstruje podstawowe rozpoznawanie mowy. Przykład tworzy DictationGrammar i ładuje do aparatu rozpoznawania mowy.
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);
}
}
}
Uwagi
Aparat rozpoznawania zgłasza wyjątek, jeśli Grammar obiekt jest już załadowany, jest ładowany asynchronicznie lub nie został załadowany do żadnego aparatu rozpoznawania. Nie można załadować tego samego Grammar obiektu do wielu wystąpień SpeechRecognitionEngine . Zamiast tego należy utworzyć nowy Grammar obiekt dla każdego SpeechRecognitionEngine wystąpienia.
Jeśli aparat rozpoznawania jest uruchomiony, aplikacje muszą korzystać RequestRecognizerUpdate z programu, aby wstrzymać wyszukiwarkę mowy przed załadowaniem, wyładowaniem, włączeniem lub wyłączeniem gramatyki.
Po załadowaniu gramatyki jest ona domyślnie włączona. Aby wyłączyć załadowana Gramatyka, należy użyć Enabled właściwości.
Aby załadować Grammar obiekt asynchronicznie, użyj LoadGrammarAsync metody.