我希望获得WebRTC MediaStream的麦克风活动级别。但是,我需要获取此信息,不用向用户播放麦克风(否则会出现环回效果)。
Microphone activity level of WebRTC MediaStream中的答案依赖于播放给用户的音频。如何在不播放麦克风的情况下执行此操作?
答案 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);
});