Javascript Chrome扩展-内容脚本上的MediaStream

Javascript 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"

如何将MediaStream对象(popup.js)传递给内容脚本

popup.js这是我的javascript,包含在manifest.json上“browser\u action”的html文件中

manifest.json

"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 });