2

SpeechRecognizer クラスを使用して簡単な文法をセットアップし、簡単な単語を認識するアプリを作成しました。

Win7 で実行すると、2 つのことがわかります。

1) アプリを初めて起動すると、音声認識バー (何か) が表示されますが、アプリの UI が表示されません (タスク マネージャーで確認できるように実行されています)。(最初のインスタンスを強制終了した後) 2 回目にアプリを起動すると、正常に表示されます (Windows の音声認識ツールバーが既に実行されています)。

2)アプリで認識している単語の1つを2回話すと、イベントがトリガーされません-代わりに、アプリのテキストが選択され、認識された単語の履歴がリストボックスに出力されます。

注: メイン画面から履歴リストボックスを削除すると、期待どおりに動作します。どうやら、Win7は最初にUIで単語を見つけようとし、見つからない場合にのみ、プログラムイベントをトリガーします...??

どちらの問題も私には非常に奇妙に思えます。

アプリの詳細: C# で記述された VS2008/.NET 3.0 WPF アプリです。このアプリケーションにより、ユーザーは Midi コマンドを送信するための設定グループ (パッチ) を編集できます。各パッチにはフレーズがタグ付けされています。そのフレーズが話されると (アプリによって認識される)、設定されたすべての Midi コマンドが出力に送信されます。ユーザーがリコールしたパッチの履歴は、アプリのメイン画面の「履歴」リストに出力されます。

誰かがこれで私を助けてくれることを願っています。どんな提案でも大歓迎です。

ありがとう、マーク・ジャコビ

4

2 に答える 2

3

共有音声認識エンジン (SpeechRecognizer) を使用していると思います。SpeechRecognizer をインスタンス化すると、他のアプリケーションと共有できるレコグナイザーが得られます。これは通常、デスクトップで実行されているウィンドウとアプリケーションを制御するアプリケーションの構築に使用されます。

独自のプライベート認識エンジン (SpeechRecognitionEngine) を使用したいようです。そのため、代わりに SpeechRecognitionEngine をインスタンス化してください。

http://msdn.microsoft.com/en-us/library/system.speech.recognition.speechrecognizer(v=vs.90).aspxを参照してください。

System.Speech.Recognition と Microsoft.Speech.Recognition の違いは何ですか? 組み込みの音声認識コマンドを無効にしますか? も役立つ情報があるかもしれません。

于 2011-03-14T20:53:23.037 に答える