我正在为聊天机器人v4.3(webchat-es5)使用网络聊天 https://github.com/microsoft/BotFramework-WebChat
由于IE不支持浏览器语音功能,因此我想使用bing语音/认知语音服务 但提供的示例包括使用IE中不允许的等待/异步方法 https://github.com/Microsoft/BotFramework-WebChat/tree/master/samples/06.a.cognitive-services-bing-speech-js
让我知道是否需要更多信息。 谢谢
答案 0 :(得分:0)
您可以使用then / catch方法来避免使用异步/等待。看看下面的ES5 Bundle Web Chat Sample和代码片段
window.fetch('https://webchat-mockbot.azurewebsites.net/directline/token', { method: 'POST' })
.then(function (res) {
return res.json();
})
.then(function (json) {
const token = json.token;
window.fetch('https://webchat-mockbot.azurewebsites.net/speechservices/token', { method: 'POST' })
.then(function (res) {
return res.json();
})
.then(function (json) {
const region = json.region;
const authorizationToken = json.token;
window.WebChat.createCognitiveServicesSpeechServicesPonyfillFactory({ authorizationToken: authorizationToken, region: region })
.then(function (webSpeechPonyfillFactory) {
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token: token }),
webSpeechPonyfillFactory: webSpeechPonyfillFactory
}, document.getElementById('webchat'));
document.querySelector('#webchat > *').focus();
});
});
});
尽管您可以避免使用异步/等待,但根据GitHub上的issue,认知语音服务在Internet Explorer中不起作用。因此,上面的代码导致“此浏览器不支持WebRTC”错误。
无论如何,希望这会有所帮助。