WebRTC 多路音频混音:从接收流到求和与限幅
两个人同时说话,扬声器最终只能收到一路播放数据。最直观的做法是把两个波形逐样本相加;问题是相加后的峰值可能超过 16 位 PCM 的表示范围。直接截断会失真,简单地除以人数又可能让只说话的那个人变小声。 WebRTC 的默认选择是:接收端逐路取出 10 ms 音频,统一格式后用浮点数求和,再用 Limiter 控制合成音频的峰值。 本文以本地源码提交 c8bca1867e(2026-10-22)为基线,先看播放链路,再比较三种混音方法。 ...
两个人同时说话,扬声器最终只能收到一路播放数据。最直观的做法是把两个波形逐样本相加;问题是相加后的峰值可能超过 16 位 PCM 的表示范围。直接截断会失真,简单地除以人数又可能让只说话的那个人变小声。 WebRTC 的默认选择是:接收端逐路取出 10 ms 音频,统一格式后用浮点数求和,再用 Limiter 控制合成音频的峰值。 本文以本地源码提交 c8bca1867e(2026-10-22)为基线,先看播放链路,再比较三种混音方法。 ...