SpeechRecognitionEngine.LoadGrammar(Grammar) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Carrega um objeto de forma Grammar síncrona.
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
O objeto gramatical a ser carregado.
Exceções
Grammar é null.
Grammar não está em um estado válido.
Exemplos
O exemplo a seguir mostra parte de um aplicativo de console que demonstra o reconhecimento de fala básico. O exemplo cria um DictationGrammar e o carrega em um reconhecedor de fala.
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);
}
}
}
Comentários
O reconhecedor gera uma exceção se o Grammar objeto já estiver carregado, estiver sendo carregado de forma assíncrona ou não tiver sido carregado em qualquer reconhecedor. Não é possível carregar o mesmo Grammar objeto em várias instâncias de SpeechRecognitionEngine. Em vez disso, crie um novo Grammar objeto para cada SpeechRecognitionEngine instância.
Se o reconhecedor estiver em execução, os aplicativos deverão usar RequestRecognizerUpdate para pausar o mecanismo de reconhecimento de fala antes de carregar, descarregar, habilitar ou desabilitar uma gramática.
Quando você carrega uma gramática, ela é habilitada por padrão. Para desabilitar uma gramática carregada, use a Enabled propriedade.
Para carregar um Grammar objeto de forma assíncrona, use o LoadGrammarAsync método.