Skip to main content

Music & Sound Effects

Live Demo​

🎮Audio System Demo
Loading demo...

Music​

Basic Playback​

import { Music } from '@gamebyte/framework';

// Play music
Music.play('assets/music.mp3', {
volume: 0.7,
loop: true
});

// Control playback
Music.pause();
Music.resume();
Music.stop();

Crossfade​

// Fade between tracks
await Music.crossFade('new-track.mp3', {
duration: 2000,
volume: 0.7
});

Multiple Tracks​

// Switch tracks with fade
await Music.play('menu-music.mp3');

// Later...
await Music.crossFade('game-music.mp3', {
duration: 1000
});

Sound Effects​

Basic Playback​

import { SFX } from '@gamebyte/framework';

// Play sound
SFX.play('click.mp3');

// With options
SFX.play('explosion.mp3', {
volume: 1.0,
pitch: 1.0
});

Variations​

// Random pitch variation
SFX.play('hit.mp3', {
pitch: 0.9 + Math.random() * 0.2 // 0.9-1.1
});

// Play random from array
SFX.playRandom(['step1.mp3', 'step2.mp3', 'step3.mp3']);

Preloading​

import { Assets } from '@gamebyte/framework';

// Preload for instant playback
await Assets.load([
{ key: 'bgm', url: 'music.mp3', type: 'audio' },
{ key: 'click', url: 'click.mp3', type: 'audio' }
]);

// Play preloaded
Music.play('bgm');
SFX.play('click');

Audio Pool​

// For frequently played sounds, use pooling
const explosionPool = SFX.createPool('explosion.mp3', 5);

// Plays from pool, reusing finished sounds
explosionPool.play();