解决iPhone手机音乐不能自动播放问题

在做h5开发的时候需要插入背景音乐,使用 html 的 audio 标签 可以实现,但是在开发过程中发现iPhone手机打开h5页面时音乐并不会自动播放,而是要点一下屏幕才会自动播放,上网找了半天,各种踩坑,最終还是找到解决方案。

 

解决方案如下:

<div id="musicImg" class="music_img rotate"><img onclick="so_music()" src="/images/music.png" alt=""></div>
<audio src="song.mp3" autoplay="autoplay" id='song' loop="loop"></audio>
// 音乐自动播放
function audioAutoPlay(id){
    var audio = document.getElementById(id);
    play = function(){
        audio.play();
        document.removeEventListener("touchstart",play, false);
    };
    audio.play();
    // 获取微信初始化完成
    document.addEventListener("WeixinJSBridgeReady", function () {
        play();
    }, false);

    // 易信
    document.addEventListener('YixinJSBridgeReady', function() {
        play();
    }, false);

    // 手机触碰屏幕
    document.addEventListener("touchstart",play, false);
}
audioAutoPlay('song');

// 点击暂停音乐
function so_music(){
    var audio = document.getElementById('song');
    if(audio.paused){
        audio.play();
        musicImg.setAttribute('class','music_img rotate');
    }else{
        audio.pause();
        musicImg.setAttribute('class','music_img');
    }
}

 

文中如有错误,或者不完善的,可以多多交流。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值