在我的网页中,有一个屏幕共享流,以下是参数:
{
audio: false,
video: mandatory {
chromeMediaSource: 'desktop',
chromeMediaSourceId: IM.screenSourceId
...
}
...
}
我的Chrome扩展在后台脚本中包含以下代码:
desktop_id = chrome.desktopCapture.chooseDesktopMedia (session, port.sender.tab, onAccessApproved);
当点击页面上的"取消"按钮时,后台脚本中的监听器功能被触发:
chrome.desktopCapture.cancelChooseDesktopMedia (desktop_id);
在console.log
的chrome://extensions
中看到desktop_id
实际上是1
的整数值。
但它似乎不起作用,我尝试了很多Chrome版本,但仍然不起作用。我该怎么办才能取消屏幕共享?
如果选择器对话框仍处于打开状态,chrome.desktopCapture.cancelChooseDesktopMedia
将关闭该对话框。它不会在用户选择录制目标后停止媒体流。
如果要停止录制屏幕,请调用媒体流的.stop()
方法。例如
navigator.webkitGetUserMedia({
audio: false,
video: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: IM.screenSourceId
}
}
}, function onSuccess(stream) {
// Example: end the recording after 10 seconds.
setTimeout(function() {
stream.stop();
}, 10000);
}, function onError() {
// Handle error
});