2.2 KiB
2.2 KiB
name, description, allowed-tools
| name | description | allowed-tools |
|---|---|---|
| managing-sound-effects | Manages sound effects and audio for user feedback (correct/wrong sounds, music, volume). Use when adding new sounds or managing audio | Read, Write, Grep, Glob, Bash |
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