вам просто нужно проверить, что текущий файл поставлен на паузу, а затем, при загрузке нового файла, воспроизвести его, если старый файл не поставлен на паузу:
вот один наспех созданный пример:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0,
minimum-scale=1.0"
/>
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<div id="song">
<audio id ='old-sound' controls>
<source src="1.mp3" type="audio/mpeg" />
<a href="1.mp3">Скачать name.mp3</a>
</audio>
</div>
</body>
<script>
document.addEventListener("DOMContentLoaded", () => {
setTimeout(() => {
let _paused = document.querySelector("#old-sound").paused;
let sound = document.createElement("audio");
sound.id = "new-sound";
sound.controls = "controls";
sound.src = "2.mp3";
sound.type = "audio/mpeg";
let element = document.querySelector("#song");
element.innerHTML = "";
element.appendChild(sound);
if (!_paused) document.querySelector("#new-sound").play();
}, 5000);
});
</script>
</html>