desktopCapturer

desktopCapturer

访问有关可用于使用navigator.mediaDevices.getUserMediaAPI 从桌面捕获音频和视频的媒体源的信息。

Process: Renderer

以下示例显示了如何从桌面窗口捕获视频,其标题为Electron

// In the renderer process. const {desktopCapturer} = require('electron') desktopCapturer.getSources{types: ['window', 'screen']}, (error, sources) => { if (error) throw error for (let i = 0; i < sources.length; ++i) { if (sources[i].name === 'Electron') { navigator.mediaDevices.getUserMedia{ audio: false, video: { mandatory: { chromeMediaSource: 'desktop', chromeMediaSourceId: sources[i].id, minWidth: 1280, maxWidth: 1280, minHeight: 720, maxHeight: 720 } } }, handleStream, handleError) return } } }) function handleStream (stream) { document.querySelector('video').src = URL.createObjectURL(stream) } function handleError (e) { console.log(e) }

desktopCapturer传递给navigator.mediaDevices.getUserMedia必须包含的约束提供的来源捕获视频chromeMediaSource: 'desktop',和audio: false

为了从整个桌面捕获音频和视频,传递给它们的约束navigator.mediaDevices.getUserMedia必须包括chromeMediaSource: 'desktop'(对于)audiovideo(但不包括chromeMediaSourceId约束)。

const constraints = { audio: { mandatory: { chromeMediaSource: 'desktop' } }, video: { mandatory: { chromeMediaSource: 'desktop' } } }

Methods

desktopCapturer模块具有以下方法:

desktopCapturer.getSources(options, callback)

  • options 目的

开始收集有关所有可用桌面媒体源的信息,并callback(error, sources)在完成时收集电话。

sources是一个DesktopCapturerSource对象数组,每个对象DesktopCapturerSource表示一个屏幕或一个可以捕获的单独窗口。