Skip to main content

loadSounds

loadSounds(soundsToLoad: { id: string; url: string }[], signal?: AbortSignal): Promise<void>;

Load multiple sounds from an array of sound configurations. This is more efficient than calling loadSound multiple times as it batches the loading process.

An optional AbortSignal can be passed to cancel all in-flight loads — useful when a component unmounts before pending loads complete. This prevents uncaught promise rejections; an AbortError propagates as-is without triggering error logging or ERROR events.

ParameterTypeDescription
soundsToLoad{ id: string; url: string }[]Array of sound configurations
signalAbortSignal (optional)Signal from an AbortController to cancel all in-flight loads

Example

// @ts-ignore
import tokyoTrain from "../../assets/sounds/tokyo-train-melody.mp3";
import bellsMelody from "../../assets/sounds/bells-melody.mp3";
import technoTune from "../../assets/sounds/techno-tune.mp3";

import { SoundManager } from 'sound-manager-ts';

const soundManager = new SoundManager();

// Load multiple sounds at once
await soundManager.loadSounds([
{ id: 'tokyo-train', url: tokyoTrain },
{ id: 'bells-melody', url: bellsMelody },
{ id: 'techno-tune', url: technoTune }
]);

// All sounds are ready to play
soundManager.play('tokyo-train', { loop: true });
soundManager.play('bells-melody', { loop: true });

AbortSignal Example

import { SoundManager } from 'sound-manager-ts';

const soundManager = new SoundManager();

const controller = new AbortController();

soundManager.loadSounds([
{ id: 'bg', url: '/audio/bg.mp3' },
{ id: 'fx', url: '/audio/fx.mp3' }
], controller.signal).catch(err => {
if (err.name !== 'AbortError') throw err;
// AbortError is silently handled — no error logging, no ERROR event
});

// Cancel on cleanup (e.g. when component unmounts):
controller.abort();

Load Sounds

Sound Library
HelicopterhelicopterNot loaded
Tokyo Traintokyo-trainNot loaded
Bells Melodybells-melodyNot loaded
Techno Tunetechno-tuneNot loaded
Tip: Use loadSound(id, url) to load a single sound or loadSounds([]) to batch-load multiple sounds. Loaded sounds can be played immediately. Use unloadSound(id) to free memory.