我正在尝试创建一个可以依次播放3个音频文件的功能,但是这变成了一场噩梦。如果我只是加载文件并在函数中播放,则音频会相互重叠,因此我试图创建setTimeout以等待1秒(这是音频的持续时间),然后加载并播放下一个文件。 它一见钟情(第一次播放),但如果我运行此功能超过5次(按播放按钮),它就会开始出现故障,不再播放所有3种音频。有时,它只会先播放,然后再停止播放,我必须关闭该应用程序,然后重新打开才能再次使用。
在这种情况下,我不知道如何使用Promise,因此Im使用setTimeout。 有人可以帮助我吗?
function playfiles(a,b,c){
document.getElementById('TREINOplay').disabled = true
mediaPlay(a)
setTimeout(function(){
mediaPlay(b)
}, 1000);
setTimeout(function(){
mediaPlay(c)
}, 2000);
setTimeout(function(){
document.getElementById('TREINOplay').disabled = false
my_media.release()
}, 3000);
}
function mediaPlay(file){
my_media = new Media(getMediaURL(file),function () {},function (err) { window.alert("playAudio():Audio Error: " + err)})
my_media.play();
console.log(file);
}