文章摘要:移动手机站添加背景音乐自动播放的问题解决方案,HTML5中的autoplay属性是设置为自动播放。如果设置了该属性,视频或音频将自动播放。 但是需要注意的是部分浏览器比如Safari屏蔽了autoplay属
移动手机站添加背景音乐自动播放的问题解决方案,HTML5中的autoplay属性是设置为自动播放。如果设置了该属性,视频或音频将自动播放。 但是需要注意的是部分浏览器比如Safari屏蔽了autoplay属性。因为autoplay在移动网络环境下可能会造成用户流量费剧增。因此在手机网站上如果添加背景音乐的话使用audio是无法自动播放的,怎么才能解决这个问题呢?下面模板社小编就来告诉大家一种解决方案,亲测安卓(微信 qq)浏览器可用。百度浏览器不可用。
- <audio style="display:none; height: 0" id="bg-music" preload="auto" src="/style/Time.mp3" loop="loop">
- <script>
- //音乐自动播放
- $(document).ready(function(){
- autoPlayMusic();
- audioAutoPlay();
- });
- function audioAutoPlay() {
- var audio = document.getElementById('bg-music');
- audio.play();
- document.addEventListener("WeixinJSBridgeReady", function () {
- audio.play();
- }, false);
- }
- // 音乐播放
- function autoPlayMusic() {
- // 自动播放音乐效果,解决浏览器或者APP自动播放问题
- function musicInBrowserHandler() {
- musicPlay(true);
- document.body.removeEventListener('touchstart', musicInBrowserHandler);
- }
- document.body.addEventListener('touchstart', musicInBrowserHandler);
- // 自动播放音乐效果,解决微信自动播放问题
- function musicInWeixinHandler() {
- musicPlay(true);
- document.addEventListener("WeixinJSBridgeReady", function () {
- musicPlay(true);
- }, false);
- document.removeEventListener('DOMContentLoaded', musicInWeixinHandler);
- }
- document.addEventListener('DOMContentLoaded', musicInWeixinHandler);
- }
- function musicPlay(isPlay) {
- var media = document.querySelector('#bg-music');
- if (isPlay && media.paused) {
- media.play();
- }
- if (!isPlay && !media.paused) {
- media.pause();
- }
- }
- </script>

