Spaces:
Runtime error
Runtime error
| class VolumeEffect { | |
| constructor (audioContext, volume, startSeconds, endSeconds) { | |
| this.audioContext = audioContext; | |
| this.input = this.audioContext.createGain(); | |
| this.output = this.audioContext.createGain(); | |
| this.gain = this.audioContext.createGain(); | |
| // Smoothly ramp the gain up before the start time, and down after the end time. | |
| this.rampLength = 0.01; | |
| this.gain.gain.setValueAtTime(1.0, Math.max(0, startSeconds - this.rampLength)); | |
| this.gain.gain.exponentialRampToValueAtTime(volume, startSeconds); | |
| this.gain.gain.setValueAtTime(volume, endSeconds); | |
| this.gain.gain.exponentialRampToValueAtTime(1.0, endSeconds + this.rampLength); | |
| this.input.connect(this.gain); | |
| this.gain.connect(this.output); | |
| } | |
| } | |
| export default VolumeEffect; | |