RecognizerUpdateReachedEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает данные из RecognizerUpdateReached события или RecognizerUpdateReached события.
public ref class RecognizerUpdateReachedEventArgs : EventArgs
public class RecognizerUpdateReachedEventArgs : EventArgs
type RecognizerUpdateReachedEventArgs = class
inherit EventArgs
Public Class RecognizerUpdateReachedEventArgs
Inherits EventArgs
- Наследование
Примеры
В следующем примере показан консольное приложение, которое загружает и выгружает Grammar объекты. Приложение использует RequestRecognizerUpdate метод для запроса обработчика распознавания речи для приостановки, чтобы он смог получить обновление. Затем приложение загружает или выгружает Grammar объект.
При каждом обновлении обработчик события SpeechRecognitionEngine.RecognizerUpdateReached записывает имя и состояние загруженных Grammar в данный момент объектов в консоль. Как грамматики загружаются и выгружаются, приложение сначала распознает имена сельскохозяйственных животных, а затем имена сельскохозяйственных животных и имена фруктов, а затем только имена фруктов.
using System;
using System.Speech.Recognition;
using System.Collections.Generic;
using System.Threading;
namespace SampleRecognition
{
class Program
{
private static SpeechRecognitionEngine recognizer;
public static void Main(string[] args)
{
// Initialize an in-process speech recognition engine and configure its input.
using (recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
{
recognizer.SetInputToDefaultAudioDevice();
// Create the first grammar - Farm.
Choices animals = new Choices(new string[] { "cow", "pig", "goat" });
GrammarBuilder farm = new GrammarBuilder(animals);
Grammar farmAnimals = new Grammar(farm);
farmAnimals.Name = "Farm";
// Create the second grammar - Fruit.
Choices fruit = new Choices(new string[] { "apples", "peaches", "oranges" });
GrammarBuilder favorite = new GrammarBuilder(fruit);
Grammar favoriteFruit = new Grammar(favorite);
favoriteFruit.Name = "Fruit";
// Attach event handlers.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
recognizer.RecognizerUpdateReached +=
new EventHandler<RecognizerUpdateReachedEventArgs>(recognizer_RecognizerUpdateReached);
recognizer.SpeechRecognitionRejected +=
new EventHandler<SpeechRecognitionRejectedEventArgs>(recognizer_SpeechRecognitionRejected);
// Load the Farm grammar.
recognizer.LoadGrammar(farmAnimals);
// Start asynchronous, continuous recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
Console.WriteLine("Starting asynchronous, continuous recognition");
Console.WriteLine(" Farm grammar is loaded and enabled.");
// Pause to recognize farm animals.
Thread.Sleep(7000);
Console.WriteLine();
// Request an update and load the Fruit grammar.
recognizer.RequestRecognizerUpdate();
recognizer.LoadGrammarAsync(favoriteFruit);
Thread.Sleep(7000);
// Request an update and unload the Farm grammar.
recognizer.RequestRecognizerUpdate();
recognizer.UnloadGrammar(farmAnimals);
Thread.Sleep(7000);
}
// Keep the console window open.
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// At the update, get the names and enabled status of the currently loaded grammars.
public static void recognizer_RecognizerUpdateReached(
object sender, RecognizerUpdateReachedEventArgs e)
{
Console.WriteLine();
Console.WriteLine("Update reached:");
Thread.Sleep(1000);
string qualifier;
List<Grammar> grammars = new List<Grammar>(recognizer.Grammars);
foreach (Grammar g in grammars)
{
qualifier = (g.Enabled) ? "enabled" : "disabled";
Console.WriteLine(" {0} grammar is loaded and {1}.",
g.Name, qualifier);
}
}
// Write the text of the recognized phrase to the console.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine(" Speech recognized: " + e.Result.Text);
}
// Write a message to the console when recognition fails.
static void recognizer_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
{
Console.WriteLine(" Recognition attempt failed");
}
}
}
Комментарии
RecognizerUpdateReached события предоставляют механизм приостановки обработчика распознавания речи для применения атомарных и синхронных изменений, таких как загрузка и выгрузка грамматик.
Если приложение использует экземпляр для управления распознаванием, он может использовать SpeechRecognitionEngine один из SpeechRecognitionEngine.RequestRecognizerUpdate методов, чтобы запросить, что модуль приостанавливает получение обновления. Экземпляр SpeechRecognitionEngine вызывает SpeechRecognitionEngine.RecognizerUpdateReached событие, когда оно готово к обновлению.
SpeechRecognitionEngine При приостановке экземпляра можно загружать, выгружать, включать и отключать Grammar объекты, а также изменять значения для BabbleTimeoutсвойств и InitialSilenceTimeoutEndSilenceTimeoutсвойств.
Если приложение использует экземпляр для управления распознаванием, он может использовать SpeechRecognizer один из SpeechRecognizer.RequestRecognizerUpdate методов, чтобы запросить, что модуль приостанавливает получение обновления. Экземпляр SpeechRecognizer вызывает SpeechRecognizer.RecognizerUpdateReached событие, когда оно готово к обновлению.
SpeechRecognizer При приостановке экземпляра можно загрузить, выгрузить, включить и отключить Grammar объекты.
При обработке SpeechRecognitionEngine.RecognizerUpdateReached и SpeechRecognizer.RecognizerUpdateReached событиях обработчик распознавания приостанавливается до тех пор, пока обработчик событий не возвращается.
RecognizerUpdateReachedEventArgs является производным от EventArgs.
Свойства
| Имя | Описание |
|---|---|
| AudioPosition |
Возвращает позицию звука, связанную с событием. |
| UserToken |
Получает переданный |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |