如果我们在Chrome网站上运行HTML5的Web Speech API的JavaScript代码,Chrome会要求用户允许使用用户的计算机麦克风。
var recognition = new webkitSpeechRecognition();
recognition.start();
但如果我在Chrome扩展程序页面上运行上述代码,则Chrome不会要求用户授予权限。 Chrome扩展程序如何获得用户使用用户计算机麦克风的权限?
谢谢。
答案 0 :(得分:0)
您可以使用navigator
全局对象在Chrome扩展程序的JS文件中询问音频和/或视频权限:
navigator.getUserMedia({audio: true, video: true})
虽然MDN说它是deprecated,但您可以使用它:
navigator.mediaDevices.getUserMedia({audio: true})
检查this tutorial以及JS的一些替代方案。
答案 1 :(得分:-1)
我认为你必须自己实施它。在chrome扩展的manifest.json中,有一个权限参数。我想首先你必须获得在该文件中使用麦克风的权限。我不知道调用的参数是什么,但您可以在文档中查看。
仅当用户安装扩展程序时,才会显示此权限警告。之后,扩展可以根据其意愿打开/关闭麦克风。要获得用户的许可,请首先检查用户正在使用的网站以及是否要激活该麦克风。之后,只需在该网页中注入HTML / CSS代码,该代码将向用户显示弹出窗口,要求获得她的许可。如果权限为是,请将消息发送到后台页面,然后将其打开。