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

浏览器兼容性

另见