解决html浏览器不能自动播放音乐

       根据相关规定要求,在未经用户允许下不可以自动加载大流量的文件、视频或音频,所以微信,谷歌等客户端自动屏蔽了< video > 中的autoplay 属性。但是有以下几种方法可以处理达到自动播放的目的。

1. 创建页面监听(WeixinJSBridgeReady)

       这种方法只适用于微信客户端。原理:对页面加载进行监听,等待微信客户端页面加载完毕后,自动触发音频播放 。

<audio autoplay="autopaly" loop="loop" id="audios">
    <source src="music/bg.mp3" type="audio/mp3" />
</audio>
 
<script>
// 这里使用了微信自带的WeixinJSBridgeReady事件
document.addEventListener('WeixinJSBridgeReady', function() {
    document.getElementById('audios').play()
})
 
</script>

2.创建触摸监听(touchstart)

       通过判断用户是否触摸屏幕开启音乐播放。原理:当浏览器打开页面时,通过触摸屏幕事件,来触发音频播放 。

<audio autoplay="autopaly" loop="loop" id="audios">
    <source src="music/bg.mp3" type="audio/mp3" />
</audio>
 
<script>
// 将以下代码添加到js入口函数内即可
document.addEventListener('touchstart', function() {
    document.getElementById('audios').play()
})
 
</script>

3.创建点击监听(click)

       适用于电脑浏览器通过判断用户是否点击鼠标开启音乐播放。原理:当浏览器打开页面时,通过点击鼠标事件,来触发音频播放 。

<audio autoplay="autopaly" loop="loop" id="audios">
    <source src="music/bg.mp3" type="audio/mp3" />
</audio>
 
<script>
// 将以下代码添加到js入口函数内即可
document.addEventListener('click', function() {
    document.getElementById('audios').play()
})
 
</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章