SpeechRecognitionEngine.SpeechRecognitionRejected Gebeurtenis

Definitie

Gegenereerd wanneer de SpeechRecognitionEngine invoer wordt ontvangen die niet overeenkomt met een van de geladen en ingeschakelde Grammar objecten.

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) 

Gebeurtenistype

Voorbeelden

In het volgende voorbeeld worden zinnen herkend, zoals 'De lijst met artiesten weergeven in de jazzcategorie' of 'Display albums gospel'. In het voorbeeld wordt een handler gebruikt voor de SpeechRecognitionRejected gebeurtenis om een melding weer te geven in de console wanneer de spraakinvoer niet kan worden vergeleken met de inhoud van de grammatica met voldoende Confidence om een geslaagde herkenning te produceren. De handler geeft ook het herkenningsresultaat Alternates weer dat is geweigerd vanwege lage betrouwbaarheidsscores.

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(new System.Globalization.CultureInfo("en-US")))
      {

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

        // Set the input to the recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Start recognition.
        recognizer.RecognizeAsync(RecognizeMode.Multiple);

        // 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.");
      foreach (RecognizedPhrase phrase in e.Result.Alternates)
      {
      Console.WriteLine("  Rejected phrase: " + phrase.Text);
      Console.WriteLine("  Confidence score: " + phrase.Confidence);
      }
    }

    // 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);
      Console.WriteLine("  Confidence score: " + e.Result.Confidence);
    }
  }
}

Opmerkingen

Deze gebeurtenis wordt gegenereerd door de recognizer als wordt bepaald dat de invoer niet overeenkomt met voldoende betrouwbaarheid van de geladen en ingeschakelde Grammar objecten. De Result eigenschap van het SpeechRecognitionRejectedEventArgs object bevat het geweigerde RecognitionResult object. U kunt de handler voor de SpeechRecognitionRejected gebeurtenis gebruiken om herkenning Alternates op te halen die zijn geweigerd en hun Confidence scores.

Als uw toepassing een SpeechRecognitionEngine exemplaar gebruikt, kunt u het betrouwbaarheidsniveau wijzigen waarop spraakinvoer wordt geaccepteerd of geweigerd met een van de UpdateRecognizerSetting methoden. U kunt wijzigen hoe de spraakherkenning reageert op niet-spraakinvoer met behulp van de BabbleTimeout, InitialSilenceTimeouten EndSilenceTimeouteigenschappen EndSilenceTimeoutAmbiguous .

Wanneer u een SpeechRecognitionRejected gemachtigde maakt, identificeert u de methode die de gebeurtenis verwerkt. Als u de gebeurtenis wilt koppelen aan uw gebeurtenis-handler, voegt u een exemplaar van de gemachtigde toe aan de gebeurtenis. De gebeurtenis-handler wordt aangeroepen wanneer de gebeurtenis plaatsvindt, tenzij u de gemachtigde verwijdert. Zie Gebeurtenissen en gemachtigden voor meer informatie over gedelegeerden voor gebeurtenissen en gemachtigden.

Van toepassing op

Zie ook