1

次のコードを見てください

  private void button2_Click(object sender, EventArgs e)
        {
            SpeechRecognizer sr = new SpeechRecognizer();

            Choices colors = new Choices();
            colors.Add(new string[] { "red arrow", "green", "blue" });

            GrammarBuilder gb = new GrammarBuilder();
            gb.Append(colors);

            Grammar g = new Grammar(gb);

            sr.LoadGrammar(g);

           // SpeechSynthesizer s = new SpeechSynthesizer();
           // s.SpeakAsync("start speaking");

            sr.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sr_SpeechRecognized);
        }

        void sr_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            MessageBox.Show(e.Result.Text);
        }

これは、MS 音声エンジンを使用した通常の音声認識コードです。ここで、いくつかの文法をロードしたことがわかります。しかし、問題もあります。つまり、これは指定された文法だけでなく、MS 組み込みの音声コマンドにも応答しています。ウィンドウを最小化する音声コマンドのように、スタート メニューなどを開きます。

私は本当にそれを必要としません。私のアプリケーションは、MS の組み込みコマンドではなく、私の文法にのみ応答する必要があります。これを達成する方法はありますか?

4

1 に答える 1