SpeechRecognitionEngine.RequestRecognizerUpdate メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
認識エンジンが状態の更新を停止することを要求します。
オーバーロード
RequestRecognizerUpdate(Object, TimeSpan) |
認識エンジンが状態の更新を停止し、関連イベントのオフセットとユーザー トークンを提供することを要求します。 |
RequestRecognizerUpdate(Object) |
認識エンジンが状態の更新を停止し、関連イベントのユーザー トークンを提供することを要求します。 |
RequestRecognizerUpdate() |
認識エンジンが状態の更新を停止することを要求します。 |
注釈
このメソッドを使用して、認識エンジンへの変更を同期します。 たとえば、認識エンジンが入力の処理中に音声認識文法を読み込むかアンロードする場合は、このメソッドと イベントを RecognizerUpdateReached 使用して、アプリケーションの動作を認識エンジンの状態と同期します。
このメソッドが呼び出されると、認識エンジンは非同期操作を一時停止または完了し、イベントを RecognizerUpdateReached 生成します。 RecognizerUpdateReachedイベント ハンドラーは、認識操作の間に認識エンジンの状態を変更できます。 イベントを処理 RecognizerUpdateReached する場合、認識エンジンはイベント ハンドラーから戻るまで一時停止します。
Note
認識エンジンがイベントを発生 RecognizerUpdateReached させる前に認識エンジンへの入力が変更された場合、要求は破棄されます。
このメソッドが呼び出されたとき:
認識エンジンが入力を処理していない場合、認識エンジンはすぐにイベントを生成します RecognizerUpdateReached 。
認識エンジンが無音またはバックグラウンド ノイズで構成される入力を処理している場合、認識エンジンは認識操作を一時停止し、イベントを生成します RecognizerUpdateReached 。
認識エンジンが無音またはバックグラウンド ノイズで構成されない入力を処理している場合、認識エンジンは認識操作を完了し、イベントを RecognizerUpdateReached 生成します。
認識エンジンがイベントを処理している間:RecognizerUpdateReached
認識エンジンは入力を処理せず、プロパティの RecognizerAudioPosition 値は変わりません。
認識エンジンは引き続き入力を収集し、プロパティの値を AudioPosition 変更できます。
RequestRecognizerUpdate(Object, TimeSpan)
認識エンジンが状態の更新を停止し、関連イベントのオフセットとユーザー トークンを提供することを要求します。
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
操作に関する情報を含むユーザー定義情報。
- audioPositionAheadToRaiseUpdate
- TimeSpan
要求を遅延するための、現在の AudioPosition からのオフセット。
注釈
認識エンジンは、認識エンジンの が現在AudioPositionの とaudioPositionAheadToRaiseUpdate
等しいまで、認識エンジンのRecognizerAudioPosition更新要求を開始しません。
認識エンジンが イベントを RecognizerUpdateReached 生成すると、 UserToken の RecognizerUpdateReachedEventArgs プロパティに パラメーターの値が userToken
含まれます。
こちらもご覧ください
適用対象
RequestRecognizerUpdate(Object)
認識エンジンが状態の更新を停止し、関連イベントのユーザー トークンを提供することを要求します。
public:
void RequestRecognizerUpdate(System::Object ^ userToken);
public void RequestRecognizerUpdate (object userToken);
member this.RequestRecognizerUpdate : obj -> unit
Public Sub RequestRecognizerUpdate (userToken As Object)
パラメーター
- userToken
- Object
操作に関する情報を含むユーザー定義情報。
注釈
認識エンジンが イベントを RecognizerUpdateReached 生成すると、 UserToken の RecognizerUpdateReachedEventArgs プロパティに パラメーターの値が userToken
含まれます。
オーディオ位置オフセットを指定するには、 メソッドを使用します RequestRecognizerUpdate 。
こちらもご覧ください
適用対象
RequestRecognizerUpdate()
認識エンジンが状態の更新を停止することを要求します。
public:
void RequestRecognizerUpdate();
public void RequestRecognizerUpdate ();
member this.RequestRecognizerUpdate : unit -> unit
Public Sub RequestRecognizerUpdate ()
例
次の例は、オブジェクトを読み込んでアンロードするコンソール アプリケーションを Grammar 示しています。 アプリケーションでは、 メソッドを RequestRecognizerUpdate 使用して、更新プログラムを受信できるように音声認識エンジンに一時停止を要求します。 その後、アプリケーションは オブジェクトを Grammar 読み込むかアンロードします。
更新のたびに、イベントの RecognizerUpdateReached ハンドラーによって、現在読み込まれているオブジェクトの名前と状態がコンソールに書き込まれます Grammar 。 文法が読み込まれてアンロードされると、アプリケーションは最初に農場の動物の名前、次に農場の動物の名前と果物の名前、次に果物の名前のみを認識します。
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 生成すると、 の UserTokenRecognizerUpdateReachedEventArgs プロパティは です null
。
ユーザー トークンを指定するには、 メソッドまたは RequestRecognizerUpdate メソッドをRequestRecognizerUpdate使用します。 オーディオ位置オフセットを指定するには、 メソッドを使用します RequestRecognizerUpdate 。
こちらもご覧ください
適用対象
.NET