Skip to content

21.12.0

No due date 66% complete

Features

Gapless Playback

Currently to build queue or playlist-style functionality you must manage the queue externally and manually trigger a call to .play() the next track when the current one has ended. This also requires manually calling .preload for each track in the queue and doesn't quite achieve gapless playback.

This update will add an internal t…

Features

Gapless Playback

Currently to build queue or playlist-style functionality you must manage the queue externally and manually trigger a call to .play() the next track when the current one has ended. This also requires manually calling .preload for each track in the queue and doesn't quite achieve gapless playback.

This update will add an internal track queue to the Player. Each queued track will be automatically preloaded and playback of subsequent tracks will start automatically. There will be a basic API for managing this queue exposed as part of the library.

With the player having an internal concept of a "next" track, it will then be possible to use a single audio output buffer and just immediately start writing bytes from the next track into it when the current one has no more bytes available, providing gapless playback.

Changes

fileSize no longer required

This can be automatically determined during the preload process by inspecting the HTTP headers present at the provided track's URL. Having to manually manage this value outside of the player can be cumbersome.

Fixes

  • Fixed an issue causing aberrant volume behavior when using the AudioContext backend
Loading