如果使用audio自带的控制按钮,JS代码无法控制它的播放和暂停。需要添加自己的播放按钮和暂停按钮,然后在js代码中控制audio的播放和暂停,利用计时器定时增加或减少音量。
以下是我亲自测试过可以达到你要的效果的代码,细节需要你调整定时器的时间间隔和每次音量改变幅度。
下面是HTML部分的写法
<body><audio id="player" src="这里是你要播放的音乐.mp3"></audio>
<button type="button" onclick="fadeIn()">播放</button>
<button type="button" onclick="fadeOut()">暂停</button>
</body>
下面是JS部分的写法
function fadeOut(){var player=document.getElementById("player")
var vol=player.volume
var t=setInterval(function(){
vol-=0.01
if(vol>0){
player.volume=vol
}else{
clearInterval(t)
player.pause()
}
},100)
}
function fadeIn(){
var player=document.getElementById("player")
var defaultVol=player.volume
player.volume=0
var vol=0
player.play()
var t=setInterval(function(){
vol+=0.01
if(vol<=defaultVol){
player.volume=vol
}else{
clearInterval(t)
}
},100)
}
实现控制网站背景音乐的播放暂停在html5中是非常容易和简单的,仅仅几行代码即可实现。 首先在网页中嵌入背景音乐,html5代码为: 通过audio的id即可控制音乐的播放(play())和暂停(pause()),同时通过改变class改变按钮的背景图片,js代码为...
1,下面是一个播放音乐的最简单样例(controls属性告诉浏览器要有基本播放控件)
原文:HTML5 - 使用<audio>播放音频
<audio src="hangge.mp3" controls></audio>
2,预加载媒体文件
设置preload不同的属性值,可以告诉浏览器应该怎样加载一个媒体文件:
(1)值为auto:让浏览器自动下载整个文件
(2)值为none:让浏览器不必预先下载文件
(3)值为metadata:让浏览器先获取音频文件开头的数据块,从而足以确定一些基本信息(比如音频的总时长)
<!-- 用户点击播放才开始下载 -->
<audio src="hangge.mp3" controls preload="none"></audio>
3,自动播放
使用autoplay属性可以让浏览器加载完音频文件后立即播放。(如果想用来作为背景音乐的话可以把controls属性去掉)
<audio src="hangge.mp3" controls autoplay></audio>
4,循环播放
使用loop属性让音乐播放结束时,在从头开始播放。
<audio src="hangge.mp3" controls loop></audio>
有时我们需要使用js来控制播放器实现音乐的播放,暂停。或者使用js播放一些音效。
1,通过JavaScript控制页面上的播放器
比如把页面上添加一个<audio>用来播放背景音乐(由于controls属性未设置,我们是看不见播放界面的)
<audio id="bgMusic">
<source = src="hangge.mp3" type="audio/mp3">
<source = src="hangge.ogg" type="audio/ogg">
</audio>
通过pause()和play()方法可以使音乐暂停和继续播放(结合currentTime属性可以实现停止和重新播放)
var audio = document.getElementById("bgMusic")
//播放(继续播放)
audio.play()
//暂停
audio.pause()
//停止
audio.pause()
audio.currentTime = 0
//重新播放
audio.currentTime = 0
audio.play()
2,也可以动态的创建<audio>元素
//方式1
var audio = document.createElement("audio")
audio.src = "hangge.mp3"
audio.play()
//方式2
var audio = new Audio("hangge.mp3")
audio.play()
通过canPlayType()方法可以判断浏览器支持的编码方式,从而设置对应的音频文件。
if (audio.canPlayType("audio/mp3")) {
audio.src = "hangge.mp3"
}else if(audio.canPlayType("audio/ogg")) {
audio.src = "hangge.ogg"
}