SpeechRecognizer.SpeechRecognized Événement

Définition

Se produit lorsque le module de reconnaissance reçoit l'entrée qui correspond à l'une de ses syntaxes de reconnaissance vocale.

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) 

Type d'événement

Exemples

L’exemple suivant fait partie d’une application console qui charge une grammaire de reconnaissance vocale et illustre l’entrée vocale dans le module de reconnaissance partagée, les résultats de la reconnaissance associée et les événements associés déclenchés par le module de reconnaissance vocale. Si la reconnaissance vocale Windows n’est pas en cours d’exécution, le démarrage de cette application démarre également la reconnaissance vocale Windows.

Une entrée orale telle que « Je veux voler de Chicago à Miami » déclenche un SpeechRecognized événement. L’expression « Volez-moi de Houston à Chicago » ne déclenchera pas d’événement SpeechRecognized .

L’exemple utilise un gestionnaire pour l’événement SpeechRecognized afin d’afficher les expressions reconnues avec succès et la sémantique qu’elles contiennent dans la 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);  
    }  
  }  
}  

Remarques

Le module de reconnaissance déclenche l’événement SpeechRecognized s’il détermine avec suffisamment de confiance que l’entrée correspond à l’une des grammaires de reconnaissance vocale chargées et activées. La Result propriété de contient SpeechRecognitionRejectedEventArgs l’objet accepté RecognitionResult .

Les seuils de confiance pour le module de reconnaissance partagé, gérés par SpeechRecognizer, sont associés à un profil utilisateur et stockés dans le Registre Windows. Les applications ne doivent pas écrire de modifications dans le Registre pour les propriétés du module de reconnaissance partagé.

Lorsque le module de reconnaissance reçoit une entrée qui correspond à une grammaire, l’objet Grammar peut déclencher l’événement SpeechRecognized . L’événement Grammar de l’objet SpeechRecognized est déclenché avant l’événement du module de SpeechRecognized reconnaissance vocale.

Lorsque vous créez un délégué pour un SpeechRecognized événement, vous identifiez la méthode qui gérera l’événement. Pour associer l'événement au gestionnaire d'événements, ajoutez une instance du délégué à l'événement. Le gestionnaire d'événements est appelé chaque fois qu'un événement se produit, sauf si vous supprimez le délégué. Pour plus d’informations sur les délégués de gestionnaires d’événements, consultez Événements et délégués.

S’applique à

Voir aussi