PHP前端开发

html5实现背景音乐的自动播放

百变鹏仔 2个月前 (10-17) #H5教程
文章标签 背景音乐

自动播放属性:

(推荐教程:html5视频教程)

<audio controls="controls" autoplay="autoplay">  <source src="song.ogg" type="audio/ogg" />  <source src="song.mp3" type="audio/mpeg" />Your browser does not support the audio element.</audio>

autoplay 属性规定一旦音频就绪马上开始播放。如果设置了该属性,音频将自动播放。

但是在实际运用中,经常会遇到不能自动播放的现象,主要是因为有些浏览器或者手机会阻止或不支持autoplay这个属性,在这里我介绍一下我采用的方法。

立即学习“前端免费学习笔记(深入)”;

首先:在html中代码如下

<audio id="music1" controls="controls" autoplay="autoplay" preload id="music1" hidden><source src="music/bgmusic.mp3" /></audio><!--这里是音乐--><img id="btn" class="active" src="img/music.png" alt="" /><!--这里是一个可以控制背景音乐播放暂停的开关-->

在js文件中采用如下代码:

var audio = document.getElementById(&#39;music1&#39;);$("#btn").bind("touchstart", function bf() { if(audio !== null) {//检测播放是否已暂停.audio.paused 在播放器播放时返回false.//alert(audio.paused);if(audio.paused) {audio.play(); //audio.play();// 这个就是播放$("#btn").addClass("active")} else {audio.pause(); // 这个就是暂停$("#btn").removeClass("active")}}})

写到了这里大部分安卓机就基本可以实现自动播放了,但是苹果手机在这个时候还是不行的

这里我采用了一个在加载页中加入一个按钮,当加载完成的时候,点击按钮,引导用户完成背景音乐的自动播放,代码如下:

$("html").one(&#39;touchstart&#39;,function(){audio.play();})

到了这里就实现了背景音乐的自动播放,这个办法适用于有加载页,并且需要点击进入h5的项目。