summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/utils')
-rw-r--r--packages/app/src/utils/sound.ts9
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
+ }
}