考虑到chrome扩展无法在manifest.json中请求音频权限,我已经读过获取权限的最佳方式是打开弹出窗口,要求用户进行音频访问。
尽管有广泛的阅读,我还没有找到办法做到这一点?是否存在以这种方式记录请求许可的地方?
答案 0 :(得分:0)
我能够通过在捕获用户媒体时收到错误回调后打开新标签来解决此问题。以下功能详细说明了这一点:
KeyEvent
const captureUserMedia = callback => {
navigator.mediaDevices.getUserMedia({ audio: true, video: false })
.then(callback)
.catch(err => {
window.chrome.tabs.create({
url: 'request-mic.html'
});
});
};
只是一个html文件,其脚本标记引用了request-mic.html
文件,该文件在标签中请求麦克风权限。此扩展程序会记住此请求,您现在可以访问麦克风了!
request-mic.js