【发布时间】:2022-01-25 12:21:45
【问题描述】:
我正在读这个article
我的目标是同时播放两种声音。一种声音的音量不同。拥有常规的“音频”标签不是解决方案,因为它在移动设备上运行不佳。所以我开始深入研究 Web Audio API。
我编写了下面的代码,它适用于所有设备。唯一的问题 - 我不知道如何控制音量。示例中的代码不起作用(
请帮忙????
function init() {
// Fix up prefixing
window.AudioContext = window.AudioContext || window.webkitAudioContext;
context = new AudioContext();
bufferLoader = new BufferLoader(
context,
[
'mp3/speech.mp3',
'mp3/bg-melody.mp3',
],
finishedLoading
);
bufferLoader.load();
}
function finishedLoading(bufferList) {
document.querySelector('.message').innerHTML = "Ready to play"
// Create two sources and play them both together.
source1 = context.createBufferSource();
source2 = context.createBufferSource();
source1.buffer = bufferList[0];
source2.buffer = bufferList[1];
source1.connect(context.destination);
// This code is not working
var gainNode = context.createGain();
gainNode.gain.value = 0.1;
source2.connect(gainNode);
source2.connect(context.destination);
source2.loop = true;
}
更新:
此更改解决了问题
source2.connect(gainNode).connect(context.destination);
【问题讨论】:
标签: javascript web-audio-api audiocontext