次の方法で共有


音声入力イベント

[Microsoft エージェントは Windows 7 の時点で非推奨となり、以降のバージョンの Windows では使用できない可能性があります。]

さらに、コマンド イベント通知に対して、エージェントは、サーバーがリッスン モードのオンとオフを切り替えたときに、ListenStart と ListenCompleteイベント (IAgentNotifySinkEx::ListeningState) をするときにも、入力アクティブ クライアントに通知します。 ただし、ユーザーがリッスン モード キーを押し、入力アクティブ なクライアントの最上位の文字に対応する音声認識エンジンが使用できない場合、サーバーはリッスンホットキー モードタイムアウトを開始しますが、文字のアクティブなクライアントに対して ListenStart イベントを生成しません。 タイムアウトが完了する前に、ユーザーが音声認識エンジンをサポートする別の文字をアクティブ化した場合、サーバーは音声入力のアクティブ化を試み、ListenStart イベントを生成します。

同様に、クライアントが Listen メソッドを使用してリッスン モードを有効にしようとしたときに、対応する音声認識エンジンが使用できない場合、呼び出しは失敗し、サーバーは ListenStartイベントを生成しません。 Microsoft エージェント コントロールでは、Listen メソッドは false 返しますが、呼び出しではエラーは発生しません。

リッスン キー モードがオンで、ユーザーが別の音声認識エンジンを使用する文字に切り替えると、サーバーはそのエンジンに切り替えてアクティブ化し、ListenComplete をトリガーしてから、ListenStart イベントをトリガーします。 アクティブ化された文字に使用可能な音声認識エンジンがない場合 (インストールされていないか、アクティブ化された文字の言語 ID 設定と一致しないため)、サーバーは、以前にアクティブ化された文字の ListenComplete イベントをトリガーし、原因 パラメーターの値を返します。 ただし、サーバーは、音声認識をサポートしていないクライアント ListenStartまたは listenComplete イベントを生成しません。

クライアントが Listen メソッドを正常に呼び出し、音声認識エンジンがサポートされていない文字がリッスン モードのタイムアウトが完了する前に入力がアクティブになり、ユーザーが元のクライアントの文字に戻ると、サーバーはそのクライアントの ListenStart イベントを生成します。

リッスン モードの間に SRModeID変更して音声認識エンジンを切り替えた場合、サーバーは、ListenStart イベントを再トリガーせずに、そのエンジンに切り替えてアクティブ化します。 ただし、指定したエンジンが使用できない場合、呼び出しは失敗し (コントロールでエラーが発生します)、サーバーは ListenComplete イベントも呼び出します。