Hi!
First of all, thanks for this repo.
Testing it I noticed the A/B switching doesn't work very fine in Safari, while it does in Gecko and Chromium browsers.
Reason seems to be how audio elements are buffered. While preload = 'auto' is allowed and encouraged by browsers based in Gecko and Chromium browsers, Safari behaviour by default is something similar to preload = 'metadata'. Also, there is no way to force this browser to follow a preload = 'auto' behaviour.
Using Web Audio API instead solves this problem (I already tested by myself). So any user in any browser can use the switch between versions feature instantaneously.
In case you need your application to switch versions really fast, this is a good way to go and still preserving the philosophy of the player using zero dependecies.
Kind regards,
Hi!
First of all, thanks for this repo.
Testing it I noticed the A/B switching doesn't work very fine in Safari, while it does in Gecko and Chromium browsers.
Reason seems to be how audio elements are buffered. While
preload = 'auto'is allowed and encouraged by browsers based in Gecko and Chromium browsers, Safari behaviour by default is something similar topreload = 'metadata'. Also, there is no way to force this browser to follow apreload = 'auto'behaviour.Using Web Audio API instead solves this problem (I already tested by myself). So any user in any browser can use the switch between versions feature instantaneously.
In case you need your application to switch versions really fast, this is a good way to go and still preserving the philosophy of the player using zero dependecies.
Kind regards,