Как всегда включать микрофон в рамке бота прямой линией
Я создаю бота, который принимает текст и голосовой ввод, а также может отвечать в обоих режимах. Бот работает очень хорошо, но я должен всегда нажимать кнопку микрофона, чтобы поговорить с ботом. Знаете ли вы, что можно всегда включать микрофон и распознавать голос, не нажимая кнопку микрофона?
<!DOCTYPE html>
<html>
<head>
<link href="https://cdn.botframework.com/botframework-
webchat/latest/botchat.css" rel="stylesheet" />
</head>
<body>
<div id="bot" />
<script src="https://cdn.botframework.com/botframework-
webchat/latest/botchat.js"></script>
<script src="https://cdn.botframework.com/botframework-
webchat/latest/CognitiveServices.js"></script>
<script> var speechOptions = {
speechRecognizer: new CognitiveServices.SpeechRecognizer(
{ subscriptionKey: 'xxxxxx' }),
speechSynthesizer: new CognitiveServices.SpeechSynthesizer(
{
subscriptionKey: 'xxxxxxxxxxx',
gender: CognitiveServices.SynthesisGender.Female,
voiceName: 'Microsoft Server Speech Text to Speech Voice (en-US,
JessaRUS)'
})
}
var botConnection = new BotChat.DirectLine({
secret: "zzzzzzzzzz",
webSocket: true,
});
BotChat.App({
speechOptions: speechOptions,
botConnection: botConnection,
user: {
id: 'userid',
name: 'User',
},
bot: { id: 'botid' },
resize: 'detect',
locale: 'en-US'
},
function postHelp() {
botConnection
.postActivity({
from: { id: 'userid', name: 'User' },
name: 'postHelp',
type: 'message',
text: 'help'
})
.subscribe(function(id) {
console.log('"postHelp" sent');
});
};
function welcome() {
botConnection
.postActivity({
from: { id: 'userid', name: 'User' },
name: 'welcome',
type: 'event',
value: 'help'
})
.subscribe(function (id) {
console.log('"welcome" sent');
});
}
</script>
1 ответ
Вы не можете просто включить такое поведение. Чтобы получить что-то подобное, вы должны реализовать все это самостоятельно, отредактировав код элемента управления веб-чатом. Элемент управления веб-чата использует Direct Line API под капотом через библиотеку DirectLineJS.