Chrome扩展麦克风捕获

Teo*_*Teo 1 javascript audio google-chrome google-chrome-extension

我有一个browser_action扩展,用户可以按下startstop为了捕捉到一些音频输入.记录文件后,我想将其url转储到控制台中.问题是我无法访问麦克风.这是我到目前为止所尝试的:

navigator.webkitGetUserMedia- 不起作用,navigator.webkitGetUserMedia({ audio: true },...);使用MediaDeviceFailedDueToShutdown调用错误回调.我试着调查那个错误,但我发现没有什么有用的.这个错误无处可寻.

你能指导我走正确的道路吗?谢谢.

Teo*_*Teo 5

事实证明,我必须从扩展本身的html页面中获取用户媒体.在用户授权访问麦克风后,扩展程序的后台脚本也可以访问它.

在我的例子中,安装后我启动了welcome.html请求访问的页面:

background.js

chrome.runtime.onInstalled.addListener((details) => {
    if (details.reason.search(/install/g) === -1) {
        return
    }
    chrome.tabs.create({
        url: chrome.extension.getURL("welcome.html"),
        active: true
    })
})
Run Code Online (Sandbox Code Playgroud)

welcome.js

navigator.webkitGetUserMedia({ audio: true }, s => {...}, err => {...}
Run Code Online (Sandbox Code Playgroud)

  • 至少这解释了我经历过的地狱......你能找到更好的东西吗? (3认同)