MediaTrackSupportedConstraints: displaySurface 属性

可用性有限

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

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

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

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

示例

此方法设置约束对象,为调用 getDisplayMedia() 指定选项。它仅在已知浏览器支持 displaySurface 约束时添加该约束(要求仅允许全屏共享)。然后通过调用 getDisplayMedia() 并将返回的流附加到由变量 videoElem 引用的视频元素来启动捕获。

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

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

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

规范

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

浏览器兼容性

另见