| name | sound-effect-manager |
| description | Gère effets sonores et audio pour feedback utilisateur (sons correct/wrong, musiques, volume). Utiliser lors d'ajout de nouveaux sons ou gestion audio |
Sound Effect Manager
Gère effets sonores et feedback audio pour meilleure expérience utilisateur.
Quand utiliser
- Ajout de nouveaux effets sonores
- Gestion du volume et mute
- Musique de fond pour jeux
- Feedback audio utilisateur
- Optimisation chargement audio
AudioManager (js/core/audio.js)
API :
playSound(soundName, options)- Jouer sonsetVolume(volume)- Volume global (0.0-1.0)toggleMute()/isMuted()- Mute control
Sons disponibles (examine audio.js) : correct, wrong, victory, click, coin, levelup
Ajouter un nouveau son
- Compresser : < 50 KB (96 kbps pour effets, 128 kbps musique)
- Formats : MP3, OGG, WebM (fallback)
- Placer : assets/sounds/
- Enregistrer : SOUND_CATALOG dans audio.js
- Utiliser :
import { playSound } from './core/audio.js'; playSound('yourSound');
Patterns essentiels
- Préchargement : Sons critiques avant utilisation
- Pool audio : Instances multiples pour chevauchement
- Musique fond : Volume 0.3, loop activé, cleanup dans destroy
- Mobile : Autoplay nécessite interaction utilisateur
- Accessibilité : Respecter prefers-reduced-motion
Gestion du lifecycle
Mode avec musique :
// Lancer musique
playSound('background-music', { loop: true, volume: 0.3 });
// cleanup() → stopper musique
Examine QuizMode/ChallengeMode pour patterns existants.
Checklist ajout son
- Fichier compressé < 50 KB
- Formats multiples (MP3, OGG, WebM)
- Ajouté au SOUND_CATALOG
- Volume testé
- Mute fonctionne
- Cleanup musique si loop
- Mobile autoplay OK
En cas de doute
Règles absolues :
- Utiliser audio.js API (jamais créer Audio directement)
- < 50 KB par fichier
- Stopper musique dans cleanup()
- Pas d'autoplay sans interaction utilisateur
- Volume par défaut ≤ 0.7
Référence :
js/core/audio.js- API complèteassets/sounds/- Catalogues existants- Modes (QuizMode, ChallengeMode) - Exemples d'utilisation