我制作了一个应用程序,用户可以在其中听一些音乐。在每个浏览器上,它都能正常工作。但是,如果我在野生动物园中对其进行测试,则歌曲会在2/3分钟后跳到歌曲的开头。是否有解决方案来防止这种情况并使歌曲一直播放到最后?
音频标签就像这行代码。
<audio id="lyzaplayer" crossOrigin="anonymous" media-player="audioPlayer" preload="none"></audio>
我通过单击按钮开始播放歌曲。当我单击它时,它触发了以下几行代码(首先,我用引用音频文件夹中音频文件的data-src值加载音频。此后,我播放了音频)
audio.load($('a', 'ol #' + songId).attr('data-src'));
setTimeout(function(){
audio.play();
}, 1000);
我正在与audiojs
一起工作,并使用这些代码行来检查轨道是否已结束
var a = audiojs.createAll({
trackEnded: function() {
console.log('track ended');
var next = $('ol li.playing').next();
if (!next.length) next = $('ol li').first();
next.addClass('playing').siblings().removeClass('playing');
audio.load($('a', next).attr('data-src'));
setTimeout(function() {
audio.play();
}, 1000);
}
});
但是console.log
没有播放,因此该功能没有播放,因为歌曲跳到了它的开头。