From c1d6eab38e20d77f69d64c214cb742d40a149ff0 Mon Sep 17 00:00:00 2001 From: Justin Oros Date: Wed, 20 May 2026 20:32:14 -0700 Subject: [PATCH] Resume AudioContext on visibilitychange to fix SFX loss after backgrounding app --- game.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/game.js b/game.js index 81191c8..f88eeed 100644 --- a/game.js +++ b/game.js @@ -126,6 +126,11 @@ const SFX = (() => { } document.addEventListener('touchstart', unlock, { once: true, passive: true }); document.addEventListener('pointerdown', unlock, { once: true, passive: true }); + document.addEventListener('visibilitychange', () => { + if (document.visibilityState === 'visible' && ctx && ctx.state === 'suspended') { + ctx.resume(); + } + }); /* Core: play a tone with envelope */ function tone(freq, type, vol, attack, sustain, release, when) {