Я не могу получить скользящую смену объема через exponentialRampToValueAtTime из GainNode.Как работает функция audioParam.exponentialRampToValueAtTime?
Здесь не приводится пример:
var context = new AudioContext(),
osc = context.createOscillator(),
gain = context.createGain();
osc.frequency.value = 440; // A note
osc.start(0);
osc.connect(gain);
gain.gain.value = 0;
gain.connect(context.destination);
gain.gain.cancelScheduledValues(0);
gain.gain.setValueAtTime(0, context.currentTime);
gain.gain.exponentialRampToValueAtTime(1, context.currentTime + 2);
В моем понимании это должно постепенно увеличивать громкость, пока не достигнет 1 (100%) и весь этот процесс должен 2с. Правильно ли это предположение?
Если это так, то почему он остается на 0 в течение 2 секунд и внезапно переключается на полный объем?
Заранее благодарим за ваше время и усилие.
Вы попробовали 'linearRampToValueAtTime'? –
У меня есть, и он работает, но я читал, что линейка не звучит так же хорошо, как экспоненциальный рамп, поэтому я хотел попробовать это. Я пишу генератор конвертов, и я хочу проверить некоторые варианты. –
Я предполагаю, что так оно и должно работать. Ускорьте быстро. –