Chrome扩展程序麦克风捕获

l5tcr1uw  于 2023-05-11  发布在  Go
关注(0)|答案(2)|浏览(200)

我有一个browser_action扩展,用户可以按startstop来捕获一些音频输入。在文件被记录后,我想在控制台中转储其URL。问题是我无法接触到麦克风。这就是我迄今为止所尝试的:
navigator.webkitGetUserMedia-不工作,navigator.webkitGetUserMedia({ audio: true },...);使用MediaDeviceFailedDueToShutdown调用错误回调。我试着查看那个错误,但没有发现任何有用的信息。这个错误无处可寻。
你能给我指条正路吗?谢谢大家。

busg9geu

busg9geu1#

因此,事实证明,我必须从一个HTML页面中获取用户媒体,该页面被烘焙到扩展本身中。在用户访问麦克风之后,扩展的后台脚本也可以访问它。
在我的例子中,安装后我启动了welcome.html页面,请求访问:
background.js

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

welcome.js

navigator.mediaDevices.getUserMedia({ audio: true })
.then(stream => {...})
.catch(err => {...})
lyr7nygr

lyr7nygr2#

尝试在manifest.json中将“audioCapture”添加到您的权限中:

"permissions": ["fullscreen", "audioCapture"]

相关问题