ITXP365(智码IT网)

分享电脑知识,传播IT技巧

致敬爱学习的您,祝您访问愉快!

在html5中使用audio标签设置loop属性后在小米、OPPO、vivo等Android浏览器中不能循环播放的解决方案


发布:智码IT网   阅读:
在html5中使用audio标签,设置loop属性,以便循环播放音乐,但是在小米、OPPO、vivo 等 Android 浏览器可能达不到预期的效果。这可能是以上浏览器对loop属性实现的方式不一致或有限制。为了达到在网页中循环播放音乐的目的,可以通过JavaScript来变通处理,代码如下:

html代码:
<audio id="myAudio" src="myfile.mp3" autoplay="autoplay" loop="loop"></audio>

JavaScript代码:

var audio = document.getElementById("myAudio");

function playLoop() {
  setTimeout(function () {
    if (audio.currentTime >= audio.duration - 0.44) {
      audio.currentTime = 0;
      audio.play();
    }
    playLoop();
  }, 20);
}

audio.play();
playLoop();


上述代码使用 setTimeout 函数每 20 毫秒检查一次音频是否已经播放完毕。如果播放完毕,则将当前时间设置为 0 并重新开始播放。

该方法在小米浏览器中测试有效,其他浏览器未做测试。

上一篇:没有了
下一篇:没有了

© 2001-智码IT网 www.itxp365.com版权所有

蜀ICP备2021001527号