如何在页面未处于活动状态时自动播放音频

问题描述 投票:0回答:1

有一个列表,其中我要播放的歌曲名称按顺序排列...当我必须播放下一首时,我的函数获取当前播放歌曲的索引,并播放列表中的下一首.

toPlay = autoPlayOrder[(autoPlayOrder.indexOf(playing)) + 1]
play(toPlay)

在这里,

  1. autoPlayOrder
    是要播放的歌曲的列表
  2. playing
    是当前正在播放的歌曲
  3. play()
    是我的一个功能,只能播放歌曲

现在,当页面加载时,系统按预期工作,但当我在另一个网页上时,当歌曲停止时,下一首不会自动播放......经过一些测试后,我得出结论,这是由于不允许使用 javascript 造成的当页面不活动时运行。

在我的测试过程中,我让页面处于活动状态并且代码执行了它应该执行的操作...然后我做了同样的事情,但这次我切换了选项卡,因此下一个音频没有按预期自动播放以前做过..加上我一切换回标签就开始播放

还有一个旁注,当我尝试制作循环歌曲功能时,我几乎遇到了同样的问题,但设法通过使用 html 中的

loop
元素中的内置
audio
功能来解决该问题。

javascript html html5-audio
1个回答
0
投票

我找到了解决方案,HTML中的

<audio>
标签有一个内置的
onended
属性,我们可以在其中传递我们自己的函数。因此,只需创建一个函数并将其传递到
onended
属性中,即使网页未处于活动/加载状态,它也会起作用

© www.soinside.com 2019 - 2024. All rights reserved.