SpeechRecognitionEngine.RequestRecognizerUpdate SpeechRecognitionEngine.RequestRecognizerUpdate SpeechRecognitionEngine.RequestRecognizerUpdate SpeechRecognitionEngine.RequestRecognizerUpdate Method

定義

認識エンジンが状態の更新を停止することを要求します。Requests that the recognizer pauses to update its state.

オーバーロード

RequestRecognizerUpdate(Object, TimeSpan) RequestRecognizerUpdate(Object, TimeSpan) RequestRecognizerUpdate(Object, TimeSpan) RequestRecognizerUpdate(Object, TimeSpan)

認識エンジンが状態の更新を停止し、関連イベントのオフセットとユーザー トークンを提供することを要求します。Requests that the recognizer pauses to update its state and provides an offset and a user token for the associated event.

RequestRecognizerUpdate(Object) RequestRecognizerUpdate(Object) RequestRecognizerUpdate(Object) RequestRecognizerUpdate(Object)

認識エンジンが状態の更新を停止し、関連イベントのユーザー トークンを提供することを要求します。Requests that the recognizer pauses to update its state and provides a user token for the associated event.

RequestRecognizerUpdate() RequestRecognizerUpdate() RequestRecognizerUpdate() RequestRecognizerUpdate()

認識エンジンが状態の更新を停止することを要求します。Requests that the recognizer pauses to update its state.

注釈

このメソッドを使用して、認識エンジンに対する変更を同期します。Use this method to synchronize changes to the recognizer. たとえば、レコグナイザーが入力を処理しているときに音声認識文法を読み込んだりアンロードしたりする場合はRecognizerUpdateReached 、このメソッドとイベントを使用して、アプリケーションの動作と認識エンジンの状態を同期します。For example, if you load or unload a speech recognition grammar while the recognizer is processing input, use this method and the RecognizerUpdateReached event to synchronize your application behavior with the state of the recognizer.

このメソッドが呼び出されると、レコグナイザーは非同期操作を一時停止またはRecognizerUpdateReached完了し、イベントを生成します。When this method is called, the recognizer pauses or completes asynchronous operations and generates a RecognizerUpdateReached event. その後、認識操作の間に、イベントハンドラーがレコグナイザーの状態を変更できます。RecognizerUpdateReachedA RecognizerUpdateReached event handler can then modify the state of the recognizer in between recognition operations. イベントをRecognizerUpdateReached処理する場合、レコグナイザーはイベントハンドラーが戻るまで一時停止します。When handling RecognizerUpdateReached events, the recognizer pauses until the event handler returns.

注意

レコグナイザーに対する入力が、レコグナイザーによってイベントがRecognizerUpdateReached発生する前に変更された場合、要求は破棄されます。If the input to the recognizer is changed before the recognizer raises the RecognizerUpdateReached event, the request is discarded.

このメソッドが呼び出されたとき:When this method is called:

  • 認識エンジンが入力を処理していない場合、レコグナイザー RecognizerUpdateReachedはすぐにイベントを生成します。If the recognizer is not processing input, the recognizer immediately generates the RecognizerUpdateReached event.

  • レコグナイザーが、無音またはバックグラウンドノイズで構成される入力を処理している場合、認識エンジンはRecognizerUpdateReached認識操作を一時停止し、イベントを生成します。If the recognizer is processing input that consists of silence or background noise, the recognizer pauses the recognition operation and generates the RecognizerUpdateReached event.

  • レコグナイザーが、無音またはバックグラウンドノイズで構成されていない入力を処理している場合、認識エンジンはRecognizerUpdateReached認識操作を完了し、イベントを生成します。If the recognizer is processing input that does not consist of silence or background noise, the recognizer completes the recognition operation and then generates the RecognizerUpdateReached event.

認識エンジンはイベントをRecognizerUpdateReached処理しています。While the recognizer is handling the RecognizerUpdateReached event:

  • 認識エンジンは入力を処理しません。 RecognizerAudioPositionプロパティの値は変わりません。The recognizer does not process input, and the value of the RecognizerAudioPosition property remains the same.

  • 認識エンジンは引き続き入力を収集し、 AudioPositionプロパティの値は変更される可能性があります。The recognizer continues to collect input, and the value of the AudioPosition property can change.

RequestRecognizerUpdate(Object, TimeSpan) RequestRecognizerUpdate(Object, TimeSpan) RequestRecognizerUpdate(Object, TimeSpan) RequestRecognizerUpdate(Object, TimeSpan)

認識エンジンが状態の更新を停止し、関連イベントのオフセットとユーザー トークンを提供することを要求します。Requests that the recognizer pauses to update its state and provides an offset and a user token for the associated event.

public:
 void RequestRecognizerUpdate(System::Object ^ userToken, TimeSpan audioPositionAheadToRaiseUpdate);
