如何使用 webrtc 录制高质量的立体声音频?

Posted

技术标签:

【中文标题】如何使用 webrtc 录制高质量的立体声音频?【英文标题】:How to use webrtc to record high quality stereo audio? 【发布时间】:2016-03-09 17:35:42 【问题描述】:

有没有办法使用 javascript 设置线路质量?

我没有使用麦克风,而是使用连接到线路输入的外部 mp3 播放器。录制的音频听起来是压缩的并且是单声道的。

这个效果是用最流行的库/示例页面测试的(在不同的计算机上使用 firefox 和 chrome),看起来 audioin 首先被压缩并合并到一个轨道中,然后解压缩并拆分为多个通道用于createScriptProcessor 回调。

较新且仍处于试验阶段的 MediaRecorder api(例如用于 webrtc.github.io 示例)具有相同的质量问题。

【问题讨论】:

【参考方案1】:

听起来需要更改您的 getUserMedia() 约束。它默认为带有回声和噪声消除处理的语音设置,但您可以使用以下设置覆盖它们:

navigator.mediaDevices.getUserMedia(
  audio: 
    autoGainControl: false,
    channelCount: 2,
    echoCancellation: false,
    latency: 0,
    noiseSuppression: false,
    sampleRate: 48000,
    sampleSize: 16,
    volume: 1.0
  
);

【讨论】:

以上是关于如何使用 webrtc 录制高质量的立体声音频?的主要内容,如果未能解决你的问题,请参考以下文章

如何用声卡采集声音信号 然后用到MATLAB里面

谈谈MediaStream

在 iOS 的 webrtc 上启用立体声

如何强制录制webrtc音频的时间限制

使用 WebRTC 录制短音频文件

如何在服务器端录制 WebRTC 视频/音频会话?