You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow for gapless playback on the web-based player.
#333 switched from SoundManager2 to native web audio. We use a single audio element and switch the src on it for each track. We should investigate ways to preload audio and/or use multiple audio nodes.
Investigating this with ChatGPT, looks like we need to use an audio node for each track, scrub, and play/pause. Also the two different APIs each have their limitations. We could look at https://www.npmjs.com/package/@regosen/gapless-5/v/0.9.3 or something similar, but probably tricky to implement.
Another idea is to combine all tracks for a show into a single audio file, attach that to the show, and add "starts_at_millisecond" on tracks so the player can keep the state matched with the audio. We could continue to fallback to individual mp3s for download and playing in playlists.
The text was updated successfully, but these errors were encountered:
Allow for gapless playback on the web-based player.
#333 switched from SoundManager2 to native web audio. We use a single
audio
element and switch thesrc
on it for each track. We should investigate ways to preload audio and/or use multipleaudio
nodes.Investigating this with ChatGPT, looks like we need to use an audio node for each track, scrub, and play/pause. Also the two different APIs each have their limitations. We could look at https://www.npmjs.com/package/@regosen/gapless-5/v/0.9.3 or something similar, but probably tricky to implement.
Another idea is to combine all tracks for a show into a single audio file, attach that to the show, and add "starts_at_millisecond" on tracks so the player can keep the state matched with the audio. We could continue to fallback to individual mp3s for download and playing in playlists.
The text was updated successfully, but these errors were encountered: