diff --git a/src/lib/sounds.ts b/src/lib/sounds.ts index 5e0d648..85192c7 100644 --- a/src/lib/sounds.ts +++ b/src/lib/sounds.ts @@ -1,8 +1,15 @@ import { Move } from "chess.js"; import { getWhoIsCheckmated, isCheck } from "./chess"; +let audio: HTMLAudioElement | null = null; + const playSound = async (url: string) => { - const audio = new Audio(url); + if (!audio) audio = new Audio(); + + const isPlaying = !audio.paused && !audio.ended; + if (isPlaying) return; + + audio.src = url; await audio.play(); };