CaptureController: increaseZoomLevel() 方法

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

CaptureController 介面的 increaseZoomLevel() 方法將捕獲的顯示錶面縮放級別增加一個級別。

increaseZoomLevel() 方法必須透過 瞬時啟用 呼叫。此外,使用者在首次嘗試螢幕捕獲時會被請求共享標籤頁的許可權;如果使用者拒絕許可權,即使有瞬時啟用,縮放級別也無法更改。

語法

js
increaseZoomLevel()

引數

無。

返回值

一個 Promise,它 fulfilled 為 undefined

異常

InvalidStateError DOMException

丟擲時

  • 捕獲的顯示錶面已達到其支援的最大縮放級別。
  • 嘗試在沒有瞬時啟用的情況下呼叫 increaseZoomLevel()
NotAllowedError DOMException

丟擲時

示例

increaseZoomLevel() 的基本用法

以下程式碼片段向按鈕添加了一個事件監聽器,以便在點選按鈕時呼叫 increaseZoom() 函式。該函式接著呼叫 increaseZoomLevel() 方法,從而放大捕獲的表面。

js
// Create controller and start capture
const controller = new CaptureController();
videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia({
  controller,
});

// ...

incBtn.addEventListener("click", increaseZoom);

async function increaseZoom() {
  try {
    await controller.increaseZoomLevel();
  } catch (e) {
    console.log(e);
  }
}

通常,最好將 increaseZoomLevel() 呼叫放在 try...catch 塊中,因為縮放級別可能被應用程式以外的實體非同步更改,這可能導致丟擲錯誤。例如,使用者可能直接與捕獲的表面進行互動來進行縮放。

有關完整的可執行示例,請參閱 使用 Captured Surface Control API

規範

規範
Captured Surface Control
# dom-capturecontroller-increasezoomlevel

瀏覽器相容性

另見