diff options
Diffstat (limited to 'packages/app/src/utils')
| -rw-r--r-- | packages/app/src/utils/sound.ts | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/packages/app/src/utils/sound.ts b/packages/app/src/utils/sound.ts index d5e606c67..6dea812ec 100644 --- a/packages/app/src/utils/sound.ts +++ b/packages/app/src/utils/sound.ts @@ -106,5 +106,12 @@ export function soundSrc(id: string | undefined) { export function playSound(src: string | undefined) { if (typeof Audio === "undefined") return if (!src) return - void new Audio(src).play().catch(() => undefined) + const audio = new Audio(src) + audio.play().catch(() => undefined) + + // Return a cleanup function to pause the sound. + return () => { + audio.pause() + audio.currentTime = 0 + } } |
