SpeechRecognizer.SpeechRecognized Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит, когда распознаватель получает входные данные, соответствующие одной из загруженных грамматик распознавания речи.
public:
event EventHandler<System::Speech::Recognition::SpeechRecognizedEventArgs ^> ^ SpeechRecognized;
public event EventHandler<System.Speech.Recognition.SpeechRecognizedEventArgs> SpeechRecognized;
member this.SpeechRecognized : EventHandler<System.Speech.Recognition.SpeechRecognizedEventArgs>
Public Custom Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs)
Public Event SpeechRecognized As EventHandler(Of SpeechRecognizedEventArgs)
Тип события
Примеры
Следующий пример является частью консольного приложения, которое загружает грамматику распознавания речи и демонстрирует ввод речи для общего распознавателя, связанные результаты распознавания и связанные события, вызванные распознавателями речи. Если функция распознавания речи Windows не запущена, запуск этого приложения также запустит распознавание речи Windows.
Речевой ввод, такой как "Я хочу полететь из Чикаго в Майами" вызовет SpeechRecognized событие. Произнесение фразы "Лететь мне из Хьюстона в Чикаго" не будет вызывать SpeechRecognized событие.
В примере используется обработчик события для SpeechRecognized отображения успешно распознаваемых фраз и семантики, которые они содержат в консоли.
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 SemanticResultValue objects that contain cities and airport codes.
SemanticResultValue chicago = new SemanticResultValue("Chicago", "ORD");
SemanticResultValue boston = new SemanticResultValue("Boston", "BOS");
SemanticResultValue miami = new SemanticResultValue("Miami", "MIA");
SemanticResultValue dallas = new SemanticResultValue("Dallas", "DFW");
// Create a Choices object and add the SemanticResultValue objects, using
// implicit conversion from SemanticResultValue to GrammarBuilder
Choices cities = new Choices();
cities.Add(new Choices(new GrammarBuilder[] { chicago, boston, miami, dallas }));
// Build the phrase and add SemanticResultKeys.
GrammarBuilder chooseCities = new GrammarBuilder();
chooseCities.Append("I want to fly from");
chooseCities.Append(new SemanticResultKey("origin", cities));
chooseCities.Append("to");
chooseCities.Append(new SemanticResultKey("destination", cities));
// Build a Grammar object from the GrammarBuilder.
Grammar bookFlight = new Grammar(chooseCities);
bookFlight.Name = "Book Flight";
// Add a handler for the LoadGrammarCompleted event.
recognizer.LoadGrammarCompleted +=
new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);
// Add a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Load the grammar object to the recognizer.
recognizer.LoadGrammarAsync(bookFlight);
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the LoadGrammarCompleted event.
static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
{
Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
Console.WriteLine();
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine();
Console.WriteLine("Semantic results:");
Console.WriteLine(" The flight origin is " + e.Result.Semantics["origin"].Value);
Console.WriteLine(" The flight destination is " + e.Result.Semantics["destination"].Value);
}
}
}
Комментарии
Распознаватель вызывает событие , SpeechRecognized
если он с достаточной уверенностью определяет, что входные данные соответствуют одной из загруженных и включенных грамматик распознавания речи. Свойство ResultSpeechRecognitionRejectedEventArgs объекта содержит принятый RecognitionResult объект .
Пороговые значения достоверности для общего распознавателя, управляемого с помощью SpeechRecognizer, связаны с профилем пользователя и хранятся в реестре Windows. Приложения не должны записывать изменения в реестр для свойств общего распознавателя.
Когда распознаватель получает входные данные, соответствующие грамматике Grammar , объект может вызвать SpeechRecognized событие . Событие Grammar объекта SpeechRecognized возникает до события распознавателя SpeechRecognized речи.
При создании делегата SpeechRecognized для события определяется метод, который будет обрабатывать событие. Чтобы связать событие с обработчиком событий, нужно добавить в событие экземпляр делегата. Обработчик событий вызывается всякий раз, когда происходит событие, если делегат не удален. Дополнительные сведения о делегатах обработчика событий см. в разделе События и делегаты.