SpeechRecognitionEngine.LoadGrammar(Grammar) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Carrega um Grammar objeto de forma 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 para carregar.
Exceções
Grammar é null.
Grammar não está num estado válido.
Exemplos
O exemplo seguinte mostra parte de uma aplicação de consola que demonstra reconhecimento básico de voz. O exemplo cria um DictationGrammar e carrega-o num reconhecedor 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);
}
}
}
Observações
O recognizer lança uma exceção se o Grammar objeto já estiver carregado, estiver a ser carregado assíncronamente ou tiver falhado em carregar em qualquer recognizer. Não podes carregar o mesmo Grammar objeto em múltiplas instâncias de SpeechRecognitionEngine. Em vez disso, crie um novo Grammar objeto para cada SpeechRecognitionEngine instância.
Se o reconhecedor estiver a funcionar, as aplicações devem usar RequestRecognizerUpdate para pausar o motor de reconhecimento de fala antes de carregar, descarregar, ativar ou desativar uma gramática.
Quando carregas uma gramática, ela está ativada por defeito. Para desativar uma gramática carregada, use a Enabled propriedade.
Para carregar um Grammar objeto de forma assíncrona, use o LoadGrammarAsync método.