SpeechRecognizer.SpeechRecognized Evento

Definición

Se produce cuando el reconocedor recibe una entrada que coincide con una de sus gramáticas de reconocimiento de voz.Occurs when the recognizer receives input that matches one of its speech recognition grammars.

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 Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs) 

Ejemplos

El siguiente ejemplo forma parte de una aplicación de consola que carga una gramática de reconocimiento de voz y muestra la entrada de voz para el reconocedor compartido, los resultados de reconocimiento asociados y los eventos asociados generados por el reconocedor de voz.The following example is part of a console application that loads a speech recognition grammar and demonstrates speech input to the shared recognizer, the associated recognition results, and the associated events raised by the speech recognizer. Si el reconocimiento de voz de Windows no se está ejecutando, al iniciar esta aplicación también se iniciará el reconocimiento de voz de Windows.If Windows Speech Recognition is not running, then starting this application will also start Windows Speech Recognition.

La entrada oral, como "quiero volar desde Chicago a Miami", desencadenará un SpeechRecognized evento.Spoken input such as "I want to fly from Chicago to Miami" will trigger a SpeechRecognized event. Hablar de la frase "volar conmigo desde Houston a Chicago" no desencadenará SpeechRecognized un evento.Speaking the phrase "Fly me from Houston to Chicago " will not trigger a SpeechRecognized event.

En el ejemplo se usa un controlador SpeechRecognized para que el evento muestre frases reconocidas correctamente y la semántica que contienen en la consola.The example uses a handler for the SpeechRecognized event to display successfully recognized phrases and the semantics they contain in the console.

using System;  
using System.Speech.Recognition;  
  
namespace SampleRecognition  
{  
  class Program  
  {  
    static void Main(string[] args)  
  
    // Initialize a shared speech recognition engine.  
    {  
      using (SpeechRecognizer recognizer = new SpeechRecognizer())  
      {  
  
        // 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);  
  
        // 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);  
    }  
  }  
}  
  

Comentarios

El reconocedor genera SpeechRecognized el evento si determina con la confianza suficiente que la entrada coincide con una de las gramáticas de reconocimiento de voz cargadas y habilitadas.The recognizer raises the SpeechRecognized event if it determines with sufficient confidence that input matches one of the loaded and enabled speech recognition grammars. La Result propiedad RecognitionResult de contiene el objeto aceptado. SpeechRecognitionRejectedEventArgsThe Result property of the SpeechRecognitionRejectedEventArgs contains the accepted RecognitionResult object.

Los umbrales de confianza para el reconocedor compartido SpeechRecognizer, administrado por, están asociados a un perfil de usuario y se almacenan en el registro de Windows.Confidence thresholds for the shared recognizer, managed by SpeechRecognizer, are associated with a user profile and stored in the Windows registry. Las aplicaciones no deben escribir cambios en el registro para las propiedades del reconocedor compartido.Applications should not write changes to the registry for the properties of the shared recognizer.

Cuando el reconocedor recibe una entrada que coincide con una Grammar gramática, el objeto SpeechRecognized puede generar el evento.When the recognizer receives input that matches a grammar, the Grammar object can raise the SpeechRecognized event. El Grammar evento del SpeechRecognized objeto se produce antes del evento del reconocedor SpeechRecognized de voz.The Grammar object's SpeechRecognized event is raised prior to the speech recognizer's SpeechRecognized event.

Cuando se crea un delegado para un SpeechRecognized evento, se identifica el método que controlará el evento.When you create a delegate for a SpeechRecognized event, you identify the method that will handle the event. Para asociar el evento al controlador, se debe agregar una instancia del delegado al evento.To associate the event with your event handler, add an instance of the delegate to the event. Siempre que se produce el evento, se llama a su controlador, a menos que se quite el delegado.The event handler is called whenever the event occurs, unless you remove the delegate. Para obtener más información sobre los delegados de controladores de eventos, vea eventos y delegados.For more information about event-handler delegates, see Events and Delegates.

Se aplica a

Consulte también: