SpeechRecognitionEngine.SpeechDetected Událost

Definice

Vyvolá se, SpeechRecognitionEngine když rozpozná vstup, který může identifikovat jako řeč.

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 Event SpeechDetected As EventHandler(Of SpeechDetectedEventArgs) 
Public Custom Event SpeechDetected As EventHandler(Of SpeechDetectedEventArgs) 

Event Type

Příklady

Následující příklad je součástí konzolové aplikace pro výběr výchozího a cílového města pro let. Aplikace rozpozná fráze jako "Chci letět z Miami do Chicaga". V příkladu se SpeechDetected událost používá k hlášení AudioPosition o každém zjištění řeči.

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);  
    }  
  }  
}  

Poznámky

Každý rozpoznávání řeči má algoritmus, který rozlišuje mezi tichem a řečí. SpeechRecognitionEngine Když objekt provádí operaci rozpoznávání řeči, vyvolá SpeechDetected událost, když jeho algoritmus identifikuje vstup jako řeč. Vlastnost AudioPosition přidruženého SpeechDetectedEventArgs objektu označuje umístění ve vstupním streamu, kde rozpoznávání detekoval řeč. SpeechDetected Vyvolá SpeechRecognitionEngine událost před vyvolání jakékoli události SpeechHypothesized, SpeechRecognizednebo SpeechRecognitionRejected .

Další informace najdete v Recognizetématu metody , EmulateRecognizeRecognizeAsync, a EmulateRecognizeAsync .

Při vytváření delegáta SpeechDetected identifikujete metodu, která bude zpracovávat událost. Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci delegáta. Obslužná rutina události je volána při každém výskytu události, dokud neodeberete delegáta. Další informace o delegátech obslužné rutiny událostí najdete v tématu Události a delegáti.

Platí pro

Viz také