MediaTrackConstraints: echoCancellation 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

MediaTrackConstraints 字典的 echoCancellation 属性是一个 ConstrainBooleanOrDOMString,用于描述在 echoCancellation 可约束属性值上设置的请求或强制约束。

如果需要,您可以通过调用 MediaDevices.getSupportedConstraints() 返回的 MediaTrackSupportedConstraints.echoCancellation 的值来确定此约束是否受支持。然而,通常这没有必要,因为浏览器会忽略它们不认识的任何约束。

一个布尔值、一个字符串或一个 ConstrainBooleanOrDOMString 对象。

如果浏览器支持特定的回声消除类型,则可以将值设置为以下选项之一:

"all" Experimental

移除用户麦克风捕获的所有用户系统生成的音频。这在您希望避免捕获隐私敏感音频(如屏幕阅读器输出和系统通知)的情况下非常有用。

"remote-only" Experimental

仅移除用户麦克风从远程源(由来自 RTCPeerConnectionMediaStreamTrack 表示)捕获的用户系统生成的音频。当您想消除与远程对等方的通信回声,但仍共享本地音频时,这很有用,例如在音乐课中,老师想听学生跟随音轨演奏,同时仍能与他们清晰地交流。

true

浏览器决定从麦克风录制的信号中移除哪些音频。它必须尝试消除至少与 remote-only 一样多的音频,并应尝试消除与 all 一样多的音频。

false

不移除任何音频;不进行回声消除。

如果浏览器不支持特定的回声消除类型,则该值可以是 truefalse

如果设置为上述值之一,用户代理将尝试在可能的情况下启用或禁用回声消除来获取媒体,但如果无法完成,则不会失败。

如果值是带有 exact 字段的对象,则该字段的值表示回声消除功能的必需设置;如果无法满足,则请求将导致错误。

示例

请参阅 Constraint exerciser 示例。

规范

规范
媒体捕获和流
# dom-mediatrackconstraintset-echocancellation

浏览器兼容性

另见