我正在创建一个将响应用户命令的语音识别引擎。我创建了一个按钮来根据用户方便启用和禁用语音识别。我使用语音引擎的 Dispose() 来禁用语音识别。这里是代码
private void button1_Click(object sender, RoutedEventArgs e)
{
engineOn = !engineOn;
if (engineOn)
{
speechEngine = speech.createSpeechEngine(); //speech is a class that creates and returns a new speech engine.
speechEngine.AudioLevelUpdated += new EventHandler<AudioLevelUpdatedEventArgs>(speechEngine_AudioLevelUpdated);
// use the system's default microphone
speechEngine.SetInputToDefaultAudioDevice();
speechEngine.LoadGrammar(new DictationGrammar());
// start listening
speechEngine.RecognizeAsync(RecognizeMode.Multiple);
}
else
{
SpeechClass.myEngine.Dispose();
}
}
但是语音对象的处理需要时间。如何异步执行?有没有其他方法可以打开和关闭语音识别?提前致谢。