webkitspeechrecognition不再提示获得权限

webkitspeechrecognition no longer prompts for permission

本文关键字:权限 提示 不再 webkitspeechrecognition      更新时间:2023-09-26

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

出于某种原因,我的任何一个正常工作的页面都不会提示我拒绝/允许使用麦克风。我甚至从另一个Web服务器复制了一个现有的工作页面,如果我从http://localhost/speech.html它不会提示。它跳过提示并转到我的识别。错误处理程序并记录"不允许"

但是,如果我从http://127.0.0.1/speech.html它运行良好。这让我觉得我不小心缓存了一个响应,比如"总是否认"之类的。我想我清除/重置了所有的chrome设置,但我仍然有同样的行为。127.0.0.1将正确提示,但localhost根本不会提示。

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

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

getUserMedia权限在chrome中请求当前的工作方式类似于:

  • 如果您有http请求,getUserMedia将只记住该会话的权限。如果你回到同一页。它再次问道
  • 如果您通过https执行相同的请求,一旦设置了权限,您就始终拥有权限
  • 我的记忆是http://localhost/...用于调试目的。在这种情况下,您不需要重复授予权限
  • 如果你使用http和127.0.0.1/,我认为没有例外

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