SpeechRecognizer.SpeechRecognized Zdarzenie

Definicja

Występuje, gdy rozpoznawanie odbiera dane wejściowe zgodne z jedną z gramatyk rozpoznawania mowy.

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) 

Typ zdarzenia

Przykłady

Poniższy przykład jest częścią aplikacji konsolowej, która ładuje gramatykę rozpoznawania mowy i demonstruje dane wejściowe mowy do współużytkowanego rozpoznawania, skojarzonych wyników rozpoznawania i skojarzonych zdarzeń zgłaszanych przez rozpoznawanie mowy. Jeśli funkcja rozpoznawania mowy systemu Windows nie jest uruchomiona, uruchomienie tej aplikacji spowoduje również uruchomienie funkcji rozpoznawania mowy systemu Windows.

Mówione dane wejściowe, takie jak "Chcę polecieć z Chicago do Miami" wyzwoli SpeechRecognized wydarzenie. Mówiąc wyrażenie "Fly me from Houston to Chicago" nie wyzwoli SpeechRecognized wydarzenia.

W przykładzie SpeechRecognized użyto procedury obsługi dla zdarzenia w celu wyświetlenia pomyślnie rozpoznanych fraz i semantyki, które zawierają w konsoli programu .

using System;  
using System.Speech.Recognition;  

namespace SampleRecognition  
{  
  class Program  
  {  
    static void Main(string[] args)  

    // Initialize a shared speech recognition engine.  
    {  
      using (SpeechRecognizer recognizer = new SpeechRecognizer())  
      {  

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

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

Uwagi

Rozpoznawanie zgłasza zdarzenie, SpeechRecognized jeśli zostanie ono uznane z wystarczającą ufnością, że dane wejściowe pasują do jednej z załadowanych i włączonych gramatyki rozpoznawania mowy. Właściwość Result obiektu SpeechRecognitionRejectedEventArgs zawiera akceptowany RecognitionResult obiekt.

Progi ufności dla współużytkowanego rozpoznawania zarządzanego przez SpeechRecognizerprogram są skojarzone z profilem użytkownika i przechowywane w rejestrze systemu Windows. Aplikacje nie powinny zapisywać zmian w rejestrze dla właściwości wspólnego rozpoznawania.

Gdy rozpoznawanie odbiera dane wejściowe zgodne z gramatyką, Grammar obiekt może zgłosić SpeechRecognized zdarzenie. Zdarzenie Grammar obiektu SpeechRecognized jest zgłaszane przed zdarzeniem aparatu rozpoznawania SpeechRecognized mowy.

Podczas tworzenia delegata SpeechRecognized dla zdarzenia należy zidentyfikować metodę, która będzie obsługiwać zdarzenie. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, dodaj wystąpienie delegata do zdarzenia. Program obsługi zdarzeń jest wywoływany przy każdym wystąpieniu zdarzenia, o ile nie usunięto delegata. Aby uzyskać więcej informacji na temat delegatów programu obsługi zdarzeń, zobacz Zdarzenia i delegaty.

Dotyczy

Zobacz też