Проблема в том, что эти события будут происходить в быстрой последовательности.
Чтобы они запускались последовательно, концептуальным решением было бы:
let count = 1;
let audio = document.getElementById('a');
audio.onended = function() {
if(count <= 2){
count++;
this.play();
}
};
audio.play();
Предоставлено Carsten.
Fiddle: jsfiddle.net / bv9yzjtp