Nach aktuellem Stand beginnen die Audiodatein leider alle gleichzeitig abzuspielen.
Ja, dafür sorgt das "autoplay" in Ihrem HTML-Code.
Wenn Sie das Abspielen zeitlich koordinieren möchten, kommen Sie - wie Sie ja schon schreiben - nicht um JavaScript umhin.
Es wird aber noch komplizierter. Und zwar muss der JavaScript-Code ja auch noch erfahren, in welcher Reihenfolge die Audio-Dateien auf der Seite stehen. Ich würde dafür mit der Funktion document.getElementsByTagName("audio")
arbeiten, um alle in der richtigen Abfolge zu bekommen.
Und dann müssten Sie an das erste Element (das Sie nun ja haben) den schon von Ihnen angesprochenen "ended" Event-Handler hängen. Dieser muss aber die zweite Audio-Datei starten, statt mit der nächsten Seite fortzufahren. Das köntne dann so aussehen:
var audios = document.getElementsByTagName("audio");
audios[0].addEventListener("ended", function() {
audios[1].play();
});
Das ist jetzt noch nicht elegant, aber vom Prinzip her...
Und noch eine Warnung: Es kann durchaus sein, dass der ein oder andere Browser das Abspielen blockiert.
Eventuell ist es zuverlässiger, wenn Sie 4x3x2 = 24 Audio-Dateien erstellen, in welchen Sie die Audio-Dateien selbst jeweils zu einer verknüpfen. Dann müssen Sie nur noch 1 aus 24 Dateien ziehen und diese einfach komplett abspielen.
Auch nicht elegant, aber nochmal ein bisschen weniger komplex und damit zuverlässiger.