SpeechRecognitionEngine.SpeechRecognitionRejected SpeechRecognitionEngine.SpeechRecognitionRejected SpeechRecognitionEngine.SpeechRecognitionRejected SpeechRecognitionEngine.SpeechRecognitionRejected Event

Definizione

Generato quando SpeechRecognitionEngine riceve input che non corrisponde ad alcun oggetto Grammar caricato e abilitato.Raised when the SpeechRecognitionEngine receives input that does not match any of its loaded and enabled Grammar objects.

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 Event SpeechRecognitionRejected As EventHandler(Of SpeechRecognitionRejectedEventArgs) 

Esempi

Nell'esempio seguente vengono riconosciute frasi come "visualizzare l'elenco degli artisti nella categoria jazz" o "visualizzare gli album gospel".The following example recognizes phrases such as "Display the list of artists in the jazz category" or "Display albums gospel". Nell'esempio viene usato un gestore per SpeechRecognitionRejected l'evento per visualizzare una notifica nella console quando non è possibile associare l'input vocale al contenuto della grammatica con sufficiente Confidence per produrre un riconoscimento riuscito.The example uses a handler for the SpeechRecognitionRejected event to display a notification in the console when the speech input cannot be matched to the contents of the grammar with sufficient Confidence to produce a successful recognition. Il gestore Visualizza anche il risultato Alternates del riconoscimento rifiutato a causa di punteggi di confidenza basso.The handler also displays recognition result Alternates that were rejected because of low confidence scores.

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

Commenti

Il riconoscimento genera questo evento se determina che l'input non corrisponde a una confidenza sufficiente tra gli oggetti caricati e abilitati Grammar .The recognizer raises this event if it determines that input does not match with sufficient confidence any of its loaded and enabled Grammar objects. La Result proprietà RecognitionResult di contiene l'oggetto rifiutato. SpeechRecognitionRejectedEventArgsThe Result property of the SpeechRecognitionRejectedEventArgs contains the rejected RecognitionResult object. È possibile utilizzare il gestore per l' SpeechRecognitionRejected evento per recuperare il Alternates riconoscimento rifiutato e i relativi Confidence punteggi.You can use the handler for the SpeechRecognitionRejected event to retrieve recognition Alternates that were rejected and their Confidence scores.

Se l'applicazione usa un' SpeechRecognitionEngine istanza UpdateRecognizerSetting di, è possibile modificare il livello di confidenza in cui l'input vocale viene accettato o rifiutato con uno dei metodi.If your application is using a SpeechRecognitionEngine instance, you can modify the confidence level at which speech input is accepted or rejected with one of the UpdateRecognizerSetting methods. È possibile modificare il modo in cui il riconoscimento vocale risponde all'input non vocale usando BabbleTimeoutle InitialSilenceTimeoutproprietà EndSilenceTimeout,, EndSilenceTimeoutAmbiguous e.You can modify how the speech recognition responds to non-speech input using the BabbleTimeout, InitialSilenceTimeout, EndSilenceTimeout, and EndSilenceTimeoutAmbiguous properties.

Quando si crea un delegato SpeechRecognitionRejected, si identifica il metodo che gestirà l'evento.When you create a SpeechRecognitionRejected delegate, you identify the method that will handle the event. Per associare l'evento al gestore eventi in uso, aggiungere all'evento un'istanza del delegato.To associate the event with your event handler, add an instance of the delegate to the event. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non venga rimosso il delegato.The event handler is called whenever the event occurs, unless you remove the delegate. Per ulteriori informazioni sui delegati del gestore eventi, vedere eventi edelegati.For more information about event-handler delegates, see Events and Delegates.

Si applica a

Vedi anche