Bagikan melalui


SpeechRecognitionEngine.SpeechDetected Kejadian

Definisi

Dimunculkan ketika SpeechRecognitionEngine mendeteksi input yang dapat diidentifikasi sebagai ucapan.

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) 

Jenis Acara

Contoh

Contoh berikut adalah bagian dari aplikasi konsol untuk memilih kota asal dan tujuan untuk penerbangan. Aplikasi ini mengenali frasa seperti "Saya ingin terbang dari Miami ke Chicago." Contohnya menggunakan SpeechDetected peristiwa untuk melaporkan AudioPosition setiap kali ucapan terdeteksi.

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

Keterangan

Setiap pengenal ucapan memiliki algoritma untuk membedakan antara keheningan dan ucapan. SpeechRecognitionEngine Saat melakukan operasi pengenalan ucapan, itu memunculkan SpeechDetected peristiwa ketika algoritmanya mengidentifikasi input sebagai ucapan. Properti AudioPosition objek terkait SpeechDetectedEventArgs menunjukkan lokasi di aliran input tempat pengenal mendeteksi ucapan. meningkatkan SpeechRecognitionEngineSpeechDetected peristiwa sebelum memunculkan salah SpeechHypothesizedsatu peristiwa , , SpeechRecognizedatau SpeechRecognitionRejected .

Untuk informasi selengkapnya, lihat Recognizemetode , RecognizeAsync, EmulateRecognize, dan EmulateRecognizeAsync .

Saat membuat SpeechDetected delegasi, Anda mengidentifikasi metode yang akan menangani peristiwa. Untuk mengaitkan peristiwa dengan penanganan aktivitas Anda, tambahkan instans delegasi ke peristiwa. Penanganan aktivitas dipanggil setiap kali peristiwa terjadi, kecuali Jika Anda menghapus delegasi. Untuk informasi selengkapnya tentang delegasi penanganan aktivitas, lihat Peristiwa dan Delegasi.

Berlaku untuk

Lihat juga