次の方法で共有


RecognizerUpdateReachedEventArgs.UserToken プロパティ

定義

アプリケーションが または RequestRecognizerUpdateUserToken呼び出RequestRecognizerUpdateすときにシステムに渡される を取得します。

public:
 property System::Object ^ UserToken { System::Object ^ 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受け取る メソッドまたは SpeechRecognizer.RequestRecognizerUpdate メソッドのいずれかを呼び出して、イベントのRecognizerUpdateReachedSpeechRecognitionEngine.RequestRecognizerUpdate生成を要求するときに をuserToken指定します。

適用対象

こちらもご覧ください