近来有这么一个需求,需要在手机加载一个页面的时间,自动播放音乐资源。一样平常环境下,这个问题也就解决了,但是要包管各种手机上体现同等,那就相当困难了,至少要费点儿周折。 下面有三种通例的方式,可以创建自动播放的audio对象: 第一种:页面上创建一个audio标签,写好相关的属性,如:autoplay='autoplay',正常环境下,这里写上资源地址之后,访问页面之后就可以自动播放了。但是如果音乐资源地址不确定,需要js改变的话,就需要利用JS来实现了。 [code] (function() { var audio = document.getElementById('myAudio1'); audio1 = audio; audio.src = source; audio.loop = true; audio.autoplay = true; audio.play(); audio.addEventListener('canplay', canPlay, false); })();[/code]第二种:和第一种比力相似,只不过全部的标签都是JS创建之后,插入到页面上的。 [code] (function() { var audio = document.createElement("AUDIO"); audio2 = audio; audio.setAttribute("src", source); audio.setAttribute("loop", 'true'); audio.setAttribute("controls", 'controls'); audio.setAttribute("autoplay", 'true'); audio.setAttribute("id", 'myAudio2'); audio.addEventListener('canplay', canPlay, false); document.getElementById('example2').appendChild(audio); audio.play(); })();[/code]第三种:没有任何dom标签,利用JS创建一个audio对象,然后通过JS控制audio对象的各种api实现资源更换和自动播放。 [code] (function() { var audio = new Audio(); audio3 = audio; audio.src = source; audio.loop = true; audio.id = 'myAudio3'; audio.autoplay = true; audio.addEventListener('canplay', canPlay, false); audio.play(); })();[/code]附:上述三个方法的demo 别的增长一种第三方库实现,音频资源的播放以及控制。 整理了一些第三方库,功能不但是播放音乐,还有一些其他功能,这个本身研究。 [code] howler.js: http://goldfirestudios.com/blog/104/howler.js-Modern-Web-Audio-Javascript-Library buzz.js: http://buzz.jaysalvat.com/ audio.js: http://kolber.github.io/audiojs/ jPlayer.js: http://jplayer.org/[/code]利用了上述方法之后,发如今Iphone手机(详细说明)和部分android手机仍然不能,自动播放。 他的播放条件是:必须有效户举动操作,才能进行播放。 所以就需要考虑,通过什么样的方式可以模拟用户的操作呢?网络上提供了一些方式,可以实现自动播放,如:
上述提到的前两条,我测试发现根本上没有效果。至于第三条,这个肯定是没有问题的,但是这种方式确实不完全算是自动播放,因为完全有可能用户就是不触碰页面,那么就是不会播放。但是在有些场景下,确实可以利用,这个要区分场景。 进而我想到了,能不能监听手机是否运动或者是移动,来进行播放音频呢?我监听了devicemotion(详细说明)事件,发现还是不可,此时我已经缭乱了,死的心都有了。 末了的末了,我利用了在页面上创建audio标签,利用JS调整audio相关属性和值,然后控制音频播放。 这种方式根本上,可以在不同的手机上体现出相同的效果,但是就是我测试的一个5S手机就是不可。。。同样别的5S却没有问题,具体原因到如今都没有查出来我就默默的把他忽略了。 为了能让哪些不能自动播放的提升一些体验,又绑定了一个touchstart事件,这样就算是不能自动播放,至少可以在触摸页面的可以进行播放,算是一种体验改进吧。 补充: 2015年05月31日iOS 微信 音频 视频自动播放 以上就是HTML5页面音频自动播放问题的详细内容,更多关于html5音频自动播放的资料请关注脚本之家其它相关文章! 来源:https://www.jb51.net/html5/779712.html 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-2 09:18 , Processed in 0.031716 second(s), 18 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.