From 871dd7c6327709354742fbb8bbfe728e27fa769d Mon Sep 17 00:00:00 2001 From: Duc Nghiem-Xuan Date: Thu, 26 Jun 2025 15:44:49 +0900 Subject: [PATCH] Fix race condition when calling play() just right after pause() on iOS --- src/howler.core.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/howler.core.js b/src/howler.core.js index 5198bdfc..5b4131e1 100644 --- a/src/howler.core.js +++ b/src/howler.core.js @@ -977,7 +977,8 @@ // Play immediately if ready, or wait for the 'canplaythrough'e vent. var loadedNoReadyState = (window && window.ejecta) || (!node.readyState && Howler._navigator.isCocoonJS); if (node.readyState >= 3 || loadedNoReadyState) { - playHtml5(); + // when play() is called just after pause(), there is a race causing audio node to pause immediately after play on iOS + setTimeout(playHtml5, 0); } else { self._playLock = true; self._state = 'loading';