RecognizerUpdateReachedEventArgs.UserToken Eigenschap

Definitie

Hiermee wordt het UserToken doorgegeven aan het systeem wanneer een toepassing aanroept RequestRecognizerUpdate of RequestRecognizerUpdate.

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

Waarde van eigenschap

Retourneert een object dat de UserToken.

Voorbeelden

In het volgende voorbeeld ziet u een consoletoepassing waarmee objecten worden geladen en verwijderd Grammar . De toepassing gebruikt de RequestRecognizerUpdate methode om de spraakherkenningsengine aan te vragen om te onderbreken, zodat deze een update kan ontvangen. De methode geeft een String object door voor de userToken parameter die beschrijft wat de toepassing herkent na de update. De toepassing laadt of verwijdert vervolgens een Grammar object.

Bij elke update schrijft een handler voor SpeechRecognitionEngine.RecognizerUpdateReached gebeurtenissen de inhoud van userToken de console. Naarmate grammatica's worden geladen en ontladen, herkent de toepassing eerst de namen van landbouwdieren, vervolgens de namen van landbouwdieren en de namen van fruit, en vervolgens alleen de namen van vruchten.

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

Opmerkingen

Een toepassing geeft een UserToken op wanneer deze de generatie van een RecognizerUpdateReached gebeurtenis aanvraagt door een van de SpeechRecognitionEngine.RequestRecognizerUpdate of SpeechRecognizer.RequestRecognizerUpdate methoden aan te roepen die een userToken parameter gebruiken.

Van toepassing op

Zie ook