我们会继续在上一个实验和 Chrome 中开展实验
M68 中,我们添加了实验性 MediaStreamTrack
约束条件来控制
使用的是哪种回声消除器,添加了对原生回声消除器的支持
同时优化了 Google Chrome 中原生回声消除器的功能,
macOS。与之前一样,所有这些都需要源试用,因此您必须进行注册,或者
使用命令行标记启动 Chrome(如果您想试用的话)。有关
详情,请参阅下文。
最新资讯
首先,现在可以控制
可在 getUserMedia
调用中添加新约束条件来使用,例如:
echoCancellationType: type
其中,type
可以是以下项之一:
browser
,以使用浏览器提供的软件实现;或system
,以使用底层代码提供的实现 系统。目前,这是 macOS 和 Windows 上的实现之一。
如果您保留此限制,Chrome 会选择类似的回声消除器 始终拥有:如果存在硬件回声消除,则会使用该功能,否则 Chrome 的软件回声消除器可以。如果不指定限制条件,Chrome 会 永远不会从 两种实验性回声消除器中选择 。
由于 echoCancellationType
的工作原理与任何其他约束条件一样,因此可以
将 system
指定为理想值,并让 Chrome 使用该值(如果有);或
否则会回退到 browser
。browser
echoCancelType 现为
。要确定选择的是哪种回声消除器
可以对 getUserMedia 音轨调用 getSettings()
,并检查
echoCancellationType
字段中的值。
最后,您可以查看哪些回声消除器可用于
MediaStreamTrack
(通过对其调用 getCapabilities()
)。不过,
尚未针对 InputDeviceInfo
实现 echoCancellationType
。
Windows echo 取消支持
我们扩展了原生回声消除器支持,以纳入使用 语音捕获 DSP 组件。与 macOS 回声消除器一样,我们希望评估 效果,看看是否存在 软件解决方案,前提是要放在更靠近音频硬件的位置。 与 macOS 的情况相反,我们对 Windows 系统进行的初始测试并不是 承诺。我们将继续调整实现,看看能否实现 以便取得更好的效果。目前,最好不要使用 任何较大规模的 Windows 回声消除器。不妨在受控设置中试一试 例如在本地机器上运行,但不要指望它能正常运行!
改进了 macOS 回声消除支持
在上一次实验中,macOS 实现无法 正确跟踪所使用的输出设备。也就是说 无法取消任何非计算机默认设备的回声 设备。在许多情况下,这可能不是问题,因为 macOS 可以 在插入耳机等服务时,自动切换默认设备 未接通电源。不过,它并非在所有情况下都能正常使用。
此功能已添加到 Chrome M68 中,并且已针对 macOS 和 Windows 回声消除器。尚未安装 Chrome 的软件回声消除器 因为其使用内部环回 播放音频。
如何启用实验
要在您的网站上采用这种新行为,您需要注册“实验性支持” 原生 AEC 广告”源试用。如果您只是想在本地试用一下 可以在命令行中启用实验:
chrome --enable-blink-features=ExperimentalHardwareEchoCancellation
在命令行中传递此标志会创建新的 echoCancellationType
Chrome 中针对当前会话全局可用的限制条件。使用此
约束条件,您便可以在应用中测试原生回声消除器,如
。这与上一次试用中的命令行标志相同;已开启
如果使用的是 Chrome M68,则会启用这项新功能。启用新的源试用
只会启用新功能,而不会触发之前的
在旧版 Chrome 中试用。
提交反馈
与上个实验一样,我们比较的是
macOS 和 Windows 回声消除器;主要针对前者。我们还
例如反馈新的 echoCancellationType
约束条件在
简单易用,等等。
getSettings
和getCapabilities
。
我们还想了解 Chrome 在使用 这些原生回声消除器,以及任何稳定性问题或其他问题, 。
如果您正在尝试此操作,请在此错误中提交反馈。 如果可能,请说明所使用的硬件(操作系统版本、硬件型号、 麦克风 / 耳机 / 等)。如果要进行更多大规模实验,请链接到 最好提供有关语音通话质量的比较统计信息;是否为目标 还是主观因素。