次のコードを見てください
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 の組み込みコマンドではなく、私の文法にのみ応答する必要があります。これを達成する方法はありますか?