Sdílet prostřednictvím


SpeechRecognizer.SpeechRecognized Událost

Definice

Nastane, 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čte gramatiku rozpoznávání řeči a demonstruje 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 není spuštěné rozpoznávání řeči systému Windows, spustí se také spuštění této aplikace.

Mluvený vstup, například "Chci letět z Chicaga do Miami", aktivuje SpeechRecognized událost. Když mluvíte s frází "Fly me from Houston to Chicago" (Přiletět z Houstonu do Chicaga) neaktivuje SpeechRecognized událost.

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

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á SpeechRecognized událost, pokud zjistí s dostatečnou jistotou, že vstup odpovídá jedné z načtených a povolených gramatik rozpoznávání řeči. Vlastnost ResultSpeechRecognitionRejectedEventArgs obsahuje akceptované RecognitionResult objekty.

Prahové hodnoty spolehlivosti pro sdílený rozpoznač, který SpeechRecognizerspravuje , jsou přidružené k profilu uživatele a uloženy v registru Systému Windows. Aplikace by neměly zapisovat změny do registru pro vlastnosti sdíleného rozpoznávání.

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

Při vytváření delegáta SpeechRecognized pro událost identifikujete metodu, která bude zpracovávat událost. 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 se volá při každém výskytu události, pokud delegáta neodeberete. Další informace o delegátech obslužné rutiny událostí naleznete v tématu Události a delegáty.

Platí pro

Viz také