Я создал генератор (как показано ниже), как MDN сказал:Изменение объема осциллятора в JavaScript?
// from : https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var oscillator = audioCtx.createOscillator();
var gainNode = audioCtx.createGain();
oscillator.connect(gainNode);
gainNode.connect(audioCtx.destination);
oscillator.type = 'sine'; // sine wave — other values are 'square', 'sawtooth', 'triangle' and 'custom'
oscillator.frequency.value = 2500; // value in hertz
oscillator.start();
Есть ли способ, чтобы изменить громкость, как я изменил значение частоты?
Взгляните на [эту строку] (https://github.com/mdn/violent-theremin/blob/gh-pages/scripts/app.js#L35) из источника примера приложения на этой странице. Вы бы просто сделали что-то вроде: 'gainNode.gain.value = [volume]'. –
@HunanRostomyan, Спасибо! Это было именно то, что мне нужно. – Stardust
Отлично. Np. Возможно также захочет проверить эту ссылочную статью (у нее красивые фотографии!): [MDN: GainNode] (https://developer.mozilla.org/en-US/docs/Web/API/GainNode). –