SpeechRecognitionEngine.SpeechRecognitionRejected Zdarzenie
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Zgłaszane, gdy SpeechRecognitionEngine odbiera dane wejściowe, które nie pasują do żadnego z załadowanych i włączonych Grammar obiektów.
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)
Typ wydarzenia
Przykłady
Poniższy przykład rozpoznaje frazy, takie jak "Wyświetl listę artystów w kategorii jazzu" lub "Display albums gospel". W przykładzie SpeechRecognitionRejected użyto procedury obsługi dla zdarzenia, aby wyświetlić powiadomienie w konsoli, gdy nie można dopasować danych wejściowych mowy do zawartości gramatyki z wystarczającą Confidence ilością w celu uzyskania pomyślnego rozpoznawania. Program obsługi wyświetla również wynik Alternates rozpoznawania, który został odrzucony z powodu niskich wyników ufności.
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);
}
}
}
Uwagi
Rozpoznawanie zgłasza to zdarzenie, jeśli określi, że dane wejściowe nie są zgodne z wystarczającą ufnością żadnego z załadowanych i włączonych Grammar obiektów. Właściwość Result obiektu SpeechRecognitionRejectedEventArgs zawiera odrzucony RecognitionResult obiekt. Można użyć programu obsługi dla SpeechRecognitionRejected zdarzenia, aby pobrać rozpoznawanie Alternates , które zostały odrzucone i ich Confidence wyniki.
Jeśli aplikacja korzysta z SpeechRecognitionEngine wystąpienia, możesz zmodyfikować poziom ufności, na którym dane wejściowe mowy są akceptowane lub odrzucane przy użyciu jednej z UpdateRecognizerSetting metod. Możesz zmodyfikować sposób reagowania rozpoznawania mowy na dane wejściowe inne niż mowa przy użyciu BabbleTimeoutwłaściwości , InitialSilenceTimeout, EndSilenceTimeouti EndSilenceTimeoutAmbiguous .
Podczas tworzenia delegata SpeechRecognitionRejected należy zidentyfikować metodę, która będzie obsługiwać zdarzenie. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, dodaj wystąpienie delegata do zdarzenia. Program obsługi zdarzeń jest wywoływany przy każdym wystąpieniu zdarzenia, o ile nie usunięto delegata. Aby uzyskać więcej informacji na temat delegatów programu obsługi zdarzeń, zobacz Zdarzenia i delegaty.