RecognizerUpdateReachedEventArgs.UserToken Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
UserToken
Pobiera dane przekazywane do systemu, gdy aplikacja wywołuje RequestRecognizerUpdate metodę lub RequestRecognizerUpdate.
public:
property System::Object ^ UserToken { System::Object ^ get(); };
public object UserToken { get; }
member this.UserToken : obj
Public ReadOnly Property UserToken As Object
Wartość właściwości
Zwraca obiekt zawierający UserToken
obiekt .
Przykłady
W poniższym przykładzie pokazano aplikację konsolową, która ładuje Grammar i zwalnia obiekty. Aplikacja używa RequestRecognizerUpdate metody , aby zażądać wstrzymania aparatu rozpoznawania mowy, aby mogła otrzymać aktualizację. Metoda przekazuje String obiekt dla parametru userToken
, który opisuje, co aplikacja rozpozna po aktualizacji. Następnie aplikacja ładuje Grammar lub zwalnia obiekt.
W każdej aktualizacji program obsługi zdarzeń SpeechRecognitionEngine.RecognizerUpdateReached zapisuje zawartość userToken
w konsoli programu . Ponieważ gramatyki są ładowane i zwalniane, aplikacja najpierw rozpoznaje nazwy zwierząt gospodarskich, a następnie nazwy zwierząt gospodarskich i nazw owoców, a następnie tylko nazwy owoców.
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 farmAnimals grammar
recognizer.LoadGrammar(farmAnimals);
// Start continuous, asynchronous recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
Console.WriteLine("Starting asynchronous recognition...");
Console.WriteLine(" Farm animals will now be recognized.");
Thread.Sleep(7000);
Console.WriteLine();
// Load the Fruit grammar.
string activeGrammars = "Farm animals and fruits will now be recognized.";
recognizer.RequestRecognizerUpdate(activeGrammars);
recognizer.LoadGrammarAsync(favoriteFruit);
Console.WriteLine();
Thread.Sleep(7000);
Console.WriteLine();
// Unload the Farm grammar.
string onlyFruit = "Only fruits will now be recognized.";
recognizer.RequestRecognizerUpdate(onlyFruit);
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, describe what the application will recognize next.
public static void recognizer_RecognizerUpdateReached(object sender, RecognizerUpdateReachedEventArgs e)
{
Console.WriteLine(" Update reached: " + e.UserToken);
}
// 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");
}
}
}
Uwagi
Aplikacja określa UserToken
, kiedy żąda generowania RecognizerUpdateReached
zdarzenia, wywołując jedną z SpeechRecognitionEngine.RequestRecognizerUpdate metod lub SpeechRecognizer.RequestRecognizerUpdate , które przyjmują userToken
parametr.