SpeechRecognitionEngine.LoadGrammar(Grammar) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
De forma sincrónica carga un objeto Grammar.
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)
Parámetros
- grammar
- Grammar
El objeto de gramática para cargar.
Excepciones
Grammar
es null
.
Grammar
no está en un estado válido.
Ejemplos
En el ejemplo siguiente se muestra parte de una aplicación de consola que muestra el reconocimiento de voz básico. En el ejemplo se crea y DictationGrammar se carga en un reconocedor de voz.
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);
}
}
}
Comentarios
El reconocedor produce una excepción si el Grammar objeto ya está cargado, se está cargando de forma asincrónica o no se ha podido cargar en cualquier reconocedor. No se puede cargar el mismo Grammar objeto en varias instancias de SpeechRecognitionEngine. En su lugar, cree un nuevo Grammar objeto para cada SpeechRecognitionEngine instancia.
Si el reconocedor se está ejecutando, las aplicaciones deben usar RequestRecognizerUpdate para pausar el motor de reconocimiento de voz antes de cargar, descargar, habilitar o deshabilitar una gramática.
Cuando se carga una gramática, se habilita de forma predeterminada. Para deshabilitar una gramática cargada, use la Enabled propiedad .
Para cargar un Grammar objeto de forma asincrónica, use el LoadGrammarAsync método .