Web Audio API module for playing audio samples in web pages.
import {Audio} from "./Audio.js"
Audio.createContext({debug: false})Audio.createContext(props)— initialize the audio context (must be called first)Audio.context()— returns theAudioContextinstanceAudio.destination()— returns the main gain nodeAudio.setGain(gain)— set the main volume (0–1)Audio.isEnabled()— returnstrueif the audio context is runningAudio.addStateListener(listener)— listen for audio context state changesAudio.resumeAudioContext()— manually resume audio context after user interaction
The audio context is automatically resumed on user interaction (click, touch, keydown, etc.).
Loads and plays an audio file via Web Audio API.
import {Sample} from "./Sample.js"
const sound = new Sample("sound.mp3", {gain: 0.8})
sound.play()| Prop | Default | Description |
|---|---|---|
gain |
1 |
Volume level (0–1) |
loop |
false |
Loop the sample continuously |
startWithoutAudioContext |
true |
Play even if audio context is not yet enabled |
play(when, offset, duration)— play the sample (all parameters optional)stop(when)— stop the currently playing samplesetGain(gain)— set the sample's individual gain
Plays named slices from a single audio file. Extends Sample.
import {AudioSprite} from "./AudioSprite.js"
const sprite = new AudioSprite("sprites.mp3", {
slices: {
"click": {offset: 0, duration: 0.2},
"beep": {offset: 0.3, duration: 0.5}
}
})
sprite.playSlice("click")