Skip to content

Commit 48b606e

Browse files
committed
build
1 parent 470acfc commit 48b606e

5 files changed

Lines changed: 39 additions & 9 deletions

File tree

dist/howler.core.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/howler.js

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* howler.js v2.2.4
2+
* howler.js v2.2.5
33
* howlerjs.com
44
*
55
* (c) 2013-2020, James Simpson of GoldFire Studios
@@ -993,6 +993,12 @@
993993
};
994994
node.addEventListener(Howler._canPlayEvent, listener, false);
995995

996+
// (IOS 17.4 PATCH)
997+
// the node is not actually playing (has received suspend event and NETWORK_IDLE)
998+
if (node.networkState === 1 && node._wasSuspended) {
999+
node.play();
1000+
}
1001+
9961002
// Cancel the end timer.
9971003
self._clearTimer(sound._id);
9981004
}
@@ -1763,6 +1769,10 @@
17631769
// Remove any event listeners.
17641770
sounds[i]._node.removeEventListener('error', sounds[i]._errorFn, false);
17651771
sounds[i]._node.removeEventListener(Howler._canPlayEvent, sounds[i]._loadFn, false);
1772+
// IOS17.4 PATCH
1773+
sounds[i]._node.removeEventListener('loadedmetadata', sounds[i]._loadFn, false);
1774+
sounds[i]._node.removeEventListener('suspend', setAudioNodeWasSuspendedFromEvent, false);
1775+
17661776
sounds[i]._node.removeEventListener('ended', sounds[i]._endFn, false);
17671777

17681778
// Release the Audio object back to the pool.
@@ -2264,6 +2274,12 @@
22642274
self._loadFn = self._loadListener.bind(self);
22652275
self._node.addEventListener(Howler._canPlayEvent, self._loadFn, false);
22662276

2277+
// IOS17.4 PATCH
2278+
// cancplaythrough may not fire if the audio node is suspended
2279+
// ensure event queue is started here
2280+
// may have side effects beyond the _wasSuspended
2281+
self._node.addEventListener('loadedmetadata', self._loadFn, false);
2282+
22672283
// Listen for the 'ended' event on the sound to account for edge-case where
22682284
// a finite sound has a duration of Infinity.
22692285
self._endFn = self._endListener.bind(self);
@@ -2274,6 +2290,12 @@
22742290
self._node.preload = parent._preload === true ? 'auto' : parent._preload;
22752291
self._node.volume = volume * Howler.volume();
22762292

2293+
// IOS 17.4 PATCH
2294+
// record suspended event with dirty param for later mitigation
2295+
self._node._wasSuspended = false;
2296+
self._node.addEventListener('suspend', setAudioNodeWasSuspendedFromEvent, false);
2297+
2298+
22772299
// Begin loading the source.
22782300
self._node.load();
22792301
}
@@ -2340,8 +2362,10 @@
23402362
parent._loadQueue();
23412363
}
23422364

2343-
// Clear the event listener.
2365+
// Clear the event listener(s).
2366+
// IOS 17.4 PATCH
23442367
self._node.removeEventListener(Howler._canPlayEvent, self._loadFn, false);
2368+
self._node.removeEventListener('loadedmetadata', self._loadFn, false);
23452369
},
23462370

23472371
/**
@@ -2506,6 +2530,12 @@
25062530
}
25072531
};
25082532

2533+
2534+
// IOS17.4 PATCH
2535+
var setAudioNodeWasSuspendedFromEvent = function(event) {
2536+
event.target._wasSuspended = true;
2537+
}
2538+
25092539
/**
25102540
* Setup the audio context when available, or switch to HTML5 Audio mode.
25112541
*/
@@ -2590,7 +2620,7 @@
25902620
/*!
25912621
* Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
25922622
*
2593-
* howler.js v2.2.4
2623+
* howler.js v2.2.5
25942624
* howlerjs.com
25952625
*
25962626
* (c) 2013-2020, James Simpson of GoldFire Studios

dist/howler.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/howler.spatial.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/plugins/howler.spatial.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*!
22
* Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
33
*
4-
* howler.js v2.2.4
4+
* howler.js v2.2.5
55
* howlerjs.com
66
*
77
* (c) 2013-2020, James Simpson of GoldFire Studios

0 commit comments

Comments
 (0)