头闻号

宁津北方塑胶有限公司

PA|接头|注塑加工|橡胶管|工业用橡胶制品|综合性公司

首页 > 新闻中心 > 科技常识:自动播放页面中所有audio标签
科技常识:自动播放页面中所有audio标签
发布时间:2024-09-22 14:21:40        浏览次数:9        返回列表

今天小编跟大家讲解下有关自动播放页面中所有audio标签 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关自动播放页面中所有audio标签 的相关资料,希望小伙伴们看了有所帮助。

在浏览游戏百科中的BGM部分,想把页面中的音频像音乐播放器一样自动地一首接一首播放,参考了这篇博客以后,写了以下代码,在开发者工具的控制台里运行就行。应该说适用范围比上述参考博客要广,不受DOM树结构影响。

var audios = document.getElementsByTagName("audio");for(var i=0;i<audios.length;i++){ var current = audios[i]; current.addEventListener('ended', function () { console.log(`${this.src} ended`); var audioArr = document.getElementsByTagName("audio"); for(var j=0;j<audioArr.length;j++){ if ( this == audioArr[j] ) { var nextAudio = audioArr[j+1] nextAudio.play(); console.log(`${nextAudio.src} started.`) break; } } }, false);}audios[0].play();

如果希望在播放下一首之前能够先缓冲一下,可以添加一些代码

var audios = document.getElementsByTagName("audio");for(var i=0;i<audios.length;i++){ var current = audios[i]; // current.preload ="auto"; // 缓冲所有 current.addEventListener('ended', function () { console.log(`${this.src} ended`); var audioArr = document.getElementsByTagName("audio"); for(var j=0;j<audioArr.length;j++){ if ( this == audioArr[j] ) { var nextAudio = audioArr[j+1]; nextAudio.play(); audioArr[j+2].preload ="auto"; // 缓冲下一首 console.log(`${nextAudio.src} started.`); break; } } }, false);}audios[0].play();audios[1].preload ="auto"; // 缓冲下一首

来源:爱蒂网