SpeechRecognitionEngine.SpeechDetected Olay

Tanım

konuşma olarak tanımlayabildiği girişi algıladığında SpeechRecognitionEngine tetikler.

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) 

Olay Türü

Örnekler

Aşağıdaki örnek, uçuş için çıkış ve varış şehirlerini seçmeye yönelik konsol uygulamasının bir parçasıdır. Uygulama, "Miami'den Chicago'ya uçmak istiyorum" gibi ifadeleri tanır. Örnek, her konuşma algılandığında raporlamak AudioPosition için olayını kullanırSpeechDetected.

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

Açıklamalar

Her konuşma tanıyıcının sessizliği ve konuşmayı ayırt etmek için bir algoritması vardır. SpeechRecognitionEngine bir konuşma tanıma işlemi gerçekleştirdiğinde, algoritması girişi konuşma olarak tanımladığında olayı tetiklerSpeechDetected. AudioPosition İlişkili SpeechDetectedEventArgs nesnenin özelliği, giriş akışında tanıyıcının konuşma algıladığı konumu gösterir. , SpeechRecognitionEngine veya olaylarından herhangi birini SpeechHypothesizedSpeechRecognizedSpeechRecognitionRejected tetiklemeden önce olayı tetikler.SpeechDetected

Daha fazla bilgi için , RecognizeAsync, EmulateRecognizeve EmulateRecognizeAsync yöntemlerine bakınRecognize.

Bir SpeechDetected temsilci oluşturduğunuzda, olayı işleyecek yöntemi tanımlarsınız. Olayı olay işleyicinizle ilişkilendirmek için olaya temsilcinin bir örneğini ekleyin. Olay her gerçekleştiğinde, olay işleyici (siz temsilciyi kaldırmadığınız sürece) çağrılır. Olay işleyicisi temsilcileri hakkında daha fazla bilgi için bkz . Olaylar ve Temsilciler.

Şunlara uygulanır

Ayrıca bkz.