Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Botframework V4和Webchat上启动带麦克风的机器人_Botframework_Bots_Web Chat - Fatal编程技术网

如何在Botframework V4和Webchat上启动带麦克风的机器人

如何在Botframework V4和Webchat上启动带麦克风的机器人,botframework,bots,web-chat,Botframework,Bots,Web Chat,我正在构建一个机器人,它需要从一开始就开始与用户进行语音交互。 换句话说,用户应该听到欢迎信息,他们可以立即与机器人对话,而无需单击麦克风图标。 我使用的是bot framework V4和最新版本的webchat.js 用于启动bot的代码段如下所示: (async function () { const searchParams = new URLSearchParams(window.location.search); //Speech Servic

我正在构建一个机器人,它需要从一开始就开始与用户进行语音交互。
换句话说,用户应该听到欢迎信息,他们可以立即与机器人对话,而无需单击麦克风图标。
我使用的是bot framework V4和最新版本的webchat.js
用于启动bot的代码段如下所示:

  (async function () {

        const searchParams = new URLSearchParams(window.location.search);

        //Speech Service Token Generation
        const subscriptionKey = 'XXXX';
        const region = 'brazilsouth';
        let webSpeechPonyfillFactory;

        //Speech Service Setting
        webSpeechPonyfillFactory = await window.WebChat.createCognitiveServicesSpeechServicesPonyfillFactory({
            credentials: {
                authorizationToken: speechAuthToken,
                region: region
            }
        });

        //Direct-Line BotToken Generation
        const res = await fetch('https://directline.botframework.com/v3/directline/tokens/generate', { method: 'POST', headers: { Authorization: 'Bearer ' + 'XXXXX' } });
        const { token } = await res.json();
        //***
        //Bot Service Setting
        window.WebChat.renderWebChat({
            directLine: window.WebChat.createDirectLine({ token }),
            store,
            userID: "User",
            styleOptions,
            locale: 'pt-BR',
            selectVoice: (voices, activity) =>
                activity.locale === 'pt-BR'
                    ? voices.find(({ name }) => /Daniel/iu.test(name))
                    : voices.find(({ name }) => /Daniel/iu.test(name)) ||
                    voices.find(({ name }) => /Daniel/iu.test(name)),
            webSpeechPonyfillFactory
        }, document.getElementById('botBody'));
        document.querySelector('#botBody > *').focus();

        var mainTag = chatbot.getElementsByClassName('main')[0];
        mainTag.style.borderTop = chatbot.dataset.cbBorder;
    })().catch(err => console.error(err));

我怎样才能做到这一点?Thx

不幸的是,目前,这不是网络聊天支持的功能。从技术上讲,浏览器首先会阻止在没有某种用户手势/语音输入的情况下启动的任何语音

正在进行开发,以缓解网络聊天中的此问题(问题),但没有具体的ETA。此更新目前已推出到下一版本R9,但有迹象表明它可能是R10的一部分。换句话说,考虑部署“要改变”。

如果这对你很重要,考虑增加你对上述链接的兴趣(也可能在这方面)。


希望有帮助

接受/向上投票答案服务于更大的堆栈溢出社区和任何有类似问题的人。如果你觉得我的回答足够,请“接受”并投票表决。如果没有,让我知道我还能提供什么帮助!非常感谢你的澄清,史蒂文!正如建议的那样,刚刚添加了我们对此功能的兴趣。