You need to use HTML audio DOM refrence to do this work. Using HTML DOM refrence you can manage audio player and playing audio. You can play audio, stop audio, load audio and add event. I create example at bottom. When you click on button, player start playing of first sound and highlight first word. When first sound ended, player start playing of next sound and highlight next word.
var audioIndex = 0;
var audioAddress = [
"http://audiomicro-dev.s3.amazonaws.com/preview/1030/caca5b5fcde48f9",
"http://audiomicro-dev.s3.amazonaws.com/preview/1030/9cd6976b1ce3b76",
"http://audiomicro-dev.s3.amazonaws.com/preview/1030/5d4ab0a4db5e7b4",
"http://audiomicro-dev.s3.amazonaws.com/preview/1030/0f5e54eda37e7f0",
"http://audiomicro-dev.s3.amazonaws.com/preview/1030/4597608ea80a312",
"http://audiomicro-dev.s3.amazonaws.com/preview/1030/6c4ae634173cc83"
];
$("button").click(function(){
audioIndex = 0;
playAudio(0);
});
$("#myAudio")[0].onended = function() {
audioIndex += 1;
playAudio(audioIndex);
};
function playAudio(index)
{
$("p > span").removeClass("playing");
$("#myAudio")[0].src = audioAddress[index];
$("#myAudio")[0].play();
$("p > span:nth-child(" + (index + 1) + ")").addClass("playing");
}
#myAudio {
display: none;
}
span {
margin: 0px 10px;
}
.playing {
background: yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<audio id="myAudio">
<source src="" type="audio/mpeg">
</audio>
<button>Play Audio</button>
<p>
<span>Rooster</span>
<span>Cat</span>
<span>Horse</span>
<span>Elephant</span>
<span>Vulture</span>
<span>Duck</span>
</p>
play() method start playing, src property get source of audio, onended event fired when playlist is ended.
You can see HTML audio/video DOM refrence in this