WebRTC:获得mediaStream的音频级别,而不需要播放音频



我希望得到一个WebRTC MediaStream的麦克风活动水平。然而,我需要得到这个信息没有播放麦克风给用户(否则会有环回效果)。

WebRTC MediaStream的麦克风活动级别的答案依赖于正在播放给用户的音频。我怎么能做到这一点,而不回放麦克风?

看看createGain方法。它允许你设置流的音量。

这是我在我的项目中使用的(简化)示例:

navigator.getUserMedia({audio: true, video: true}, function(stream) {
    var audioContext = new AudioContext; //or webkitAudioContext
    var source = audioContext.createMediaStreamSource(stream);
    var volume = audioContext.createGain();
    source.connect(volume);
    volume.connect(audioContext.destination);
    volume.gain.value = 0;  //turn off the speakers
    //further manipulations with source
}, function(err) {
    console.log('error', err);
});

最新更新