MediaTrackConstraints: logicalSurface 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

MediaTrackConstraints 字典的 logicalSurface 属性是一个 ConstrainDOMString,用于描述对 logicalSurface 可约束属性值所施加的请求或强制约束。

这用于指定 getDisplayMedia() 是否应允许用户选择不一定在屏幕上完全可见的显示表面,例如被遮挡的窗口,或者需要滚动才能看到全部内容的大窗口的全部内容。

如果需要,您可以通过调用 MediaDevices.getSupportedConstraints() 返回的 MediaTrackSupportedConstraints.logicalSurface 的值来确定是否支持此约束。但是,通常这并不必要,因为浏览器会忽略它们不熟悉的任何约束。

一个 ConstrainBoolean,如果允许在用户可选的逻辑表面中包含逻辑表面,则为 true

有关约束的定义方式,请参阅 如何定义约束

用法说明

您可以通过调用显示媒体的视频 MediaStreamTrack 上的 getSettings() 来检查用户代理在创建显示媒体后所选的设置,然后检查返回的 MediaTrackSettings 对象的 logicalSurface 属性的值。

例如,如果您的应用程序需要知道所选的显示表面是否为逻辑表面

js
let isLogicalSurface = displayStream
  .getVideoTracks()[0]
  .getSettings().logicalSurface;

遵循此代码,如果流中包含的显示表面是一个逻辑表面(即,可能并非完全在屏幕上,甚至可能完全在屏幕外),则 isLogicalSurfacetrue

规范

规范
屏幕捕获
# dom-mediatrackconstraintset-logicalsurface

浏览器兼容性

另见