我在c#中创建了一个简单的语法,之后我使用了语音识别器。SpeechRecognized事件。但是我不知道为什么它可以用微软语音识别器(英语- us),但它不能用微软语音识别器(英语- uk)。
下面是代码: private void button1_Click(object sender, EventArgs e)
{
System.Speech.Recognition.SpeechRecognizer sr = new SpeechRecognizer();
Choices Slist = new Choices();
Slist.Add(new string[] { "Brazil", "Germany", "Argentina", "Netherlands" });
Grammar gr = new Grammar(new GrammarBuilder(Slist));
sr.RequestRecognizerUpdate();
sr.LoadGrammarAsync(gr);
sr.SpeechRecognized += sr_SpeechRecognized;
}
void sr_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result.Text.ToString()== "Brazil")
{
MessageBox.Show("Fourth");
}
if (e.Result.Text.ToString() == "Germany")
{
MessageBox.Show("First");
}
if (e.Result.Text.ToString() == "Argentina")
{
MessageBox.Show("Second");
}
if (e.Result.Text.ToString() == "Netherlands")
{
MessageBox.Show("third");
}
}
显然,GrammarBuilder
对象上的Culture
属性必须匹配识别器的文化才能使识别工作