Partager via


SpeechRecognitionEngine.SpeechDetected Événement

Définition

Déclenché lorsque l’entrée SpeechRecognitionEngine détecte qu’elle peut identifier comme parole.

public:
 event EventHandler<System::Speech::Recognition::SpeechDetectedEventArgs ^> ^ SpeechDetected;
public event EventHandler<System.Speech.Recognition.SpeechDetectedEventArgs> SpeechDetected;
member this.SpeechDetected : EventHandler<System.Speech.Recognition.SpeechDetectedEventArgs> 
Public Custom Event SpeechDetected As EventHandler(Of SpeechDetectedEventArgs) 
Public Event SpeechDetected As EventHandler(Of SpeechDetectedEventArgs) 

Type d'événement

Exemples

L’exemple suivant fait partie d’une application console pour choisir des villes d’origine et de destination pour un vol. L’application reconnaît les expressions telles que « Je veux voler de Miami à Chicago ». L’exemple utilise l’événement SpeechDetected pour signaler chaque fois que la AudioPosition parole est détectée.

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 a grammar.
        Choices cities = new Choices(new string[] {
          "Los Angeles", "New York", "Chicago", "San Francisco", "Miami", "Dallas" });

        GrammarBuilder gb = new GrammarBuilder();
        gb.Append("I would like to fly from");
        gb.Append(cities);
        gb.Append("to");
        gb.Append(cities);

        // Create a Grammar object and load it to the recognizer.
        Grammar g = new Grammar(gb);
        g.Name = ("City Chooser");
        recognizer.LoadGrammarAsync(g);

        // Attach event handlers.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
        recognizer.SpeechDetected +=
          new EventHandler<SpeechDetectedEventArgs>(recognizer_SpeechDetected);
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Set the input to the recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Start recognition.
        recognizer.RecognizeAsync();

        // Keep the console window open.
        Console.ReadLine();
      }
    }

    // Handle the SpeechDetected event.
    static void recognizer_SpeechDetected(object sender, SpeechDetectedEventArgs e)
    {
      Console.WriteLine("  Speech detected at AudioPosition = {0}", e.AudioPosition);
    }

    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("  Speech recognized: " + e.Result.Text);
    }
  }
}

Remarques

Chaque module de reconnaissance vocale a un algorithme permettant de faire la distinction entre le silence et la parole. Lorsque l’exécution SpeechRecognitionEngine d’une opération de reconnaissance vocale est effectuée, elle déclenche l’événement SpeechDetected lorsque son algorithme identifie l’entrée en tant que reconnaissance vocale. La AudioPosition propriété de l’objet associé SpeechDetectedEventArgs indique l’emplacement dans le flux d’entrée où le module de reconnaissance a détecté la parole. L’événement SpeechRecognitionEngine déclenche l’événement SpeechDetected avant qu’il ne déclenche l’un SpeechHypothesizeddes événements ou des SpeechRecognizedSpeechRecognitionRejected événements.

Pour plus d’informations, consultez les méthodes et les RecognizeméthodesRecognizeAsyncEmulateRecognizeEmulateRecognizeAsync.

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

S’applique à

Voir aussi