我正在制作一个包含名为voice
的类的语音识别软件。现在在表单中有一个按钮和一个文本框。按下按钮时,它将从voice
类创建一个实例,并调用方法Loadspeech()
。我的主要问题是当运行程序,启用语音识别和语音时,系统将采用这种方法:
void sRE_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
那很好。
但是,每次演讲时,我都希望将语句值从类事件处理程序sRE_SpeechRecognized
传递到表单中的textbox
。
class Voice
{
public string speech ="";
SpeechRecognitionEngine sRE = new SpeechRecognitionEngine();
public void loadSpeech()
{
sRE.SpeechRecognized += sRE_SpeechRecognized;
sRE.LoadGrammar(new DictationGrammar());
sRE.SetInputToDefaultAudioDevice();
try { sRE.RecognizeAsync(RecognizeMode.Multiple); }
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
void sRE_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
speech = e.Result.Text;
}
答案 0 :(得分:0)
为什么要为此创建课程? 只需在MainForm中创建一个新的SpeechRecognitionEngine并使用您的代码。
void sRE_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
textbox1.Text = e.Result.Text;
}