From 67664d698407652ced1cb48548d623ed3fb771e0 Mon Sep 17 00:00:00 2001 From: Amateur Audio Dude <168192910+AmateurAudioDude@users.noreply.github.com> Date: Mon, 21 Apr 2025 21:23:03 +1000 Subject: [PATCH] fix android audio stutter running in background --- web/js/main.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/web/js/main.js b/web/js/main.js index db5b5ec..7612c10 100644 --- a/web/js/main.js +++ b/web/js/main.js @@ -461,6 +461,7 @@ function initCanvas() { delay: 150, onRefresh: (chart) => { if (!chart?.data?.datasets || parsedData?.sig === undefined) return; + if ((isAndroid || isIOS || isIPadOS) && (document.hidden || !document.hasFocus())) return; signalBuffer.push(parsedData.sig); if (signalBuffer.length > 8) { @@ -573,6 +574,21 @@ function initCanvas() { }); } +function setRefreshRate(rate) { + const rt = signalChart.options.scales.x.realtime; + rt.refresh = rate; + signalChart.update('none'); + console.log(`Graph refresh rate set to ${rate} ms`); +} + +window.addEventListener("focus", () => { + if (isAndroid || isIOS || isIPadOS) setRefreshRate(75); +}); + +window.addEventListener("blur", () => { + if (isAndroid || isIOS || isIPadOS) setRefreshRate(3000); +}); + let reconnectTimer = null; let dataTimeout = null; let dataTimeoutPrevious = null;