【问题标题】:webkitspeechrecognition no longer prompts for permissionwebkitspeechrecognition 不再提示许可
【发布时间】:2016-09-01 05:57:05
【问题描述】:

我一直在为一些使用 webkitspeechrecognition 的页面制作原型。我很快了解到,你不能从文件中加载这些,你必须从网络服务器上提供它们。我正在使用 osx,所以我只是将我的文件移动到已经运行并启用的本地 apache。这工作了很长一段时间。

由于某种原因,我所有运行良好的页面都不会提示我拒绝/允许使用麦克风。我什至从另一个网络服务器复制了一个现有的工作页面,如果我从http://localhost/speech.html 加载它,它不会提示。它跳过提示并转到我的识别.onerror 处理程序并记录“不允许”

但是,如果我从 http://127.0.0.1/speech.html 加载相同的页面(或我的任何其他原型),它可以正常工作。这让我觉得我不小心缓存了诸如“始终拒绝”之类的响应。我想我清除/重置了我所有的 chrome 设置,但我仍然得到相同的行为。 127.0.0.1会正确提示,localhost根本不会提示。

chrome 可能会在哪里存储一些我需要清除的附加设置?

【问题讨论】:

    标签: javascript html webkit speech-recognition


    【解决方案1】:

    您的麦克风设置可能存储在chrome://settings/contentExceptions#media-stream-mic。您可以查看已保存权限的网站。

    【讨论】:

      【解决方案2】:

      在 chrome 中请求 getUserMedia 权限目前的工作方式如下:

      • 如果您有一个 http 请求,getUserMedia 将只记住该会话的权限。如果你回到同一页面。它再次询问。
      • 如果你通过https做同样的请求,一旦你设置了权限,你就一直有权限。
      • 我的记忆是为http://localhost/... 授予异常以用于调试目的。在这种情况下,您不需要重复授予 权限。
      • 如果你使用http和127.0.0.1/,我想也不例外。

      http://www.html5rocks.com/en/tutorials/getusermedia/intro/

      【讨论】:

        猜你喜欢
        • 2015-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多