为什么这个程序没能收听我的声音?

时间:2017-03-02 22:58:44

标签: c# winforms

我向社区提出了一个问题。我跟随了一些关于语音到文本有点交易的最新教程。这对他有用而不适合我,所以你有什么建议吗?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Speech.Recognition;
using System.Speech.Synthesis;
namespace Voice_Recognition
{
  public partial class Form1 : Form
  {
    SpeechRecognitionEngine recEngine = new SpeechRecognitionEngine();
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        recEngine.RecognizeAsync(RecognizeMode.Multiple);
        btnEnable.Enabled = true;
    }

    private void richTextBox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void Form1_Load(object sender, EventArgs e)
    {
        Choices commands = new Choices();
        commands.Add(new string[] {"say hello", "print my name" });
        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)
    {
        switch (e.Result.Text)
        {
            case "say hello":
                MessageBox.Show("Hello, Zach!");

                break;
            case "print my name":
                richTextBox1.Text += "\n Zach";

                break;
        }
    }

    private void btnDisable_Click(object sender, EventArgs e)
    {
        recEngine.RecognizeAsyncStop();
        btnDisable.Enabled = false;

    }
  }
}

0 个答案:

没有答案