Releases: joshwcomeau/use-sound
v5.0.0
Fix bug with sprites and playbackRate
When using sprites, the library would crash when either the volume or playbackRate changed. In development, it would also crash during hot reload.
I spent about half an hour digging into this, and wasn’t really able to find a proper fix. The band-aid I came up with is to ignore changes to playbackRate
when sprites are used. This means that if you have a dynamic playbackRate in your application, you can no longer use sprites, and will need a separate useSound
instance for each sound effect.
The problematic line in question is this: https://github.com/goldfire/howler.js/blob/master/src/howler.core.js#L1564. From what I can tell, sound._sprite
resolves to _default
instead of the actual names of our sprites, which causes an exception. If anyone feels like digging into this and comes up with a fix, please let me know by email at me@joshwcomeau.com.
v4.0
This breaking release removes the isPlaying
boolean; tracking that state was causing additional re-renders, which could pile up when using multiple instances of the hook.
If you were relying on this prop, you can implement it yourself using the onplay
and onend
events from Howler. An example is shown here: https://github.com/joshwcomeau/use-sound/blob/master/stories/demos/ShowWhilePlaying.js