html5让网页音乐暂停时慢慢停止

html-css016

html5让网页音乐暂停时慢慢停止,第1张

如果使用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"

}