Microsoft.Speech SpeechRecognitionEngine.setInputToDefaultAudioDevice() 方法抛出 System.InvalidOperation
Posted
技术标签:
【中文标题】Microsoft.Speech SpeechRecognitionEngine.setInputToDefaultAudioDevice() 方法抛出 System.InvalidOperationException【英文标题】:Microsoft.Speech SpeechRecognitionEngine.setInputToDefaultAudioDevice() method throwing System.InvalidOperationException 【发布时间】:2015-10-24 13:12:14 【问题描述】:我正在使用 Microsoft.Speech(不是 System.Speech!),我正在尝试将音频流的输入设置为我的麦克风,这是默认音频设备,但它抛出了异常:
System.InvalidOperationException' 发生在 Microsoft.Speech.dll 但 未在用户代码中处理`
附加信息:找不到请求的数据项,例如 数据键或值。
这只是一个测试,理想情况下我想将音频流设置到我的扬声器,但如果我可以让它工作,我可以使用虚拟音频设备软件插入麦克风流。如果有人也可以直接将音频流设置到扬声器,那就完美了。
感谢您的帮助!
【问题讨论】:
谁对我的问题投了反对票,请问为什么?因为我花了 6 个小时寻找这个问题的答案,最后我在这里提问,结果被否决了。 之前已经问过同样的问题***.com/questions/32961817/… 根据网络中的信息,当您没有可用的麦克风时会发生此异常。您需要检查您是否可以实际录制音频。 @NikolayShmyrev 如果我使用 System.Speech 命名空间,它工作正常,但如果我使用 Microsoft.Speech,它会抛出异常,所以我知道我的录音设备工作正常。这个问题没有答案 【参考方案1】:根据网上有限的信息,情况如下。 Microsoft.Speech 识别器是服务器识别器,如 VXML 服务器,它可能不支持所有音频设备和所有输入速率。例如,您的音频驱动程序可能不支持低质量录制。所以 Microsoft.Speech 可能不接受你的音频设备。
您需要改用 System.Speech API,它是为桌面 API 设计的,应该可以工作。
【讨论】:
以上是关于Microsoft.Speech SpeechRecognitionEngine.setInputToDefaultAudioDevice() 方法抛出 System.InvalidOperation的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft.Speech SpeechRecognitionEngine.setInputToDefaultAudioDevice() 方法抛出 System.InvalidOperation
加载 Microsoft Speech SDK v11 时出错
Microsoft Speech Platform 语音转文本