我试图共享我的屏幕并记录它,但问题是,当我选择流的来源,它不启动流,它只显示窗口与屏幕和窗口选项来分享,但选择之后,我检查了我得到的ChromeMediaSource和ChromeMediaSourceID,但正如我所说,分享的对话不会出现,因此我不能记录任何东西。无法与我的Chrome扩展
这是一个错误,我发现调试未登录到控制台:
" at chrome-extension://mnoggiilghljimfhpghalhngdciecafi/background.js:16:31"
这是在“chrome.desktopCapture.chooseDesktopMedia”的背景文件
,这是我的背景文件
background.js
chrome.runtime.onConnect.addListener(function(port){
// listen for messages from the port
port.onMessage.addListener(function(message){
// send back a "pending" answer on the port
port.postMessage({
"answer": 1,
"state": "pending",
"requestId": message.requestId
});
chrome.desktopCapture.chooseDesktopMedia(["screen", "window"], port.sender.tab, function(id){
var response = {
"answer": 1,
"state": "completed",
"requestId": message.requestId,
"streamId": id || undefined
};
// send back a "completed" answer on the port
port.postMessage(response);
});
});
});
这是个文件在其加载到该网站使用扩展
bridge.js
// open a port to communicate with background
var port = chrome.runtime.connect();
// create node
var node = document.createElement('div');
// listen for messages from webpage and forward them to the background, through the previously opened port
window.addEventListener('message', function (event){
if (event.source != window || !event.data){
return;
}
// prevent to return answer to the background
if(event.data.answer){
return;
}
port.postMessage(event.data);
});
// listen for messages from background and forward them to the webpage
port.onMessage.addListener(function(data){
window.postMessage(data, '*');
});
// insert tag into parent page
node.id = 'extension-screensharing-installed';
document.body.appendChild(node);
manifest.js
{
"name": "extension name",
"description": "This extension allows you to share your screen",
"version": "0.1",
"manifest_version": 2,
"minimum_chrome_version": "34",
"icons": {
"16": "img16.png",
"48": "img48.png",
"128": "img128.png"
},
"background": {
"scripts": ["background.js"]
},
"content_scripts": [ {
"js": [ "bridge.js" ],
"matches": [
"https://*/tester"
]
} ],
"permissions": [
"desktopCapture",
"https://*/tester"
]
}
难道是错误的东西在我的代码? 我不完全明白调试发现的错误
谢谢!
编辑:添加manifest.json文件!
您能否也请提供其他相关文件,例如'manifest.json',这对我们来说很有帮助,可以创建扩展并开始调试? –
哎呀!忘了那个! 唯一相关的文件丢失是manifest.json – AbdulHamid
事实上,我不清楚你想要使用上面的代码,用户点击共享按钮后,下一步是什么?我没有使用'chrome.desktopCapture'的经验,但[this](https://github.com/wpp/ScreenStream)会有帮助吗? –