Hallo Matthias
Es ist nicht möglich, ein play-Event für ein übergeordnetes Element zu registrieren und auf das hochgeblubberte Event zu warten, weil es zum Beispiel für eine Liste kein play-Event gibt.
const players = Array.from(document.getElementsByTagName('audio'));
document.body.addEventListener('play', event => players.forEach(
element => element !== event.target && element.pause()
), true);
Nur weil ein Event nicht über eine Bubbling-Phase verfügt heißt das nicht, dass man es nicht an ein übergeordnetes Element delegieren kann. In diesem Fall muss man den Eventhandler eben für die Capturing-Phase registrieren.
Gruß,
Orlok