Sdílet prostřednictvím


SpeechRecognizer.SpeechRecognitionRejected Událost

Definice

Nastane, když rozpoznávání obdrží vstup, který neodpovídá žádné gramatikě rozpoznávání řeči, kterou načetl.

public:
 event EventHandler<System::Speech::Recognition::SpeechRecognitionRejectedEventArgs ^> ^ SpeechRecognitionRejected;
public event EventHandler<System.Speech.Recognition.SpeechRecognitionRejectedEventArgs> SpeechRecognitionRejected;
member this.SpeechRecognitionRejected : EventHandler<System.Speech.Recognition.SpeechRecognitionRejectedEventArgs> 
Public Custom Event SpeechRecognitionRejected As EventHandler(Of SpeechRecognitionRejectedEventArgs) 
Public Event SpeechRecognitionRejected As EventHandler(Of SpeechRecognitionRejectedEventArgs) 

Event Type

Příklady

Následující příklad rozpoznává fráze, jako je například "Zobrazení seznamu umělců v kategorii jazzu" nebo "Zobrazit alba evangelium". Příklad používá obslužnou rutinu pro SpeechRecognitionRejected událost k zobrazení oznámení v konzole, když vstup řeči nelze spárovat s obsahem gramatiky s dostatečnou jistotou, aby bylo možné úspěšně rozpoznat.

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 a grammar.
        //  Create lists of alternative choices.
        Choices listTypes = new Choices(new string[] { "albums", "artists" });
        Choices genres = new Choices(new string[] {
          "blues", "classical", "gospel", "jazz", "rock" });

        //  Create a GrammarBuilder object and assemble the grammar components.
        GrammarBuilder mediaMenu = new GrammarBuilder("Display");
        mediaMenu.Append("the list of", 0, 1);
        mediaMenu.Append(listTypes);
        mediaMenu.Append("in the", 0, 1);
        mediaMenu.Append(genres);
        mediaMenu.Append("category", 0, 1);

        //  Build a Grammar object from the GrammarBuilder.
        Grammar mediaMenuGrammar = new Grammar(mediaMenu);
        mediaMenuGrammar.Name = "Media Chooser";

        // Attach event handlers.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
        recognizer.SpeechRecognitionRejected +=
          new EventHandler<SpeechRecognitionRejectedEventArgs>(recognizer_SpeechRecognitionRejected);

        // Load the grammar object to the recognizer.
        recognizer.LoadGrammarAsync(mediaMenuGrammar);

        // Keep the console window open.
        Console.ReadLine();
      }
    }

    // Handle the SpeechRecognitionRejected event.
    static void recognizer_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
    {
      Console.WriteLine("Speech input was rejected.");
    }

    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Speech recognized: " + e.Result.Text);
    }
  }
}

Poznámky

Sdílený rozpoznávací faktor vyvolá tuto událost, pokud zjistí, že vstup neodpovídá dostatečné jistotě, že žádná načtená gramatika rozpoznávání řeči. Vlastnost ResultSpeechRecognitionRejectedEventArgs obsahuje odmítnutý RecognitionResult objekt.

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í.

Při vytváření delegáta SpeechRecognitionRejected 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é