我是微软 bot 框架的新手。我已经构建了一个简单的聊天机器人,当我将它发布并部署到 webapp 频道时,它看起来像这样
用户将在其中选择或键入文本,机器人将做出响应。现在我需要的是,我需要在发送选项附近添加一个麦克风,这样如果用户点击麦克风并开始说话,那么它应该由机器人自动输入(谷歌语音到底是怎么做的)
我有 bing 语音到文本 api 参考键,但我不知道如何在其中添加和激活麦克风功能。
如果有人知道请帮我解决这个问题
您可以在 Web 应用程序中利用Microsoft Bot Framework插件的可嵌入 Web 聊天控件。语音示例可以参考https://github.com/Microsoft/BotFramework-WebChat/blob/master/samples/speech/index.html。
一般来说,对于快速测试的代码中的一些要点:
<link href='https://cdn.botframework.com/botframework-webchat/latest/botchat.css' rel="stylesheet"/>
...
<script src="https://cdn.botframework.com/botframework-webchat/latest/botchat.js"></script>
<script src="https://cdn.botframework.com/botframework-webchat/latest/CognitiveServices.js"></script>
初始化语音选项:
const speechOptions = {
speechRecognizer: new CognitiveServices.SpeechRecognizer({ subscriptionKey: 'YOUR_COGNITIVE_SPEECH_API_KEY' }),
speechSynthesizer: new CognitiveServices.SpeechSynthesizer({
gender: CognitiveServices.SynthesisGender.Female,
subscriptionKey: 'YOUR_COGNITIVE_SPEECH_API_KEY',
voiceName: 'Microsoft Server Speech Text to Speech Voice (en-US, JessaRUS)'
})
};
在脚本中初始化 BotChat:
BotChat.App({
bot: bot,
locale: params['locale'],
resize: 'detect',
// sendTyping: true, // defaults to false. set to true to send 'typing' activities to bot (and other users) when user is typing
speechOptions: speechOptions,
user: user,
// locale: 'es-es', // override locale to Spanish
directLine: {
domain: params['domain'],
secret: params['s'],
token: params['t'],
webSocket: params['webSocket'] && params['webSocket'] === 'true' // defaults to true
}
}, document.getElementById('BotChatGoesHere'));