MediaTrackSettings: suppressLocalAudioPlayback 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

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

MediaTrackSettings 字典的 suppressLocalAudioPlayback 屬性控制著在捕獲某個標籤頁時,該標籤頁正在播放的音訊是否會繼續透過使用者的本地揚聲器播放。

例如,在會議室的視訊通話廣播到外部 AV 系統的情況下,您會希望音訊從 AV 系統播放,而不是本地揚聲器。這樣,音訊會更響亮、更清晰,並且與會議影片同步。

suppressLocalAudioPlayback 的值為布林值 — true 啟用本地音訊播放抑制,false 停用它。

示例

下面的函式設定了 constraints 物件,為呼叫 getDisplayMedia() 指定了選項。它會新增 suppressLocalAudioPlayback 約束(請求捕獲的音訊不透過使用者本地揚聲器播放),但僅當瀏覽器已知支援該約束時。然後透過呼叫 getDisplayMedia() 並將返回的流附加到變數 videoElem 引用的 video 元素來啟動捕獲。

js
async function capture() {
  const supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
  const displayMediaOptions = {
    audio: {},
  };

  if (supportedConstraints.suppressLocalAudioPlayback) {
    displayMediaOptions.audio.suppressLocalAudioPlayback = true;
  }

  try {
    videoElem.srcObject =
      await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
  } catch (err) {
    /* handle the error */
  }
}

規範

規範
螢幕捕獲
# dom-mediatrackconstraintset-suppresslocalaudioplayback

瀏覽器相容性

另見