CaptureController:decreaseZoomLevel() 方法
CaptureController 介面的 decreaseZoomLevel() 方法會將捕獲的顯示圖面的縮放級別降低一個刻度。
decreaseZoomLevel() 方法必須透過瞬時啟用呼叫。此外,當首次嘗試螢幕捕獲時,會徵求使用者的共享標籤頁許可權;如果使用者拒絕許可權,即使有瞬時啟用,縮放級別也無法更改。
語法
js
decreaseZoomLevel()
引數
無。
返回值
異常
InvalidStateErrorDOMException-
丟擲時
- 捕獲的顯示圖面已達到其支援的最低縮放級別。
- 嘗試在沒有瞬時啟用的情況下呼叫
decreaseZoomLevel()。
NotAllowedErrorDOMException-
丟擲時
- 頁面的
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 |
瀏覽器相容性
載入中…