From 6f17c2faee1a5547d396cebf1d5dd697d4bca0a8 Mon Sep 17 00:00:00 2001 From: Keith Thomas <1901031+kryzodoze@users.noreply.github.com> Date: Tue, 16 May 2023 13:44:48 -0500 Subject: [PATCH] Fix for background ios issues - Verified working on IOS 14/15/16 - Issue was that after a certain amount of time after backgrounding the app and then coming back (~10-40 secs), audio would be forever muted --- dist/howler.js | 4 +--- src/howler.core.js | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/dist/howler.js b/dist/howler.js index a2758c70..cc2f5402 100644 --- a/dist/howler.js +++ b/dist/howler.js @@ -521,7 +521,7 @@ if (self.state === 'running' && self.ctx.state !== 'interrupted' && self._suspendTimer) { clearTimeout(self._suspendTimer); self._suspendTimer = null; - } else if (self.state === 'suspended' || self.state === 'running' && self.ctx.state === 'interrupted') { + } else if (self.state === 'suspended' || self.state === 'running' || self.state === 'suspending') { self.ctx.resume().then(function() { self.state = 'running'; @@ -535,8 +535,6 @@ clearTimeout(self._suspendTimer); self._suspendTimer = null; } - } else if (self.state === 'suspending') { - self._resumeAfterSuspend = true; } return self; diff --git a/src/howler.core.js b/src/howler.core.js index aa60cdbe..b81d28cf 100644 --- a/src/howler.core.js +++ b/src/howler.core.js @@ -521,7 +521,7 @@ if (self.state === 'running' && self.ctx.state !== 'interrupted' && self._suspendTimer) { clearTimeout(self._suspendTimer); self._suspendTimer = null; - } else if (self.state === 'suspended' || self.state === 'running' && self.ctx.state === 'interrupted') { + } else if (self.state === 'suspended' || self.state === 'running' || self.state === 'suspending') { self.ctx.resume().then(function() { self.state = 'running'; @@ -535,8 +535,6 @@ clearTimeout(self._suspendTimer); self._suspendTimer = null; } - } else if (self.state === 'suspending') { - self._resumeAfterSuspend = true; } return self;