1. desktopCapturer

作者: Shmily落墨 | 来源:发表于2017-03-07 14:15 被阅读306次

    原文: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>

    • options Object类型
      • types String[]类型 - 一个字符串数组,列出了要捕捉的桌面资源的类型,可用类型是screenwindow
      • thumbnailSize Object类型(可选参数)- 建议媒体资源的缩略图应该缩放到的大小,默认是{width: 150, height: 150}
    • callback Function类型

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

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

    相关文章

      网友评论

        本文标题:1. desktopCapturer

        本文链接:https://www.haomeiwen.com/subject/iysmgttx.html