WebRTC:获取mediaStream *的音频级别,而不播放音频

时间:2014-07-08 06:25:14

标签: javascript audio webrtc

我希望获得WebRTC MediaStream的麦克风活动级别。但是,我需要获取此信息,不用向用户播放麦克风(否则会出现环回效果)。

Microphone activity level of WebRTC MediaStream中的答案依赖于播放给用户的音频。如何在不播放麦克风的情况下执行此操作?

1 个答案:

答案 0 :(得分:4)

看看createGain method。它允许您设置流的音量。

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

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);
});