【问题标题】:How to cancel chooseDesktopMedia?如何取消选择桌面媒体?
【发布时间】:2015-02-09 02:02:13
【问题描述】:

在我的网页中,有一个屏幕分享流,参数如下:

{
    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);

chrome://extensionsconsole.log 中看到desktop_id 确实是1 的整数值。

但是好像不行,我试了很多Chrome版本还是不行,怎么取消屏幕共享?

【问题讨论】:

    标签: google-chrome-extension webrtc getusermedia screensharing desktop-sharing


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-09-15
      • 2017-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 2011-08-07
      相关资源
      最近更新 更多