在JavaScript中更改振荡器的音量?

在JavaScript中更改振荡器的音量?,javascript,audio,javascript-oscillator,Javascript,Audio,Javascript Oscillator,我已经创建了一个振荡器(如下所示),如MDN所说: //来自:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API var audioCtx=new(window.AudioContext | | window.webkitadiocontext)(); var振荡器=audioCtx.create振荡器(); var gainNode=audioCtx.createGain();

我已经创建了一个振荡器(如下所示),如MDN所说:

//来自:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API
var audioCtx=new(window.AudioContext | | window.webkitadiocontext)();
var振荡器=audioCtx.create振荡器();
var gainNode=audioCtx.createGain();
振荡器。连接(增益节点);
gainNode.connect(audioCtx.destination);
振荡器类型='sine';//正弦波-其他值为“正方形”、“锯齿形”、“三角形”和“自定义”
振荡器.frequency.value=2500;//赫兹值

start()您需要查看修改audioContext和gainNode以更改音量。以下链接可能会有所帮助:


您可以通过控制输出频率的滑块获得变频控制:

document.getElementById('slider99').addEventListener('input', slider99change, false);
function slider99change(e) {
    var x = document.getElementById("slider99");
    var s = x.value.toString();
    oz.frequency.value = s;
}
您的振荡器在其他地方进行了全局定义:

var ozcontext = new (window.AudioContext || window.webkitAudioContext)();
var oz = ozcontext.createOscillator();
var gainNode = ozcontext.createGain();
oz.connect(gainNode);
gainNode.connect(ozcontext.destination);
gainNode.gain.value = 0;
oz.type = 'sine';
oz.frequency.value = 440;
oz.start();

从该页面上示例应用程序的源代码中查看。您只需执行如下操作:
gainNode.gain.value=[volume]
@HunanRostomyan,谢谢!这正是我需要的。太好了。NP可能还想看看这篇参考文章(它有很好的图片!):。