RecognizerUpdateReachedEventArgs.UserToken Свойство

Определение

Возвращает объект , передаваемый UserToken в систему, когда приложение вызывает RequestRecognizerUpdate или RequestRecognizerUpdate.

public:
 property System::Object ^ UserToken { System::Object ^ get(); };
public object? UserToken { get; }
public object UserToken { get; }
member this.UserToken : obj
Public ReadOnly Property UserToken As Object

Значение свойства

Возвращает объект , содержащий UserTokenобъект .

Примеры

В следующем примере показано консольное приложение, которое загружает и выгружает Grammar объекты. Приложение использует метод , RequestRecognizerUpdate чтобы запросить приостановку подсистемы распознавания речи, чтобы получить обновление. Метод передает String объект для userToken параметра , который описывает, что приложение распознает после обновления. Затем приложение загружает или выгружает Grammar объект .

При каждом обновлении обработчик события SpeechRecognitionEngine.RecognizerUpdateReached записывает содержимое userToken в консоль. По мере загрузки и выгрузки грамматики приложение сначала распознает имена сельскохозяйственных животных, затем названия сельскохозяйственных животных и названия фруктов, затем только названия фруктов.

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");
    }
  }
}

Комментарии

Приложение указывает , UserToken когда запрашивает создание RecognizerUpdateReached события путем вызова одного из SpeechRecognitionEngine.RequestRecognizerUpdate методов или SpeechRecognizer.RequestRecognizerUpdate , которые принимают userToken параметр .

Применяется к

См. также раздел