3

.NET Framework 4.0 の System.Speech 名前空間を使用して、初めての音声認識アプリケーションを作成しています。

私は共有音声認識を使用して、デフォルトのディクテーション文法と私が行ったカスタム文法をロードしています。

また、イベント "SpeechRecognidized" のハンドラーを実装することで、Windows Speech Recognizer (WSR) によって認識されたテキストをキャプチャします。

認識されたテキストを変更したい (たとえば、テキストの「2」を「2」に変更する) が、その場合、現在のアプリ (MS Word など) に出力が書き込まれません。

SendKeys メソッドを使用して同様のことができることはわかっていますが、出力の品質が低下するため、お勧めできません。たとえば、標準ユーザーとして WSR を使用している場合、「.」の後に表示されます。または改行 次の文は大文字で始まります。独自の出力パーサーを作成する場合は、考慮しなければならないことがたくさんあるので、SpeechRecognized イベントを処理しない場合は、WSR が使用するものを使用したいと思います。しかし...どのように??

(必要に応じて SAPI を使用してもかまいません)。

ありがとう!!

4

1 に答える 1

2

簡単な答えはあなたができないということです。WSRには、サードパーティがディクテーションパイプラインに接続できるようにするフックがありません。

于 2012-01-06T22:43:05.417 に答える