Я бы хотел увидеть фактический код того, что у вас есть, потому что я не уверен на 100%, что «переключение между ними» но я написал следующий пример, который запускает следующий файл, играющий до окончания первого. Необходимо указать определенное количество «перекрытия», и он начинает играть следующий файл JSFiddle: http://jsfiddle.net/76xqhupw/4/
const OVERLAP_TIME = 1.0; //seconds
const song1 = document.getElementById('audio1');
const song2 = document.getElementById('audio2');
song1.addEventListener("timeupdate", function() {
if (song1.duration - song1.currentTime <= OVERLAP_TIME) {
song2.play();
}
});
song1.play();
Это просто отношение к игре на следующий элемент аудио мгновенно, так как вы сказали, что уже два звуковых элементов, но если я что-то упустил, дайте мне знать.
Я уверен, что вы уже об этом подумали, но подтвердили ли вы, что в звуковые дорожки нет тишины? –