我正在使用WebRTC制作音频聊天网站。我有一个问题。
当接收到来自对等方的远程音频时。这不起作用(我听不到任何声音)
var audioContext = new AudioContext();
var audioStream = audioContext.createMediaStreamSource(e.stream);
audioStream.connect(audioContext.destination);
虽然这是可行的
var audio2 = document.querySelector('audio#audio2');
audio2.srcObject = e.stream;
我之所以需要这样做,是因为我需要能够控制音频(效果、音量),正如我所知,AudioContext提供了这个功能。但出于某种原因,它不起作用。有什么建议吗?
谢谢!
发布于 2017-01-21 20:40:33
将.createMediaStreamSource()
与.createGain()
结合使用
var ctx = new AudioContext();
var source = ctx.createMediaStreamSource(stream);
var gainNode = ctx.createGain();
gainNode.gain.value = .5;
source.connect(gainNode);
source.connect(ctx.destination);
jsfiddle https://jsfiddle.net/tkw13bfg/2
或者,创建一个AudioNode
,使用.createGain()
var ctx = new AudioContext();
var audio = new Audio();
audio.srcObject = stream;
var gainNode = ctx.createGain();
gainNode.gain.value = .5;
audio.onloadedmetadata = function() {
var source = ctx.createMediaStreamSource(audio.srcObject);
audio.play();
audio.muted = true;
source.connect(gainNode);
gainNode.connect(ctx.destination);
}
https://stackoverflow.com/questions/41784137
复制相似问题