This version compiles. You weren't clear enough to say whether it was a compile error or a run-time error. If your problem was a compile error, this version resolves that. Because it is C# code, the upper and lower case must match. I corrected the <event args=""> clauses to use upper and lower case like this:
<SpeechRecognizedEventArgs>
.
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Speech.Recognition;
using System.Speech.AudioFormat;
namespace reco
{
public partial class Form1 : Form
{
private SpeechRecognitionEngine recognitionEngine;
public Form1()
{
InitializeComponent();
try
{
recognitionEngine = new SpeechRecognitionEngine();
DictationGrammar dg = new DictationGrammar();
dg.Name = "Dictation Grammar";
recognitionEngine.LoadGrammar(dg);
recognitionEngine.SetInputToDefaultAudioDevice();
recognitionEngine.SetInputToDefaultAudioDevice();
recognitionEngine.EndSilenceTimeout = new TimeSpan(0, 0, 2);
recognitionEngine.SpeechHypothesized += new EventHandler<SpeechHypothesizedEventArgs>(reco_SpeechHypothesized);
recognitionEngine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(reco_SpeechRecognized);
recognitionEngine.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(reco_RecognizeCompleted);
recognitionEngine.AudioSignalProblemOccurred += new EventHandler<AudioSignalProblemOccurredEventArgs>(reco_AudioSignalProblemOccurred);
recognitionEngine.SpeechDetected += new EventHandler<SpeechDetectedEventArgs>(reco_SpeechDetected);
recognitionEngine.SpeechRecognitionRejected += new EventHandler<SpeechRecognitionRejectedEventArgs>(reco_SpeechRecognitionRejected);
recognitionEngine.RecognizeAsync(RecognizeMode.Multiple);
}
catch (Exception e)
{
MessageBox.Show("Error "+e);
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
void reco_AudioSignalProblemOccurred(object sender, AudioSignalProblemOccurredEventArgs e)
{
richTextBox1.AppendText(e.AudioSignalProblem.ToString());
}
void reco_SpeechHypothesized(object sender, SpeechHypothesizedEventArgs e)
{
richTextBox1.AppendText(e.Result.Text);
}
void reco_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
{
richTextBox1.AppendText("Rejected!");
}
void reco_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
{
richTextBox1.AppendText("Recognition Complete!");
}
void reco_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
richTextBox1.AppendText(e.Result.Text);
}
void reco_SpeechDetected(object sender, SpeechDetectedEventArgs e)
{
richTextBox1.AppendText("Speech Detected!");
}
}
}
Revised Solution - 27 March 2013 2:44PM EDT:
static void speech1(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result.Text == "record")
{
showRecord();
}
else if (e.Result.Text == "exit")
{
Application.Exit();
}
}
private void button1_Click(object sender, EventArgs e)
{
showRecord();
}
static void showRecord()
{
record r=new record();
r.show();
}
}
public class record
{
public void show() { }
}