关于audio元素在实际项目中遇到的问题总结

在ios高版本的微信浏览器下(ios10.0以上),audio标签如果添加autoplay属性的话。导致的问题是:通过二维码扫码第一次进入没有问题,第二次扫码进入之后直接卡死在loading页面。

解决方案:去除autoplay属性,通过js触发音乐播放即可解决问题。

所以在使用audio时,尽量不要随意添加属性。有可能导致难以预料的问题。

最佳实现audio的实现是

window.onload的时候执行play()。让其播放。而不是autoplay。

 

window.addEventListener('load',loadHandler,false);

function loadHandler() {
    var audio = document.querySelector('#audio');
    var musicBtn = document.querySelector('#musicBtn')

    audio.play();

    musicBtn.addEventListener('click',toggleMusic,false);

}

function toggleMusic(audio){
    if(audio.paused){
        audio.play();
        musicBtn.addClass('on');
    }else{
        audio.pause();
        musicBtn.removeClass('on');
    }
}

 

转载于:https://www.cnblogs.com/qianduanjingying/p/6016156.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值