2013-05-08 261 views

回答

2

屏幕截图在Chrome中作为实验性功能提供,您必须在浏览器设置中启用它(chrome:// flags /#enable-usermedia-screen-capture)。而且,它似乎只适用于https连接。

navigator.getUserMedia({ 
    video: { 
     mandatory: { 
     chromeMediaSource: 'screen' 
     // maxWidth: 640, 
     // maxHeight: 480 
     } 
    } 
    }, 
    function (stream) { 
    //success! Now set up the video 
    var video = document.createElement('video'); 
    video.src = window.URL.createObjectURL(stream); 
    video.autoplay = true; 
    //you can choose to display the video here or not. 
    }, 
    function() { 
    //failure. browser is unable or permission denied 
    } 
); 

一旦你设置了视频,就可以记录它。有一个为媒体录制起草的标准,但它尚未在任何浏览器中实现。但是,它仍然是可能的。有关解决方法,请参阅此demo and sample code

不幸的是,目前该解决方案仅适用于Chrome。

+0

您描述的解决方案记录来自相机的内容,它不是OP请求的截屏。 – pat 2014-10-18 01:05:14

+0

这是因为这个答案已有一年了,而且实验功能已被删除。您现在需要浏览器扩展才能使其工作。详细信息在这里:https://github.com/muaz-khan/WebRTC-Experiment/tree/master/Pluginfree-Screen-Sharing – brianchirls 2014-10-18 20:51:56