首页 > 解决方案 > 如何修复麦克风访问在仅影响 Google Chrome 的 iframe 中被阻止?

问题描述

我有一个基于示例 6 的网络聊天版本(认知服务语音 - https://github.com/microsoft/BotFramework-WebChat/tree/master/samples/06.c.cognitive-services-speech-services-js ) 带有一些额外的样式,例如颜色。

我已将该页面嵌入到 SharePoint 365 网站上的 iframe 中,当我尝试单击麦克风时,出现权限被拒绝错误。这只发生在谷歌浏览器中;Firefox 在提供麦克风访问和接受语音输入方面没有问题。

从搜索中,需要将允许属性添加到我已经这样做以允许麦克风访问的 iframe 标记中,但这似乎没有影响,因为我仍然收到相同的错误消息:权限被拒绝。我尝试将站点添加到允许属性中,这也没有任何区别。

我也尝试将该站点添加到受信任的站点,但无济于事。导航到网络聊天本身并使用麦克风没有问题。Chrome 请求使用麦克风的权限,并且聊天接受语音输入。

此问题仅发生在 Google Chrome 中,而不发生在 Firefox 中。

这是 iframe 代码:

<iframe src="https://.........../webchat.html" allow="microphone;" style="min-width: 400px; width: 100%; min-height: 500px;" width="800" height="500"></iframe>

我希望结果类似于 Firefox,其中浏览器要求麦克风访问和聊天开始接受语音输入。

我得到的是控制台中的以下错误消息:

2019-08-02T11:15:00.146Z | 音频源错误事件 | 元数据:{} | 音频源ID:21F72644922849E3AA429BDDB1D44D70 | 错误:麦克风初始化期间发生错误:NotAllowedError:权限被拒绝

Chrome 不会请求麦克风访问权限。如何使用 Chrome 浏览器在 iframe 中进行网络聊天?

标签: iframebotframeworkdirect-line-botframeworkweb-chat

解决方案


推荐阅读