Давно чистый JS не писал, могу ошибаться, но в целом вот:
const audio = document.createElement("audio");
const source = document.createElement("source");
audio.appendChild(source);
audio.setAttribute('autoplay', 'autoplay');
source.setAttribute('src', 'https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3');
document.body.appendChild(audio)
window.addEventListener("load",function(){
localStorage.setItem("audioCurrentTime", audio.currentTime);
audio.currentTime = localStorage.getItem("audioCurrentTime");
});
Генерируем на странице всегда audio > source, подставляем нужные аттрибуты, так же храним время и перезаписываем/записываем его в локалстор перед и после перезагрузки. Таким образом можно скрипт подключить ко всем страницам и задать ему нужный трек, ну или тянуть его откуда-то.
Нет возможности нормально проверить код, а с новыми спецификациями браузеры просто запрещают
autoplay.
По
обходам можете предлагать ниже, тут я бессилен)
Обход спецификации для тестирования:
You can disable the autoplay policy entirely by using a command line flag: chrome.exe --autoplay-policy=no-user-gesture-required. This allows you to test your website as if user were strongly engaged with your site and playback autoplay would be always allowed.
Почему музыка не играет сама:
Autoplay policy in Chrome