首页 > 解决方案 > 使用语音识别进行数据输入

问题描述

我有这个

在此处输入图像描述

我想使用语音识别进行数据输入
,例如:
如果我说“项目”:我想将焦点设置在组合框项目上,然后等待我从列表中选择,其他控件也一样。

这是我的代码:

SpeechRecognitionEngine recEngine = new SpeechRecognitionEngine();

    private void TestPage_Load(object sender, EventArgs e)
    {
        Choices commands = new Choices();
        commands.Add(new string[] { "Item", "Quantity", "Date"});
        GrammarBuilder gBuilder = new GrammarBuilder();
        gBuilder.Append(commands);
        Grammar grammar = new Grammar(gBuilder);
        recEngine.LoadGrammarAsync(grammar);
        recEngine.SetInputToDefaultAudioDevice();
        recEngine.SpeechRecognized += recEngine_SpeechRecognized;
    }
    private void recEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
        if (e.Result.Text == "Item")
        {
            cmbItem.Focus();
            // I want to chose one item from a list using voice command

        }
        else if(e.Result.Text == "Quantity")
        {
            txtQuantity.Focus();
            // I Want to set the quantity for example 25
        }
        else if (e.Result.Text == "Date")
        {
            txtDate.Focus();
            //I Want to set the date
        }
    }

    private void btnActiveVoice_Click(object sender, EventArgs e)
    {
        recEngine.RecognizeAsync(RecognizeMode.Multiple);
        btnActiveVoice.Enabled = false;
        btnDisableVoice.Enabled = true;
    }

    private void btnDisableVoice_Click(object sender, EventArgs e)
    {
        recEngine.RecognizeAsyncStop();
        btnActiveVoice.Enabled = true;
        btnDisableVoice.Enabled = false;
    }

这是我能做到的。

标签: c#winformsspeech-recognition

解决方案


推荐阅读