Electron官方文档(v1.6.1)中文翻译

1. desktopCapturer

2017-03-07  本文已影响306人  Shmily落墨

原文:https://github.com/electron/electron/blob/master/docs/api/desktop-capturer.md
译者:Lin

访问媒体资源的信息,可以被用来使用navigator.webkitGetUserMedia接口从桌面捕捉音频和视频。

进程:渲染进程

下面的例子演示如何从桌面上一个标题是Electron的窗口中捕捉视频:

// 渲染进程中。
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.webkitGetUserMedia({
                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)
}

使用navigator.webkitGetUserMedia传入desktopCapturer提供的资源来捕捉视频,则参数重必须包含chromeMediaSource: 'desktop',和audio: false

<h2 id="methods">方法</h2>

desktopCapturer模块有下面的方法:

<h3 id="desktopCapturer-getSources"><code>desktopCapturer.getSources(options, callback)</code></h3>

开始收集所有可用的桌面媒体资源,在收集完成后调用callback(error, sources)

sources是一个DesktopCapturerSource类型对象的数组,每一个DesktopCapturerSource表示可以被捕捉的一个屏幕或者一个窗口。

上一篇下一篇

猜你喜欢

热点阅读