public void RequestRecognizerUpdate (object userToken, TimeSpan audioPositionAheadToRaiseUpdate);
member this.RequestRecognizerUpdate : obj * TimeSpan -> unit
Public Sub RequestRecognizerUpdate (userToken As Object, audioPositionAheadToRaiseUpdate As TimeSpan)

パラメーター

userToken
Object Object Object Object

操作に関する情報を含むユーザー定義情報。User-defined information that contains information for the operation.

audioPositionAheadToRaiseUpdate
TimeSpan TimeSpan TimeSpan TimeSpan

要求を遅延するための、現在の AudioPosition からのオフセット。The offset from the current AudioPosition to delay the request.

注釈

認識エンジンは、レコグナイザーのRecognizerAudioPositionが現在AudioPositionの + audioPositionAheadToRaiseUpdateと等しいまでレコグナイザー更新要求を開始しません。The recognizer does not initiate the recognizer update request until the recognizer's RecognizerAudioPosition equals the current AudioPosition plus audioPositionAheadToRaiseUpdate.

レコグナイザーによってイベントRecognizerUpdateReached UserTokenが生成RecognizerUpdateReachedEventArgsされると、のプロパティにはuserTokenパラメーターの値が含まれます。When the recognizer generates the RecognizerUpdateReached event, the UserToken property of the RecognizerUpdateReachedEventArgs contains the value of the userToken parameter.

こちらもご覧ください

RequestRecognizerUpdate(Object) RequestRecognizerUpdate(Object) RequestRecognizerUpdate(Object) RequestRecognizerUpdate(Object)

認識エンジンが状態の更新を停止し、関連イベントのユーザー トークンを提供することを要求します。Requests that the recognizer pauses to update its state and provides a user token for the associated event.

public:
 void RequestRecognizerUpdate(System::Object ^ userToken);
public void RequestRecognizerUpdate (object userToken);
member this.RequestRecognizerUpdate : obj -> unit
Public Sub RequestRecognizerUpdate (userToken As Object)

パラメーター

userToken
Object Object Object Object

操作に関する情報を含むユーザー定義情報。User-defined information that contains information for the operation.

注釈

レコグナイザーによってイベントRecognizerUpdateReached UserTokenが生成RecognizerUpdateReachedEventArgsされると、のプロパティにはuserTokenパラメーターの値が含まれます。When the recognizer generates the RecognizerUpdateReached event, the UserToken property of the RecognizerUpdateReachedEventArgs contains the value of the userToken parameter.

オーディオ位置のオフセットを指定するにはRequestRecognizerUpdate 、メソッドを使用します。To specify an audio position offset, use the RequestRecognizerUpdate method.

こちらもご覧ください

RequestRecognizerUpdate() RequestRecognizerUpdate() RequestRecognizerUpdate() RequestRecognizerUpdate()

認識エンジンが状態の更新を停止することを要求します。Requests that the recognizer pauses to update its state.

public:
 void RequestRecognizerUpdate();
public void RequestRecognizerUpdate ();
member this.RequestRecognizerUpdate : unit -> unit
Public Sub RequestRecognizerUpdate ()

次の例は、オブジェクトの読み込みとアンロードGrammarを行うコンソールアプリケーションを示しています。The following example shows a console application that loads and unloads Grammar objects. アプリケーションでは、 RequestRecognizerUpdateメソッドを使用して音声認識エンジンが一時停止するように要求し、更新プログラムを受信できるようにします。The application uses the RequestRecognizerUpdate method to request the speech recognition engine to pause so it can receive an update. その後、アプリケーションはオブジェクトをGrammar読み込んだりアンロードしたりします。The application then loads or unloads a Grammar object.

各更新時に、イベントのRecognizerUpdateReachedハンドラーによって、現在読み込まGrammarれているオブジェクトの名前と状態がコンソールに書き込まれます。At each update, a handler for RecognizerUpdateReached event writes the name and status of the currently loaded Grammar objects to the console. 文法が読み込まれてアンロードされると、アプリケーションは最初にファームの動物の名前、次にファームの動物の名前と果物の名前を認識し、次に果物の名前のみを認識します。As grammars are loaded and unloaded, the application first recognizes the names of farm animals, then the names of farm animals and the names of fruits, then only the names of fruits.

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 UserTokenが生成RecognizerUpdateReachedEventArgsされると、のnullプロパティはになります。When the recognizer generates the RecognizerUpdateReached event, the UserToken property of the RecognizerUpdateReachedEventArgs is null.

ユーザートークンを提供するにRequestRecognizerUpdateは、メソッドまたはRequestRecognizerUpdateメソッドを使用します。To provide a user token, use the RequestRecognizerUpdate or RequestRecognizerUpdate method. オーディオ位置のオフセットを指定するにはRequestRecognizerUpdate 、メソッドを使用します。To specify an audio position offset, use the RequestRecognizerUpdate method.

こちらもご覧ください

適用対象