微软语音识别setInputToDefaultAudioDevice抛出异常
本文关键字:抛出异常 setInputToDefaultAudioDevice 语音识别 微软 | 更新日期: 2023-09-27 18:16:15
大家好,我在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);
}
在call
中抛出InvalidOperationException
(系统。InvalidOperationException:找不到请求的数据项(如数据键或值)
SetInputToDefaultAudioDevice();
法
和我的麦克风驱动程序安装和启用在控制面板。
请帮帮我。
我的操作系统是Windows 10,使用语音识别api有问题吗?
很可能你正在使用Microsoft.Speech。识别,你真的应该使用System.Speech.Recognition。
改变:
using Microsoft.Speech.Recognition;
:
using System.Speech.Recognition;
您可以保留其余的代码。
Wh ?下面是一些答案:System.Speech.Recognition和Microsoft.Speech.Recognition的区别是什么?
总之Microsoft.Speech。识别适用于服务器,适用于呼叫中心(用于自动化等)中发现的低质量音频,这意味着它不兼容所有音频输入设备。
相反System.Speech。识别适用于桌面应用程序,它完全支持Windows上安装的默认录制设备。