WebRTC:获取 mediaStream 的音频电平 * 无需 * 播放音频

aps*_*nce 3 javascript audio webrtc

我希望获得 WebRTC MediaStream 的麦克风活动级别。但是,我需要在向用户播放麦克风的情况下获取此信息(否则会有回送效果)。

WebRTC MediaStream 的麦克风活动级别中的答案依赖于向用户播放的音频。如何在不播放麦克风的情况下执行此操作?

Ole*_*leg 6

看看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);
});
Run Code Online (Sandbox Code Playgroud)