c# – Microsoft语音识别setInputToDefaultAudioDevice抛出异常
你好,我在MS语音识别方面遇到了麻烦.
我的代码很简单. static void init() { string enUsEngine = string.Empty; foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers()) { Console.WriteLine(ri.Culture); if (ri.Culture.Name.Equals("en-US") == true) { enUsEngine = ri.Id; } } SpeechRecognitionEngine recogEngine = new SpeechRecognitionEngine(enUsEngine); Grammar grammar = new Grammar("grammar.xml"); recogEngine.LoadGrammar(grammar); recogEngine.SpeechRecognized += recogEngine_SpeechRecognized; recogEngine.RecognizeCompleted += recogEngine_RecognizeCompleted; recogEngine.SetInputToDefaultAudioDevice(); recogEngine.RecognizeAsync(RecognizeMode.Multiple); } 然后在调用中抛出InvalidOperationException
SetInputToDefaultAudioDevice();方法 我下载了MSSpeech sdk并安装了它(Microsoft.speech.dll). 还在控制面板中安装并启用了我的麦克风驱动程序. 请帮我. 我的操作系统是Windows 10是使用语音识别API的问题吗? 解决方法
很可能你使用的是Microsoft.Speech.Recognition,你应该使用System.Speech.Recognition.
改变这个: using Microsoft.Speech.Recognition; 对此: using System.Speech.Recognition; 您可以保留其余代码. 瓦?那么这里有一些答案: 简而言之,Microsoft.Speech.Recognition适用于服务器,可以在呼叫中心(用于自动化等)中使用低质量音频,这意味着它与所有音频输入设备不兼容. 相反,System.Speech.Recognition适用于桌面应用程序,它完全支持Windows上安装的默认录制设备. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |