CaptureController:decreaseZoomLevel() 方法
CaptureController
接口的 decreaseZoomLevel()
方法会将捕获的显示图面的缩放级别降低一个刻度。
decreaseZoomLevel()
方法必须通过瞬时激活调用。此外,当首次尝试屏幕捕获时,会征求用户的共享标签页权限;如果用户拒绝权限,即使有瞬时激活,缩放级别也无法更改。
语法
js
decreaseZoomLevel()
参数
无。
返回值
异常
InvalidStateError
DOMException
-
抛出时
- 捕获的显示图面已达到其支持的最低缩放级别。
- 尝试在没有瞬时激活的情况下调用
decreaseZoomLevel()
。
NotAllowedError
DOMException
-
抛出时
- 页面的
captured-surface-control
权限策略不允许页面使用 Captured Surface Control API。 - 用户明确拒绝了捕获显示图面的权限。
- 页面的
示例
decreaseZoomLevel()
的基本用法
以下代码段向按钮添加了一个事件监听器,以便在点击按钮时调用 decreaseZoom()
函数。该函数又会调用 decreaseZoomLevel()
方法,从而缩小捕获的图面。
js
// Create controller and start capture
const controller = new CaptureController();
videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia({
controller,
});
// ...
decBtn.addEventListener("click", decreaseZoom);
async function decreaseZoom() {
try {
await controller.decreaseZoomLevel();
} catch (e) {
console.log(e);
}
}
通常,最好将 decreaseZoomLevel()
调用放在 try...catch
块中,因为缩放级别可能被应用程序以外的实体异步更改,这可能导致错误被抛出。例如,用户可能直接与捕获的图面进行交互来放大或缩小。
有关完整的可运行示例,请参阅 使用 Captured Surface Control API。
规范
规范 |
---|
Captured Surface Control # dom-capturecontroller-decreasezoomlevel |
浏览器兼容性
加载中…