2009-06-29 10 views
2

カスタム(特殊)文法で音声認識をサポートするプログラムを作成しようとしています。ただし、SpeechRecognizedイベントは発生せず、音声認識アプレットはあたかも文法が存在しないかのように動作します。C#の音声認識を使用する

ここに私の正確な手順があります。私が間違っているところを教えてください。

  1. コントロールパネルを開き、「音声」を検索してから「音声認識を開始」をクリックします。
  2. Visual C#を開き、新しいWindowsフォームプロジェクトを作成します。
  3. the first answer on this Stack Overflow questionのコードをコピーしてプロジェクトに貼り付けます。
  4. System.Speechに必要な参照を追加します。
  5. 音声認識アプレットを実行したまま、プログラムを実行します。
  6. 「リスニングを開始」と言ってください。
  7. は数が

    ラベルのテキストは、決してそのデフォルト値(「LABEL1」)から変化しないので、rec_SpeechRecognized()が呼び出されないようです

1〜100、すなわちSpeechRecognizedイベントは発動しませんと言います。開いているウィンドウの名前やスタートメニューのプログラムと少し似ている数字を言うと、それが私の意図かどうか尋ねられます。私が定義したカスタム文法は完全に無関係なようです。

私はWeb上で見つかった多くの例を試しました。これはすべて、私がリンクしているその答えの例とほとんど同じですが、異なる文法でしかありません。私はそれらすべてのために同じ結果を得るので、私は何か間違ったことをしているに違いないと思います。

私は間違っていますか?

+0

がありますそれが呼び出されるかどうかを確認するための認識ツールのコールバック/ – chollida

答えて

0

答えの欠如から、私はそれが他の人にとってはうまくいくと思うが、私にとってはうまくいかないと思う。したがって、答えは "不可能"と思われます。

2

私はデザイナーのForm1_LoadルーチンにForm1のロードイベントをリンクしていないと思います。私はあなたの歩みを正確に辿り、同じ結果を得ました。 Form1_Loadのどこかでブレークポイントを取得できるかどうかを確認してください。

実際にForm1_Loadが呼び出されたことをデザイナーが確認した後、正常に動作しました。

+0

はい、私はイベントをリンクしました。もちろん、私はブレークポイントを設定しようとしました。 Form1_Loadのコードが実行されます。あなたは「うまく走った」と言います - あなたは音声認識を試しましたか?実際にあなたの数字を認識しましたか? – Timwi

+0

私は'65 'と言って、65が現れました。 –

0

あなたは同じスレッド内の他の記事を読めば、あなたは上のブレークポイントを入れているあなたは、むしろ1以上などの1、2、として番号を追加する必要があると言う1、2 ...