2014-07-08 106 views
3

我期待獲得WebRTC MediaStream的麥克風活動級別。然而,我需要得到這個信息沒有播放麥克風給用戶(否則會有迴環效應)。WebRTC:獲取mediaStream *的音頻級別,不播放音頻

Microphone activity level of WebRTC MediaStream中的答案依賴於正在播放給用戶的音頻。我怎樣才能做到這一點,而不用回放麥克風?

+0

不,它不需要?我只是測試了代碼,而媒體流只是進入節點,並且從不播放到揚聲器。我相信你必須使用AudioAPI並將其連接到節點不播放音頻回來... –

回答

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