v2.2.2
The README has been updated with more examples and various clarifications. PRs/issues with suggestions for further improvements are appreciated.
CHANGED
Includekeydown
event when unlocking audio (#1417).CHANGED
The audio state is changed toloading
while the player is buffering (#1444).FIXED
Looping sounds wouldn't always work correctly in recent versions of Firefox desktop (#1445).FIXED
Disabled WebM in Safari 14 until bug in Safari is resolved (#1476).FIXED
Error when callingseek()
on audio that hasn't loaded (#1423).FIXED
Before a sound had loaded, callingpause()
afterseek()
didn't have the intended behavior (#1439).
v2.2.1
FIXED
The latest Safari 14 changed how WAV support was detected (#1415).FIXED
Edge case that could cause an infinite loop while fading (#1369).FIXED
Callingseek
without a seek value while a file was still loading no longer adds it to the queue and correctly returns0
(#1189).FIXED
Correctly handle finite audio files that returnInfinity
duration in Safari (#658).
v2.2.0
ADDED
Newxhr
property that allows setting custom headers (such as for auth), changing thewithCredentials
setting and specifying the HTTP method for the request. These only apply to Web Audio (#997).ADDED
NewHowler.stop()
global stop method to stop all sounds at once (#1308).ADDED
Support form4b
audio format (#1170).CHANGED
Allow passingmetadata
string topreload
option to only preload the metadata (#1140).FIXED
Correctly handle AudioContext interrupted state causing stucksuspending
state (#1106).FIXED
Thevolume
method would sometimes return incorrect values when using very shortfade
lengths (#1045).FIXED
Error thatHowlerGlobal
was not defined when usingjsdom-global
(#1331).FIXED
Memory leak in Safari when an audio context can't be unlocked (#1338).
Breaking Changes
- The
xhrWithCredentials
property is now included in thexhr
property object with keywithCredentials
.
v2.1.3
FIXED
Don't try to obtain HTML5 audio if there is no audio support (#1191).FIXED
The x/y/z orientations for the top of the listener weren't being set properly (#1221).FIXED
Race condition that could prevent looping audio from always looping (#1225).FIXED
Race condition that could cause the main volume to be reset to 1 if called beforeunlockAudio
(#1210).
v2.1.0
ADDED
Howler now maintains a general pool of HTML5 Audio nodes that are unlocked on first user input, which fixes issues with subsequent HTML5 Audio plays not working (#1008).ADDED
New globalhtml5PoolSize
option that allows setting the default size of the HTML5 Audio object pool (#1008).CHANGED
Since locking of audio is no longer mobile-only,mobileAutoEnable
has been renamed toautoUnlock
.FIXED
Playing a sound with locked audio in Chrome or elsewhere could causeplaying()
to returntrue
(#939).FIXED
Correctly usesetPosition
instead ofsetOrientation
in Safari (#1033).FIXED
Prevent error onseek
orduration
being negative (#1034).FIXED
Forcefade
values to be numbers to prevent errors (#1027).FIXED
AnInvalidStateError
could sometimes be thrown in Internet Explorer (#1052).FIXED
Prevent silent failure ofAudioContext
creation in Safari (#1021).FIXED
Changingrate
andseek
on a paused sound could causeseek
to end up at the wrong position (#1088).FIXED
Callingplay
twice before a sound had loaded could lead to both sounds having the sameID
(#1060).
Breaking Changes
- If you are directly setting
Howler.mobileAutoEnable
(it defaults to true), then you should change this toHowler.autoUnlock
. - The new HTML5 Audio object pool shouldn't change anything for 99% of use-cases, but if for whatever reason you don't want to use the pool, you can set
html5PoolSize
to 0 to bypass using the pool.