EZ Web Audio / createSampler
Function: createSampler()
Call Signature
createSampler(
inputs,opts?):Promise<Sampler>
Defined in: packages/core/src/index.ts:706
Create a Sampler for round-robin playback of multiple sounds.
Sampler holds multiple Sound instances and cycles through them on each play, providing natural variation and preventing the "machine gun" effect of identical sounds played rapidly.
Parameters
inputs
Array of audio file URLs, ArrayBuffers, Blobs, or Files to load as sound sources
opts?
Optional Sampler configuration
Returns
Promise<Sampler>
Promise resolving to a Sampler instance
Throws
If any audio file cannot be loaded or decoded
Example
import { createSampler } from 'ez-web-audio'
// From URLs
const gunshot = await createSampler([
'shot1.mp3', 'shot2.mp3', 'shot3.mp3'
])
// From mixed inputs (URLs, ArrayBuffers, Files)
const snare = await createSampler([snareUrl, snareBuffer, snareFile])
// Each play uses the next sound in rotation
gunshot.play() // shot1
gunshot.play() // shot2
gunshot.play() // shot3
gunshot.play() // shot1 (wraps around)Call Signature
createSampler(
audioContext,inputs,opts?):Promise<Sampler>
Defined in: packages/core/src/index.ts:707
Create a Sampler for round-robin playback of multiple sounds.
Sampler holds multiple Sound instances and cycles through them on each play, providing natural variation and preventing the "machine gun" effect of identical sounds played rapidly.
Parameters
audioContext
BaseAudioContext
inputs
Array of audio file URLs, ArrayBuffers, Blobs, or Files to load as sound sources
opts?
Optional Sampler configuration
Returns
Promise<Sampler>
Promise resolving to a Sampler instance
Throws
If any audio file cannot be loaded or decoded
Example
import { createSampler } from 'ez-web-audio'
// From URLs
const gunshot = await createSampler([
'shot1.mp3', 'shot2.mp3', 'shot3.mp3'
])
// From mixed inputs (URLs, ArrayBuffers, Files)
const snare = await createSampler([snareUrl, snareBuffer, snareFile])
// Each play uses the next sound in rotation
gunshot.play() // shot1
gunshot.play() // shot2
gunshot.play() // shot3
gunshot.play() // shot1 (wraps around)