Я думаю, что понимаю основную концепцию API веб-аудио, а также то, как звуки работают в целом. И хотя мне удалось сделать звук «затухание звука», я не могу понять, почему это не «выцветание» в следующем фрагменте кода я написал, чтобы представить эту проблему:Звук исчезает, но не исчезает - почему?
(function()
{
'use strict';
var context = new AudioContext(),
wave = context.createOscillator(),
gain = context.createGain(),
ZERO = 0.000001;
wave.connect(gain);
gain.connect(context.destination);
wave.type = 'sine';
wave.frequency.value = 200;
gain.gain.value = ZERO;
wave.start(context.currentTime);
gain.gain.exponentialRampToValueAtTime(1.00, 1.0);
gain.gain.exponentialRampToValueAtTime(ZERO, 3.0);
})();
Примечание: Та же проблема появилась на Firefox (Linux) и Chrome (Windows) тоже
Я также наблюдал ту же проблему (я думаю) с 'linearRampToValueAtTime', так что это, по крайней мере, не проблема с экспоненциальной спецификой. Кроме того, поскольку у вас, кажется, есть полный runnable пример здесь (спасибо!), Не могли бы вы отремонтировать его в Stack Snippet, чтобы мы могли запускать и редактировать его прямо на странице? – apsillers
@ capsillers yepp, я также тестировал это с помощью «линейной» версии, и, как вы сказали => тот же результат. Надеюсь, я правильно применил приведенный выше код к Stack Snippet (я никогда не использовал это до сих пор, спасибо за головы;)) –