iframe - 如何修复麦克风访问在仅影响 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 中进行网络聊天?
解决方案
推荐阅读
- python - 如何从 Flask 模板中获取表单数据并传递给 HTML 页面
- python - 纸浆求解器约束
- html - 将页脚 div 固定到屏幕底部
- elasticsearch - 将弃用的 elasticsearch 查询转换为 7.12
- angular - 错误:NotYetImplemented - HTMLCanvasElement.Wo4J.exports.nyi
- python - 如何绘制移动的水平轴,python
- php - 如何使用 laravel 连接两个不同的数据库表
- php - 如何根据对另一个数组的排序方式对数组进行排序
- python - 在 docker 容器中安装 PyYAML
- c - 标记化输入中的无限循环