Spaces:
Running
Running
| /** | |
| * Lecture des sons d'unités (mouvement, mort, tir) avec max 3 pistes simultanées. | |
| * Si la limite est atteinte, le son est ignoré (pas de file d'attente). | |
| */ | |
| export const MAX_CONCURRENT_UNIT_SOUNDS = 5; | |
| let activeCount = 0; | |
| export function playUnitSound(baseUrl: string, unit: string, kind: 'move_ack' | 'death' | 'fire'): void { | |
| if (typeof window === 'undefined') return; | |
| if (activeCount >= MAX_CONCURRENT_UNIT_SOUNDS) return; | |
| const url = `${baseUrl}/sounds/units/${unit}/${kind}.mp3`; | |
| activeCount += 1; | |
| const audio = new Audio(url); | |
| audio.onended = () => { activeCount -= 1; }; | |
| audio.onerror = () => { activeCount -= 1; }; | |
| audio.play(); | |
| } | |