0
我正在製作一個語音識別軟件,其中包含一個名爲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;
}
是的。你說得對,我已經有了。但是如果我需要從多種形式調用它,該怎麼辦?那麼我會一直重複相同的代碼。 –
然後,您應該使您的SpeechRecognitonEngine公開並靜態,如下所示:'code'public static SpeechRecognitionEngine sRE = new SpeechRecognitionEngine();那麼你應該找到你的另一種形式MainWindow.sRE。 – daniel59
如何在語音類中將e.Result.Text轉換爲textbox1.Text在表單中的每次發言。 –