SpeechRecognitionEngine.SpeechRecognitionRejected Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывается при SpeechRecognitionEngine получении входных данных, которые не соответствуют ни одному из загруженных и включенных Grammar объектов.
public:
event EventHandler<System::Speech::Recognition::SpeechRecognitionRejectedEventArgs ^> ^ SpeechRecognitionRejected;
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)
Тип события
Примеры
В следующем примере распознают такие фразы, как "Отображение списка художников в джазовой категории" или "Отображение альбомов евангелия". В примере используется обработчик события для SpeechRecognitionRejected отображения уведомления в консоли, когда входные данные речи не могут быть сопоставлены с содержимым грамматики, достаточной Confidence для успешного распознавания. Обработчик также отображает результат Alternates распознавания, отклоненный из-за низких показателей достоверности.
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);
}
}
}
Комментарии
Распознаватель вызывает это событие, если он определяет, что входные данные не соответствуют достаточной достоверности ни одному из загруженных и включенных Grammar объектов. Свойство Result объекта SpeechRecognitionRejectedEventArgs , содержащего отклоненный RecognitionResult объект. Обработчик события можно использовать для получения распознаванияSpeechRecognitionRejected, отклоненного Alternates и их Confidence оценки.
Если приложение использует SpeechRecognitionEngine экземпляр, вы можете изменить уровень достоверности, с помощью которого входные данные речи принимаются или отклонены с помощью одного из UpdateRecognizerSetting методов. Вы можете изменить способ реагирования распознавания речи на входные данные, отличные от речи, с помощью BabbleTimeoutсвойств , InitialSilenceTimeoutEndSilenceTimeoutи EndSilenceTimeoutAmbiguous свойств.
При создании делегата SpeechRecognitionRejected вы определите метод, который будет обрабатывать событие. Чтобы связать событие с обработчиком событий, добавьте экземпляр делегата в событие. Обработчик событий вызывается всякий раз, когда происходит событие, если вы не удалите делегат. Дополнительные сведения о делегатах обработчика событий см. в разделе "События и делегаты".