Javascript Chrome扩展-内容脚本上的MediaStream
如何将MediaStream对象(popup.js)传递给内容脚本 popup.js这是我的javascript,包含在manifest.json上“browser\u action”的html文件中 manifest.jsonJavascript Chrome扩展-内容脚本上的MediaStream,javascript,google-chrome,google-chrome-extension,mediastream,Javascript,Google Chrome,Google Chrome Extension,Mediastream,如何将MediaStream对象(popup.js)传递给内容脚本 popup.js这是我的javascript,包含在manifest.json上“browser\u action”的html文件中 manifest.json "background": { "scripts": ["background.js"], "persistent": false }, "browser_action": { "default_icon"
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html",
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"css": ["content-style.css"],
"js": ["content.js", "fontawesome.js"]
}
],
"permissions": ["tabs", "desktopCapture", "tabCapture"]
content_scripts.js
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.actionMessage === 'popup-open') {
// do something and start recording
}
});
今天,我在content_scripts.js上使用下面的代码,但我需要记录的唯一选项卡是调用扩展的选项卡
let tabStream = await navigator.mediaDevices.getDisplayMedia({ video: true, audio: true });
我需要这是我从popup.js获得的媒体流,所以我不需要要求用户始终共享当前屏幕选项卡
我看到每个媒体流都有一个id(散列),不知道是否可以使用它在我的内容脚本上捕获媒体流
是否可以这样做,或者我需要在弹出窗口或后台脚本上生成整个录制
let tabStream = await navigator.mediaDevices.getDisplayMedia({ video: true, audio: true });