CaptureController

实验性:这是一个实验性技术
在生产环境中使用此功能之前,请仔细查看浏览器兼容性表

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中可用。

CaptureController 接口提供了一些方法,可用于进一步操作捕获会话,这些方法与通过MediaDevices.getDisplayMedia()启动捕获会话无关。

CaptureController 对象通过将其作为选项对象 controller 属性的值传递到getDisplayMedia() 调用中,与捕获会话相关联。

构造函数

CaptureController() 实验性

创建一个新的 CaptureController 对象实例。

实例方法

setFocusBehavior() 实验性

控制捕获的选项卡或窗口是否会获得焦点,或者焦点是否会保留在包含捕获应用程序的选项卡中。

示例

js
// Create a new CaptureController instance
const controller = new CaptureController();

// Prompt the user to share a tab, window, or screen.
const stream = await navigator.mediaDevices.getDisplayMedia({ controller });

// Query the displaySurface value of the captured video track
const [track] = stream.getVideoTracks();
const displaySurface = track.getSettings().displaySurface;

if (displaySurface == "browser") {
  // Focus the captured tab.
  controller.setFocusBehavior("focus-captured-surface");
} else if (displaySurface == "window") {
  // Do not move focus to the captured window.
  // Keep the capturing page focused.
  controller.setFocusBehavior("no-focus-change");
}

规范

规范
屏幕捕获
# dom-capturecontroller

浏览器兼容性

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

另请参阅