Atom Engine

Audio

Purpose

The Audio class is a high-level wrapper around a lower-level audio system. It manages an internal audio state and provides a simplified interface for loading and controlling sound effects and music playback. It abstracts gesture-unlocking requirements and state management, making audio operations easier to use in application code.


Lifecycle

Creation → Update → Destruction


Public API


Internal Behavior


Example

const audio = new Audio();

// Load assets
await audio.load("bgm", "/audio/bgm.mp3");
await audio.load("click", "/audio/click.wav");

// Play sound effect
audio.play("click");

// Start background music
audio.playMusic("bgm", 0.5);

// Adjust volume
audio.setMusicVolume(0.8);

// Stop music
audio.stopMusic();

// Handle autoplay restrictions
await audio.playMusicAfterGesture("bgm", 0.5);

console.log(audio.unlocked);