Используйте распознавание речи для ввода данных - PullRequest
0 голосов
/ 01 октября 2019

У меня есть это из

enter image description here

Я хочу использовать распознавание речи для ввода данных
, например:
если я говорю«Элемент»: я хочу установить фокус на элемент комбинированного списка и ждать, пока я выберу из списка, и то же самое для других элементов управления.

это мой код:

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;
    }

это насколько я могу пойти.

...