Chrome扩展程序如何获得用户使用用户计算机麦克风的权限?

时间:2013-07-25 12:37:53

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

如果我们在Chrome网站上运行HTML5的Web Speech API的JavaScript代码,Chrome会要求用户允许使用用户的计算机麦克风。

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

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

谢谢。

2 个答案:

答案 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代码,该代码将向用户显示弹出窗口,要求获得她的许可。如果权限为是,请将消息发送到后台页面,然后将其打开。