【问题标题】:Microphone permission without internet connection [closed]没有互联网连接的麦克风许可[关闭]
【发布时间】:2015-03-01 22:09:37
【问题描述】:

我知道您只能使用httpshttp 请求访问谷歌浏览器(以及据我所知的其他浏览器)中浏览器的麦克风。我有一个节点服务器,并且正在使用Annyang,当我像往常一样连接到 wifi 时它工作正常(请求访问麦克风,在用户接受后执行它的操作)。

我的问题是我的应用程序要与 drone 一起使用,这意味着我将连接到无人机的 wifi(不连接到互联网)。我不认为这会是一个问题,因为我下载了 annyang.min.js 文件,并且我的应用程序的任何其他部分都不需要任何互联网连接。但是,每当我连接到无人机并启动服务器时,无论我按多少次接受,它都会反复请求使用麦克风的权限(除非我单击拒绝,此时应用程序显然停止工作)。据我所知,服务器仍在使用http,并且页面没有不断重新加载或任何事情(这会导致它再次询问)。我没有打开任何其他试图使用麦克风的选项卡。

是否有任何原因导致此问题发生?解决此问题的最佳方法是什么?我有一种预感,这个问题是由于缺乏互联网连接造成的,但我找不到任何关于为什么会导致问题的信息。有没有人遇到过这个问题(或以前类似的问题),如果有,您是如何解决的?

TL;DR:

我的speech recognition 代码在我连接到无人机的 wifi 并且连接到它后停止工作。

所有代码都可以在github 上找到。如果我能澄清任何事情,请告诉我。

【问题讨论】:

  • 你用的是什么网址?也许这是一个问题,例如localhost 可能需要一个完全限定的域名?
  • 您有日志文件吗?您能看到请求发出并被拒绝吗?
  • @AlexKey 我正在使用http://localhost:3000/,并且我查看了完全限定的域名,但在任何相关文档中似乎都没有任何关于为什么 URL 需要完全限定的内容。你有没有看到一些建议我可以看看的东西?
  • @gmaniac 我不确定你的意思,你指的是什么日志文件和请求?
  • 本地主机有日志文件吗?应该有关于请求和它给出的响应的日志。此外,对于拉出Annyang 的错误,请查看此答案stackoverflow.com/a/25149861/1146562

标签: javascript node.js ar.drone annyang


【解决方案1】:

您使用的语音识别库,实际上是使用谷歌浏览器对Web Speech API 的集成。

根据 2014 年的 article(以及我所做的不同测试),您必须连接到互联网才能使用 Google 的语音识别:

由 Google 实施的网络语音识别是一种混合解决方案,它涉及内置于浏览器中的客户端代码,用于捕获输入音频和 Google 执行实际语音识别的服务器端代码 并返回结果。
Web Speech API Specification 至少在原则上是一个浏览器 API,但在这里我们看到它与使用 Google 拥有的专有软件的远程服务器进行通信。

所以也许当它被谷歌以外的其他人实现时,你就可以在没有连接的情况下使用它。 作为一种解决方法,也许您可​​以尝试关注this thread,他们似乎能够将无人机连接到路由器(然后可能保持互联网连接)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    相关资源
    最近更新 更多