SpeechRecognitionEngine.SpeechRecognized Olay

Tanım

, yüklenen ve etkinleştirilen nesnelerinden herhangi biri ile eşleşen girişi aldığında tetikleniyor SpeechRecognitionEngineGrammar .

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) 

Olay Türü

Örnekler

Aşağıdaki örnek, konuşma tanıma dil bilgisi oluşturan, bir nesne oluşturan ve tanıma gerçekleştirmek için içine yükleyen bir Grammar konsol uygulamasının SpeechRecognitionEngine parçasıdır. Örnek, bir SpeechRecognitionEngineöğesine konuşma girişini, ilişkili tanıma sonuçlarını ve konuşma tanıyıcısı tarafından tetiklenen ilişkili olayları gösterir.

"Chicago'dan Miami'ye uçmak istiyorum" gibi konuşulan girişler bir SpeechRecognized etkinliği tetikler. "Beni Houston'dan Chicago'ya uçur" ifadesi bir SpeechRecognized etkinliği tetiklemez.

Örnek, başarıyla tanınan tümcecikleri ve konsolunda SpeechRecognized içerdikleri semantiği görüntülemek için olay için bir işleyici kullanır.

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

Açıklamalar

veya RecognizeAsync yöntemlerinden birini Recognize kullanarak bir tanıma işlemi başlatabilirsiniz. Tanıyıcı, girişin SpeechRecognized yüklenen Grammar nesnelerinden biriyle eşleşeceğini belirlerse, tanımayı oluşturmak için yeterli güvenilirlik düzeyine sahip olayı tetikler. Result özelliği SpeechRecognitionRejectedEventArgs kabul edilen RecognitionResult nesneyi içerir. Olayların işleyicileri SpeechRecognized tanınan tümceciği ve daha düşük güvenilirlik puanlarına sahip bir tanıma Alternates listesi alabilir.

Uygulamanız bir SpeechRecognitionEngine örnek kullanıyorsa, yöntemlerden biriyle UpdateRecognizerSetting konuşma girişinin kabul edildiği veya reddedildiği güvenilirlik düzeyini değiştirebilirsiniz. , , InitialSilenceTimeoutEndSilenceTimeoutve EndSilenceTimeoutAmbiguous özelliklerini kullanarak BabbleTimeoutkonuşma tanımanın konuşma olmayan girişlere nasıl yanıt vereceğini değiştirebilirsiniz.

Tanıyıcı bir dil bilgisi ile eşleşen giriş aldığında, Grammar nesnesi olayını tetikleyebilir SpeechRecognized . Nesnenin GrammarSpeechRecognized olayı, konuşma tanıyıcısının SpeechRecognized olayından önce oluşturulur. Belirli bir dil bilgisi için belirli görevler her zaman olay işleyicisi SpeechRecognized tarafından gerçekleştirilmelidir.

Bir SpeechRecognized 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.