SpeechRecognitionEngine.LoadGrammar(Grammar) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Synchronně načte 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)
Parametry
- grammar
- Grammar
Objekt gramatiky, který se má načíst.
Výjimky
Grammar je null.
Grammar není v platném stavu.
Příklady
Následující příklad ukazuje část konzolové aplikace, která demonstruje základní rozpoznávání řeči. Příklad vytvoří DictationGrammar a načte ho do rozpoznávání řeči.
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);
}
}
}
Poznámky
Rozpoznávání vyvolá výjimku, pokud Grammar je objekt již načten, je asynchronně načten nebo se nepodařilo načíst do jakéhokoli nástroje pro rozpoznávání. Stejný Grammar objekt nelze načíst do více instancí SpeechRecognitionEngine. Místo toho vytvořte nový Grammar objekt pro každou SpeechRecognitionEngine instanci.
Pokud je rozpoznávání spuštěné, musí aplikace před RequestRecognizerUpdate načtením, uvolněním, povolením nebo zakázáním gramatiky pozastavit modul pro rozpoznávání řeči.
Když načtete gramatiku, je ve výchozím nastavení povolená. Pokud chcete zakázat načtenou gramatiku Enabled , použijte tuto vlastnost.
K asynchronnímu načtení objektu Grammar použijte metodu LoadGrammarAsync .