有一个列表,其中我要播放的歌曲名称按顺序排列...当我必须播放下一首时,我的函数获取当前播放歌曲的索引,并播放列表中的下一首.
toPlay = autoPlayOrder[(autoPlayOrder.indexOf(playing)) + 1]
play(toPlay)
在这里,
autoPlayOrder
是要播放的歌曲的列表playing
是当前正在播放的歌曲play()
是我的一个功能,只能播放歌曲现在,当页面加载时,系统按预期工作,但当我在另一个网页上时,当歌曲停止时,下一首不会自动播放......经过一些测试后,我得出结论,这是由于不允许使用 javascript 造成的当页面不活动时运行。
在我的测试过程中,我让页面处于活动状态并且代码执行了它应该执行的操作...然后我做了同样的事情,但这次我切换了选项卡,因此下一个音频没有按预期自动播放以前做过..加上我一切换回标签就开始播放
还有一个旁注,当我尝试制作循环歌曲功能时,我几乎遇到了同样的问题,但设法通过使用 html 中的
loop
元素中的内置 audio
功能来解决该问题。
我找到了解决方案,HTML中的
<audio>
标签有一个内置的onended
属性,我们可以在其中传递我们自己的函数。因此,只需创建一个函数并将其传递到 onended
属性中,即使网页未处于活动/加载状态,它也会起作用