desktopCapturer
模块可用来获取可用资源,这个资源可通过 getUserMedia
捕获得到.
// 在渲染进程中.
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");
}
当调用 navigator.webkitGetUserMedia
时创建一个约束对象,如果使用 desktopCapturer
的资源,必须设置 chromeMediaSource
为 "desktop"
,并且 audio
为 false
.
如果你想捕获整个桌面的 audio 和 video,你可以设置 chromeMediaSource
为 "screen"
,和 audio
为 true
. 当使用这个方法的时候,不可以指定一个 chromeMediaSourceId
.
desktopCapturer
模块有如下方法:
desktopCapturer.getSources(options, callback)
options
Objecttypes
Array - 一个 String 数组,列出了可以捕获的桌面资源类型, 可用类型为 screen
和 window
.thumbnailSize
Object (可选) - 建议缩略可被缩放的 size, 默认为 {width: 150, height: 150}
.callback
Function发起一个请求,获取所有桌面资源,当请求完成的时候使用 callback(error, sources)
调用 callback
.
sources
是一个 Source
对象数组, 每个 Source
表示了一个捕获的屏幕或单独窗口,并且有如下属性 :
id
String - 在 navigator.webkitGetUserMedia
中使用的捕获窗口或屏幕的 id . 格式为 window:XX
祸screen:XX
,XX
是一个随机数.name
String - 捕获窗口或屏幕的描述名 . 如果资源为屏幕,名字为 Entire Screen
或 Screen <index>
; 如果资源为窗口, 名字为窗口的标题.thumbnail
NativeImage - 缩略图.注意: 不能保证 source.thumbnail
的 size 和 options
中的 thumnbailSize
一直一致. 它也取决于屏幕或窗口的缩放比例.
设备模式移动仿真随着移动用户的增长,移动端友好的响应式网站设计变得越来越重要。网页的内容要在不同的设备以及各种网络环境下...
凹凸图用于使用Measure值之一来比较两个尺寸。它们对于探索时间维度或地方维度或与分析相关的其他维度的值的变化非常有用。凹凸...
项目脚手架grunt-initgrunt-init是一个用于自动创建项目脚手架的工具。它会基于当前工作环境和你给出的一些配置选项构建一个完整...
grunt.optionGrunt的option API被用来在多个任务之间共享参数、访问命令行中设置的参数。一个简单的案例就是为一个目标(target...
介绍WipeLeft类定义了一个擦除左效果。 组件的前或后状态必须是不可见的。类声明以下是 mx.effects.WipeLeft 类的声明:public cl...
IPv4/IPv6双协议栈FEATURESTATE:Kubernetesv1.23[stable]IPv4/IPv6双协议栈网络能够将IPv4和IPv6地址分配给Pod和Service。从1.21...
限制范围默认情况下,Kubernetes集群上的容器运行使用的计算资源没有限制。使用资源配额,集群管理员可以以名字空间为单位,限制...
污点和容忍度节点亲和性是Pod的一种属性,它使Pod被吸引到一类特定的节点(这可能出于一种偏好,也可能是硬性要求)。污点(Tain...
安装扩展(Addons)Add-ons扩展了Kubernetes的功能。本文列举了一些可用的add-ons以及到它们各自安装说明的链接。每个Add-ons按...
设备插件FEATURESTATE:Kubernetesv1.10[beta]Kubernetes提供了一个设备插件框架,你可以用它来将系统硬件资源发布到Kubelet。供...