如何设置语音识别器启动和停止

时间:2014-04-12 21:41:00

标签: c# speech-recognition

我正在尝试制作语音识别器应用程序。使用C#。我创建了基本的应用程序,它工作正常。

现在我的问题是。

如何使用按钮控件启动和停止语音识别器。

我正在使用SpeechRecognitionEngine

这是我的代码。

private bool Status = false;

    SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
    Choices dic = new Choices(new String[] {
                "word1",
                "word2",
                });



    public Form1()
    {
        InitializeComponent();

        Grammar gmr = new Grammar(new GrammarBuilder(dic));
        gmr.Name = "myGMR";
        // My Dic

        sre.LoadGrammar(gmr);
      sre.SpeechRecognized += 
      new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
        sre.SetInputToDefaultAudioDevice();
        sre.RecognizeAsync(RecognizeMode.Multiple);
    } 

    private void button1_Click(object sender, EventArgs e)
    {
        if (Status)
        {
            button1.Text = "START";
            Status = false;
            stslable.Text = "Stopped";
        }
        else {

            button1.Text = "STOP";
            Status = true;
            stslable.Text = "Started";
        }
    }

    public void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs ev)
    {
       String theText = ev.Result.Text;
      MessageBox.Show(theText);
    }

1 个答案:

答案 0 :(得分:1)

您可以通过设置此null来取消订阅和处置此对象,并在需要时重新创建并重新订阅。或者您只能取消订阅,它不会引发任何事件。