【发布时间】:2013-04-14 20:17:29
【问题描述】:
我正在创建一个将响应用户命令的语音识别引擎。我已经创建了一个按钮来根据用户的方便启用和禁用语音识别。我已经使用语音引擎的 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();
}
}
但是语音对象的处理需要时间。如何异步处理? 有没有其他方法可以打开和关闭语音识别?提前致谢。
【问题讨论】:
-
你看过 RecognizeAsyncStop 方法吗? msdn.microsoft.com/en-us/library/…
标签: c# wpf asynchronous speech-recognition