<div id="audio" ng-hide="true"></div>
var audio = $('#audio'); //先生成html对象 audio.append('<audio name="audioName" src='+srcStr+($translate.use() == "en" ? "PlsPutItInTheConsolidationPoint.mp3" : "请放入合流点.mp3")+'></audio>'); for (var i=0, size=number.length; i<size; i++) { var obj = $scope.getAudioSrc(i, number.charAt(i)); audio.append(obj); } if (status) { audio.append('<audio name="audioName" src='+srcStr+($translate.use() == "en" ? "ConsolidationCompleted.mp3" : "合流完成.mp3")+'></audio>'); } //获取html对象进行播放 var audios = $("[name = 'audioName']"); for (var i=0, size=audios.length; i<size; i++) { audios[i].addEventListener('ended', function () { var nextAudio = this.nextSibling; nextAudio.play(); }, false); } audios[0].play();
注:还可以一边生成一边播放,原理是一样的,就是利用addEventListener监听ended事件播放完毕,继续下一个audio播放。