SpeechRecognizer.语音识别事件不能与语音识别器(英语- uk)一起工作



我在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属性必须匹配识别器的文化才能使识别工作

最新更新