【问题标题】:How can a Chrome extension get a user's permission to use user's computer's microphone?Chrome 扩展程序如何获得用户使用用户计算机麦克风的权限?
【发布时间】:2013-07-25 12:37:52
【问题描述】:

如果我们在 Chrome 上的网站中运行 HTML5 的 Web Speech API 的 JavaScript 代码,Chrome 将请求用户许可才能使用用户计算机的麦克风。

var recognition = new webkitSpeechRecognition();
recognition.start();

但是,如果我在 Chrome 扩展程序的页面上运行上述代码,Chrome 不会要求用户授予权限。 Chrome 扩展程序如何获得用户使用用户计算机麦克风的权限?

谢谢。

【问题讨论】:

    标签: google-chrome google-chrome-extension speech-recognition voice-recognition google-chrome-app


    【解决方案1】:

    我认为你必须自己实现它。在 chrome 扩展的 manifest.json 中,有一个权限参数。我认为首先您必须获得在该文件中使用麦克风的权限。我不知道调用的参数是什么,但您可以在文档中查看。

    此权限警告仅在用户安装扩展程序时显示。之后,扩展程序可以随意打开/关闭麦克风。要获得用户的许可,首先检查哪个网站用户正在使用,以及是否要激活其上的麦克风。之后,只需在该网页中注入 HTML/CSS 代码,该代码将向用户显示一个请求她许可的弹出窗口。如果权限是yes,将消息发送到后台页面,然后打开它。

    【讨论】:

    【解决方案2】:

    您可以使用 navigator 全局对象在您的 chrome 扩展的 JS 文件中请求音频和/或视频权限:

    navigator.getUserMedia({audio: true, video: true})
    

    虽然 MDN 说它是 deprecated,但你可以改用它:

    navigator.mediaDevices.getUserMedia({audio: true})
    

    检查 this tutorial 以及 JS 的一些替代方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-04
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      相关资源
      最近更新 更多