Files
gh-jls42-leapmultix-leapmul…/skills/sound-effect-manager/SKILL.md
2025-11-30 08:27:31 +08:00

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 son
  • setVolume(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

  1. Compresser : < 50 KB (96 kbps pour effets, 128 kbps musique)
  2. Formats : MP3, OGG, WebM (fallback)
  3. Placer : assets/sounds/
  4. Enregistrer : SOUND_CATALOG dans audio.js
  5. 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 :

  1. Utiliser audio.js API (jamais créer Audio directement)
  2. < 50 KB par fichier
  3. Stopper musique dans cleanup()
  4. Pas d'autoplay sans interaction utilisateur
  5. Volume par défaut ≤ 0.7

Référence :

  • js/core/audio.js - API complète
  • assets/sounds/ - Catalogues existants
  • Modes (QuizMode, ChallengeMode) - Exemples d'utilisation