如果使用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(vol0){
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);
}
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";
}
实现控制网站背景音乐的播放暂停在html5中是非常容易和简单的,仅仅几行代码即可实现。 首先在网页中嵌入背景音乐,html5代码为: 通过audio的id即可控制音乐的播放(play())和暂停(pause()),同时通过改变class改变按钮的背景图片,js代码为...