0
我正在创建一个将响应用户Commands的语音识别引擎。我已经创建了一个按钮,以便根据用户的便利启用和禁用语音识别功能。我使用了Dispose ()语音引擎的禁用讲话recoginition.here是代码如何在一个类中异步执行代码的特定部分
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();
}
}
但语音对象的处置需要time.How做异步? 是否有任何其他方式来打开和关闭语音识别?提前致谢。
你看过RecognizeAsyncStop方法吗? http://msdn.microsoft.com/en-us/library/system.speech.recognition.speechrecognitionengine.recognizeasyncstop.aspx – sthotakura