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

浏览器兼容性

BCD 表仅在启用了 JavaScript 的浏览器中加载。

另请参阅