gpt4 book ai didi

c# - Microsoft 语音识别 setInputToDefaultAudioDevice 抛出异常

转载 作者:行者123 更新时间:2023-11-30 12:42:39 26 4
gpt4 key购买 nike

大家好,我在 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

(System.InvalidOperationException: Cannot find the requested data item, such as a data key or value.)

SetInputToDefaultAudioDevice(); 方法

我下载并安装了 MSSpeech sdk (Microsoft.speech.dll)。还下载了语言包。 (en-us, ko-kr)

并且还在控制面板中安装并启用了我的麦克风驱动程序。

请帮助我。

我的操作系统是 Windows 10 使用语音识别 api 有问题吗?

最佳答案

很可能您正在使用 Microsoft.Speech.Recognition 而您真的应该使用 System.Speech.Recognition

改变这个:

using Microsoft.Speech.Recognition;

为此:

using System.Speech.Recognition;

您可以保留其余代码。

什么?那么这里有一些答案: What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?

简而言之,Microsoft.Speech.Recognition 适用于服务器,可处理低质量音频,例如调用中心(用于自动化等),这意味着它不兼容所有音频输入设备。

相反,System.Speech.Recognition 适用于桌面应用程序,它完全支持安装在 Windows 上的默认录音设备。

关于c# - Microsoft 语音识别 setInputToDefaultAudioDevice 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32961817/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com