html手机端音乐不自动播放,解决移动端浏览器 HTML 音频不能自动播放的三种方法...

由于Android,IOS移动端的浏览器以及微信自带的浏览器为了用户更好的体验,规定不自动播放音频视频,默认屏蔽了autoplay,如果要想达到自动播放效果,需要单独处理,方法有以下几种:

第一种:添加控制属性(controls)

原理:直接使用行内式添加controls属性,显示控制按钮,让用户手动触发音频播放

第二种:创建页面监听(WeixinJSBridgeReady)

原理:对页面加载进行监听,等待微信客户端页面加载完毕后,自动触发音频播放

// 将以下代码添加到js入口函数内即可

// 这里使用了微信自带的WeixinJSBridgeReady事件

document.addEventListener('WeixinJSBridgeReady', function() {

document.getElementById('audios').play()

})

第三种:创建触摸监听(touchstart)

原理:当浏览器打开页面时,通过触摸屏幕事件,来触发音频播放

// 将以下代码添加到js入口函数内即可

document.addEventListener('touchstart', function() {

document.getElementById('audios').play()

})

第四种:综合以上自定义Func实现交互触发play()

不推荐此方法,上面三种方法足以解决日常问题

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('audios');

图片加载完成:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值