SpeechRecognitionEngine.SpeechRecognized Evento
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.
É ativado quando recebe SpeechRecognitionEngine uma entrada que corresponde a qualquer um dos seus objetos carregados e ativados Grammar .
public:
event EventHandler<System::Speech::Recognition::SpeechRecognizedEventArgs ^> ^ SpeechRecognized;
public event EventHandler<System.Speech.Recognition.SpeechRecognizedEventArgs> SpeechRecognized;
member this.SpeechRecognized : EventHandler<System.Speech.Recognition.SpeechRecognizedEventArgs>
Public Custom Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs)
Public Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs)
Tipo de Evento
Exemplos
O exemplo seguinte faz parte de uma aplicação de consola que cria gramática de reconhecimento de fala, constrói um Grammar objeto e carrega-o para SpeechRecognitionEngine realizar o reconhecimento. O exemplo demonstra a entrada de fala para um SpeechRecognitionEngine, os resultados de reconhecimento associados e os eventos associados levantados pelo reconhecedor de voz.
Comentários falados como "Quero voar de Chicago para Miami" desencadeiam um SpeechRecognized evento. Dizer a frase "Leva-me de Houston a Chicago" não desencadeia nenhum SpeechRecognized evento.
O exemplo utiliza um handler para o SpeechRecognized evento mostrar frases reconhecidas com sucesso e a semântica que contêm na consola.
using System;
using System.Speech.Recognition;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize an in-process speech recognition engine.
{
using (SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine())
{
// Create SemanticResultValue objects that contain cities and airport codes.
SemanticResultValue chicago = new SemanticResultValue("Chicago", "ORD");
SemanticResultValue boston = new SemanticResultValue("Boston", "BOS");
SemanticResultValue miami = new SemanticResultValue("Miami", "MIA");
SemanticResultValue dallas = new SemanticResultValue("Dallas", "DFW");
// Create a Choices object and add the SemanticResultValue objects, using
// implicit conversion from SemanticResultValue to GrammarBuilder
Choices cities = new Choices();
cities.Add(new Choices(new GrammarBuilder[] { chicago, boston, miami, dallas }));
// Build the phrase and add SemanticResultKeys.
GrammarBuilder chooseCities = new GrammarBuilder();
chooseCities.Append("I want to fly from");
chooseCities.Append(new SemanticResultKey("origin", cities));
chooseCities.Append("to");
chooseCities.Append(new SemanticResultKey("destination", cities));
// Build a Grammar object from the GrammarBuilder.
Grammar bookFlight = new Grammar(chooseCities);
bookFlight.Name = "Book Flight";
// Add a handler for the LoadGrammarCompleted event.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Add a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Load the grammar object to the recognizer.
recognizer.LoadGrammarAsync(bookFlight);
// Set the input to the recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start recognition.
recognizer.RecognizeAsync();
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
Console.WriteLine();
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine();
Console.WriteLine("Semantic results:");
Console.WriteLine(" The flight origin is " + e.Result.Semantics["origin"].Value);
Console.WriteLine(" The flight destination is " + e.Result.Semantics["destination"].Value);
}
}
}
Observações
Pode iniciar uma operação de reconhecimento usando um dos Recognize métodos ou.RecognizeAsync O reconhecedor levanta o SpeechRecognized evento se determinar que a entrada corresponde a um dos seus objetos carregados Grammar com um nível suficiente de confiança para constituir reconhecimento. A Result propriedade de contém SpeechRecognitionRejectedEventArgs o objeto aceite RecognitionResult . Os responsáveis por SpeechRecognized eventos podem obter a frase conhecida e uma lista de reconhecimento Alternates com pontuações de confiança mais baixas.
Se a sua candidatura estiver a usar uma SpeechRecognitionEngine instância, pode modificar o nível de confiança a partir do qual a entrada de fala é aceite ou rejeitada com um dos UpdateRecognizerSetting métodos. Pode modificar a forma como o reconhecimento de fala responde a entradas não faladas usando as BabbleTimeoutpropriedades , InitialSilenceTimeout, EndSilenceTimeout, e EndSilenceTimeoutAmbiguous .
Quando o reconhecedor recebe um input que corresponde a uma gramática, o Grammar objeto pode levantar o seu SpeechRecognized evento. O Grammar evento do SpeechRecognized objeto é levantado antes do evento do SpeechRecognized reconhecedor da fala. Quaisquer tarefas específicas de uma determinada gramática devem ser sempre realizadas por um responsável pelo SpeechRecognized evento.
Quando cria um SpeechRecognized delegado, identifica o método que irá gerir o evento. Para associar o evento ao seu gestor de eventos, adicione uma instância do delegado ao evento. O gestor de eventos é chamado sempre que o evento ocorre, a menos que remova o delegado. Para mais informações sobre os delegados gestores de eventos, consulte Eventos e Delegados.