通过 chrome 扩展程序中的弹出窗口请求音频访问权限



考虑到chrome扩展程序无法在manifest.json中请求音频权限,我已经读到获得权限的最佳方法是打开一个弹出窗口,要求用户访问音频。

尽管阅读了大量内容,但我还没有找到一种方法来做到这一点?是否有某处以这种方式记录请求权限?

在捕获用户媒体时收到错误回调后,我能够通过打开一个新选项卡来解决此问题。下面的函数详细介绍了这一点:

const captureUserMedia = callback => {
  navigator.mediaDevices.getUserMedia({ audio: true, video: false })
    .then(callback)
    .catch(err => {
      window.chrome.tabs.create({
        url: 'request-mic.html'
      });
    });
};

request-mic.html只是一个 html 文件,其中包含一个脚本标记,该标记引用了在选项卡中请求麦克风权限的request-mic.js文件。此请求被扩展程序记住,您现在可以访问麦克风!

<script src="request-mic.js"></script>

最新更新