我正在尝试让Microsoft Cognitive语音在我的Azure VM中运行。当代码试图达到识别麦克风的点时,我得到以下错误。相同的代码在我的实际桌面中完美运行,但错误仅发生在VM中。
* ---使用带有ShortPhrase模式的麦克风启动语音识别---- --- OnConversationErrorHandler()---
收到错误错误代码:-2147023728
错误文字:传输错误*
我尝试了大多数互联网文章中提到的所有可能选项,但没有运气
How to enable sound on Windows Azure VM
http://oakleafblog.blogspot.in/2012/07/enabling-remote-desktop-services-in.html
我应该检查具体设置吗?
答案 0 :(得分:0)
我认为服务器存在连接问题。
有两种类型的Microsoft认知语音。
如果您使用的是websocket,那么:
Azure VM可能存在问题(因为Azure VM的构建是安全的)。确保Azure VM未阻止网络。 Websocket类型连接使用2个网络请求,即 HTTPRequest 和 WebSocket 。
api参考的摘要是:
HTTPRequest是从以下位置获取令牌:https://westus.api.cognitive.microsoft.com/sts/v1.0/issueToken(确保您允许Azure VM允许连接到此站点)
获取令牌后,客户端必须发送HTTPRequest以开始websocket握手,客户端应该收到101个代码(交换协议),您可以开始websocket握手。 websocket连接链接将是 wss://xxxxxxxxxx.api.cris.ai/speech/recognition/ [dictation / shortphrase] / cognitiveservices / v1
确保您的Azure VM允许两者连接。
如果您只使用HTTPRequest,则只需确保您的VM允许连接到令牌服务器和认知语音服务器。