MediaTrackSupportedConstraints:logicalSurface 属性

可用性有限

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

MediaTrackSupportedConstraints 字典的 logicalSurface 属性指示用户代理和内容所使用的设备是否支持 logicalSurface 约束。

支持的约束列表通过调用 navigator.mediaDevices.getSupportedConstraints() 来获取。

如果设备和用户代理支持 logicalSurface 约束,则返回 true

示例

此方法设置约束对象,指定调用 getDisplayMedia() 的选项。它仅在已知浏览器支持 logicalSurface 约束时才添加该约束(要求仅包含逻辑显示表面——那些可能在屏幕上并非完全可见的表面——作为用户可用的选项)。然后,通过调用 getDisplayMedia() 并将返回的流附加到变量 videoElem 引用的视频元素来启动捕获。

js
async function capture() {
  const supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
  const displayMediaOptions = {
    video: {},
    audio: false,
  };

  if (supportedConstraints.logicalSurface) {
    displayMediaOptions.video.logicalSurface = "monitor";
  }

  try {
    videoElem.srcObject =
      await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
  } catch (err) {
    /* handle the error */
  }
}

规范

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

浏览器兼容性

另见