Changelog
2.2.2 (June 27, 2021)
The README has been updated with more examples and various clarifications. PRs/issues with suggestions for further improvements are appreciated.
CHANGED
Include keydown
event when unlocking audio (#1417).CHANGED
The audio state is changed to loading
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 calling seek()
on audio that hasn't loaded (#1423).FIXED
Before a sound had loaded, calling pause()
after seek()
didn't have the intended behavior (#1439).Changelog
2.2.1 (Oct 25, 2020)
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
Calling seek
without a seek value while a file was still loading no longer adds it to the queue and correctly returns 0
(#1189).FIXED
Correctly handle finite audio files that return Infinity
duration in Safari (#658).Changelog
2.2.0 (May 17, 2020)
ADDED
New xhr
property that allows setting custom headers (such as for auth), changing the withCredentials
setting and specifying the HTTP method for the request. These only apply to Web Audio (#997).ADDED
New Howler.stop()
global stop method to stop all sounds at once (#1308).ADDED
Support for m4b
audio format (#1170).CHANGED
Allow passing metadata
string to preload
option to only preload the metadata (#1140).FIXED
Correctly handle AudioContext interrupted state causing stuck suspending
state (#1106).FIXED
The volume
method would sometimes return incorrect values when using very short fade
lengths (#1045).FIXED
Error that HowlerGlobal
was not defined when using jsdom-global
(#1331).FIXED
Memory leak in Safari when an audio context can't be unlocked (#1338).xhrWithCredentials
property is now included in the xhr
property object with key withCredentials
.Changelog
2.1.3 (December 24, 2019)
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 before unlockAudio
(#1210).Changelog
2.1.0 (December 12, 2018)
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 global html5PoolSize
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 to autoUnlock
.FIXED
Playing a sound with locked audio in Chrome or elsewhere could cause playing()
to return true
(#939).FIXED
Correctly use setPosition
instead of setOrientation
in Safari (#1033).FIXED
Prevent error on seek
or duration
being negative (#1034).FIXED
Force fade
values to be numbers to prevent errors (#1027).FIXED
An InvalidStateError
could sometimes be thrown in Internet Explorer (#1052).FIXED
Prevent silent failure of AudioContext
creation in Safari (#1021).FIXED
Changing rate
and seek
on a paused sound could cause seek
to end up at the wrong position (#1088).FIXED
Calling play
twice before a sound had loaded could lead to both sounds having the same ID
(#1060).Howler.mobileAutoEnable
(it defaults to true), then you should change this to Howler.autoUnlock
.html5PoolSize
to 0 to bypass using the pool.