SpeechRecognitionEngine.SpeechRecognized Olay

Tanım

SpeechRecognitionEngine yüklenen ve etkinleştirilmiş Grammar nesnelerinden herhangi biri ile eşleşen girişi aldığında oluşturulur.

public:
 event EventHandler<System::Speech::Recognition::SpeechRecognizedEventArgs ^> ^ SpeechRecognized;
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 Custom Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs) 
Public 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 yapılan konuşma girişini, ilişkili tanıma sonuçlarını ve konuşma tanıyıcı tarafından tetiklenen ilişkili olayları gösterir.

"Chicago'dan Miami'ye uçmak istiyorum" gibi konuşulan girişler bir SpeechRecognized olayı tetikler. "Beni Houston'dan Chicago'ya uçur" ifadesi bir SpeechRecognized olayı 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 Recognize yöntemlerinden birini RecognizeAsync kullanarak bir tanıma işlemi başlatabilirsiniz. Tanıyıcı, girişin SpeechRecognized yüklenen Grammar nesnelerinden biriyle eşleşip tanınmayı oluşturmak için yeterli düzeyde güven düzeyiyle eşleşeceğini belirlerse 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. , , BabbleTimeoutInitialSilenceTimeoutve EndSilenceTimeout özelliklerini kullanarak EndSilenceTimeoutAmbiguouskonuşma tanımanın konuşma dışı girişlere nasıl yanıt vereceğini değiştirebilirsiniz.

Tanıyıcı bir dil bilgisi ile eşleşen girişi aldığında, Grammar nesnesi olayını tetikleyebilir SpeechRecognized . Nesnenin GrammarSpeechRecognized olayı, konuşma tanımanı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 işleyicisi, temsilciyi kaldırmadığınız sürece olay gerçekleştiğinde ç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.