MediaTrackSettings: suppressLocalAudioPlayback 属性

实验性: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表

MediaTrackSettings 字典的 suppressLocalAudioPlayback 属性控制在捕获选项卡时,选项卡中播放的音频是否继续从用户的本地扬声器播放。

例如,在将视频通话广播到会议室中的外部 AV 系统的情况下,您希望音频从 AV 系统播放,而不是从本地扬声器播放。这样,音频将更响亮、更清晰,并且与会议视频同步。

suppressLocalAudioPlayback 的值为布尔值 - true 启用本地音频播放抑制,false 禁用它。

示例

以下函数设置了约束对象,指定了对 getDisplayMedia() 的调用的选项。它仅在已知浏览器支持的情况下添加 suppressLocalAudioPlayback 约束(请求捕获的音频不从用户的本地扬声器播放)。然后通过调用 getDisplayMedia() 并将返回的流附加到变量 videoElem 引用的视频元素来启动捕获。

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

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