关于微信H5页面开发中音乐不自动播放的解决方法
2016-03-24 12:37
260 查看
原文链接:http://www.cnblogs.com/viphchok/articles/5315031.html
我想应该有很多人在做H5场景应用、H5微刊、H5微杂志的时候加入背景音乐吧(客户需求),相信很多人一定碰过不能自动播放的时候,即使是相同的iPhone 5s也有不播放的时候,很蛋疼吧!?
之前我的解决方案:
<audio id="bgm" src="media/bgm.mp3" autoplay="autoplay" loop="" style="display: none; width: 0; height: 0;"></audio> <script type="text/javascript"> //方法一 var firstTouch = true; $("body").bind("touchstart",function(e) { if ( firstTouch ) { firstTouch = false; document.getElementById('bgm').play(); }else{ return; } }); //方法二 $("body").one("touchstart",function() { document.getElementById('bgm').play(); }); </script>
原理就是若遇到禁止自动播放的手机,用户第一次触摸屏幕的时候就执行播放事件,我试过很多什么window.onload = function(){},预加载图片后回调执行播放事件,插件jquery.imgpreload.min.js 图片加载完毕回调都然并卵......没有办法的办法只能用上面方法。
我最近在瞎逛前端BLOG淘淘经验偶遇这个解决方案,至于哪个网站我忘记了,但是我做了摘录:
原理就是通过new一张图片,监听一张图片的onload事件,结束后回调执行音频播放audio.play()即可,原理估计是动了dom结构,相当于执行了一次交互。
PS:
1. 音乐不宜过长,30s为佳,而且音乐要加上渐现渐隐效果,方便循环播放;
2. 音乐体积要小,音质和流量,在手机上还是优先考虑流量吧。
一般背景音乐体积可以接受的范围是200K以下,若太大,可以使用格式工厂等软件,降低它的比特率和声道来改变体积。
转载于:https://www.cnblogs.com/viphchok/articles/5315031.html
相关文章推荐
- 解决微信页面中ios音乐不能自动播放问题
- WebView加载H5页面及自动播放网页内置的音乐的方法
- 关于IOS微信端ajax回调无法自动播放audio的解决方法
- 微信端开发H5页面的时候,audio标签在苹果机上无法进行自动播放
- 解决ios下的微信打开的页面背景音乐无法自动播放
- 解决ios下的微信页面背景音乐无法自动播放问题
- 微信端开发H5页面的时候,audio标签在苹果机上无法进行自动播放
- 解决ios下的微信打开的页面背景音乐无法自动播放
- webview 加载H5页面音乐不会自动播放问题解决方案
- 解决ios下的微信页面背景音乐无法自动播放问题
- 解决ios下的微信打开的页面背景音乐无法自动播放(转载)
- 解决微信页面加载自动播放音乐
- 解决ios下的微信打开的页面背景音乐无法自动播放
- 一种解决h5页面背景音乐不能自动播放的方案
- 微信背景音乐不自动播放解决
- 关于切换页面时自动滚动到有RecyclerView的位置的解决方法
- iOS系统和微信中不支持audio自动播放问题的解决方法
- 关于H5页面背景音乐播放的问题
- H5关于IOS安卓app的mp4视频播放全屏解决方法
- 关于微信H5自动播放视频-canvas实现逐帧动画效果加音频