我在后台脚本中设置了desktopCapture,并将当前选项卡指定为targetTab属性,以便在不提示用户要共享哪个选项卡的情况下获取streamId。
背景.js:
chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
const tabId = tabs[0].id;
const currentTab = tabs[0];
console.log(currentTab);
// Initialize desktopCapture with the targetTab property
chrome.desktopCapture.chooseDesktopMedia(
['tab'],
currentTab,
function(streamId) {
// Create a MediaStream object for the selected tab
if (streamId !== null || streamId != undefined) {
sendResponse(streamId);
console.log(streamId);
} else {}
}
);
});
1条答案
按热度按时间ui7jx7zq1#
targetTab
属性没有指定捕获哪个选项卡。相反,它指定了除了扩展本身之外,哪个选项卡 * 可以使用 * 创建的流。出于安全原因,用户在录制屏幕之前总是会得到提示。chooseDesktopMedia
的文档将targetTab
解释为:为其创建流的可选选项卡。如果未指定,则生成的流只能由调用扩展使用。