Sdílet prostřednictvím


SpeechRecognizer.SpeechRecognized Událost

Definice

Vyvolá se, když rozpoznávání obdrží vstup, který odpovídá jedné z jeho gramatiky rozpoznávání řeči.

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) 

Event Type

Příklady

Následující příklad je součástí konzolové aplikace, která načítá gramatiku rozpoznávání řeči a ukazuje vstup řeči do sdíleného rozpoznávání, přidružené výsledky rozpoznávání a přidružené události vyvolané rozpoznáváním řeči. Pokud Windows Rozpoznávání řeči není spuštěné, spuštěním této aplikace se spustí také Windows Rozpoznávání řeči.

Mluvený vstup, například "Chci letět z Chicaga do Miami", aktivuje SpeechRecognized událost. Když řeknete frázi "Letět z Houstonu do Chicaga" nevyvolá událost SpeechRecognized .

Příklad používá obslužnou rutinu SpeechRecognized pro událost k zobrazení úspěšně rozpoznaných frází a sémantiky, které obsahují v konzole nástroje .

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

Poznámky

Rozpoznávání vyvolá událost, SpeechRecognized pokud s dostatečnou jistotou zjistí, že vstup odpovídá některé z načtených a povolených gramatik rozpoznávání řeči. Vlastnost Result obsahuje SpeechRecognitionRejectedEventArgs akceptované RecognitionResult objekty.

Prahové hodnoty spolehlivosti pro sdílené rozpoznávání spravované nástrojem SpeechRecognizerjsou přidruženy k profilu uživatele a uloženy v registru systému Windows. Aplikace by neměly zapisovat změny vlastností sdíleného nástroje pro rozpoznávání do registru.

Když rozpoznávání obdrží vstup, který odpovídá gramatice, Grammar objekt může vyvolat SpeechRecognized událost. Událost Grammar objektu SpeechRecognized se vyvolá před událostí rozpoznávání SpeechRecognized řeči.

Když vytvoříte delegáta pro SpeechRecognized událost, identifikujete metodu, která bude událost zpracovávat. Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci delegáta. Obslužná rutina události je volána při každém výskytu události, dokud neodeberete delegáta. Další informace o delegátech obslužné rutiny událostí najdete v tématu Události a delegáti.

Platí pro

Viz také