Share via


SpeechRecognitionEngine.SpeechRecognized Kejadian

Definisi

Dimunculkan saat SpeechRecognitionEngine menerima input yang cocok dengan salah satu objek yang dimuat dan diaktifkan Grammar .

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

Jenis Acara

Contoh

Contoh berikut adalah bagian dari aplikasi konsol yang membuat tata bahasa pengenalan ucapan, membangun Grammar objek, dan memuatnya ke dalam SpeechRecognitionEngine untuk melakukan pengenalan. Contoh menunjukkan input ucapan ke SpeechRecognitionEngine, hasil pengenalan terkait, dan peristiwa terkait yang diangkat oleh pengenal ucapan.

Input lisan seperti "Saya ingin terbang dari Chicago ke Miami" akan memicu SpeechRecognized peristiwa. Berbicara frasa "Terbangkan saya dari Houston ke Chicago" tidak akan memicu SpeechRecognized peristiwa.

Contohnya menggunakan handler untuk SpeechRecognized peristiwa agar menampilkan frasa yang berhasil dikenali dan semantik yang ada di konsol.

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

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

        // Start recognition.  
        recognizer.RecognizeAsync();  

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

Keterangan

Anda dapat memulai operasi pengenalan menggunakan salah Recognize satu metode atau RecognizeAsync . Recognizer menaikkan SpeechRecognized peristiwa jika menentukan bahwa input cocok dengan salah satu objek yang dimuat Grammar dengan tingkat keyakinan yang memadai untuk merupakan pengenalan. Properti Result berisi SpeechRecognitionRejectedEventArgs objek yang diterima RecognitionResult . Penangan SpeechRecognized peristiwa dapat memperoleh frasa yang dikenali serta daftar pengenalan Alternates dengan skor keyakinan yang lebih rendah.

Jika aplikasi Anda menggunakan SpeechRecognitionEngine instans, Anda dapat memodifikasi tingkat keyakinan di mana input ucapan diterima atau ditolak dengan salah UpdateRecognizerSetting satu metode. Anda dapat memodifikasi bagaimana pengenalan ucapan merespons input non-ucapan menggunakan BabbleTimeoutproperti , , InitialSilenceTimeoutEndSilenceTimeout, dan EndSilenceTimeoutAmbiguous .

Ketika recognizer menerima input yang cocok dengan tata bahasa, Grammar objek dapat menaikkan peristiwanya SpeechRecognized . Peristiwa Grammar objek SpeechRecognized dinaikkan sebelum peristiwa pengenal SpeechRecognized ucapan. Setiap tugas khusus untuk tata bahasa tertentu harus selalu dilakukan oleh handler untuk peristiwa tersebut SpeechRecognized .

Saat membuat SpeechRecognized 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 Anda menghapus delegasi. Untuk informasi selengkapnya tentang delegasi penanganan aktivitas, lihat Peristiwa dan Delegasi.

Berlaku untuk

Lihat juga