W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
desktopCapturer
模塊可用來獲取可用資源,這個資源可通過 getUserMedia
捕獲得到.
// 在渲染進(jìn)程中.
var desktopCapturer = require('electron').desktopCapturer;
desktopCapturer.getSources({types: ['window', 'screen']}, function(error, sources) {
if (error) throw error;
for (var 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
}
}
}, gotStream, getUserMediaError);
return;
}
}
});
function gotStream(stream) {
document.querySelector('video').src = URL.createObjectURL(stream);
}
function getUserMediaError(e) {
console.log('getUserMediaError');
}
當(dāng)調(diào)用 navigator.webkitGetUserMedia
時創(chuàng)建一個約束對象,如果使用 desktopCapturer
的資源,必須設(shè)置 chromeMediaSource
為 "desktop"
,并且 audio
為 false
.
如果你想捕獲整個桌面的 audio 和 video,你可以設(shè)置 chromeMediaSource
為 "screen"
,和 audio
為 true
. 當(dāng)使用這個方法的時候,不可以指定一個 chromeMediaSourceId
.
desktopCapturer
模塊有如下方法:
desktopCapturer.getSources(options, callback)
options
Objecttypes
Array - 一個 String 數(shù)組,列出了可以捕獲的桌面資源類型, 可用類型為 screen
和 window
.thumbnailSize
Object (可選) - 建議縮略可被縮放的 size, 默認(rèn)為 {width: 150, height: 150}
.callback
Function發(fā)起一個請求,獲取所有桌面資源,當(dāng)請求完成的時候使用 callback(error, sources)
調(diào)用 callback
.
sources
是一個 Source
對象數(shù)組, 每個 Source
表示了一個捕獲的屏幕或單獨窗口,并且有如下屬性 :
id
String - 在 navigator.webkitGetUserMedia
中使用的捕獲窗口或屏幕的 id . 格式為 window:XX
禍screen:XX
,XX
是一個隨機數(shù).name
String - 捕獲窗口或屏幕的描述名 . 如果資源為屏幕,名字為 Entire Screen
或 Screen <index>
; 如果資源為窗口, 名字為窗口的標(biāo)題.thumbnail
NativeImage - 縮略圖.注意: 不能保證 source.thumbnail
的 size 和 options
中的 thumnbailSize
一直一致. 它也取決于屏幕或窗口的縮放比例.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: