实现控制网站背景音乐的播放暂停在html5中是非常容易和简单的,仅仅几行代码即可实现。
首先在网页中嵌入背景音乐,html5代码为:

  • <script src="http://wuover.qiniudn.com/jquery.js"></script>
  • <a class="mscBtn" id="audioBtn" title='最幸福的人' style="cursor:pointer;"></a>
  • <audio id="bgMusic" src="http://cctv3.qiniudn.com/zuixingfuderen.mp3" autoplay="autoplay"></audio>

通过audio的id即可控制音乐的播放(play())和暂停(pause()),同时通过改变class改变按钮的背景图片,js代码为(切记要引入jq库):

  • $(function(){
  • var music = document.getElementById("bgMusic");
  • $("#audioBtn").click(function(){
  • if(music.paused){music.play();
  • $("#audioBtn").removeClass("pause").addClass("play");
  • }else{music.pause();
  • $("#audioBtn").removeClass("play").addClass("pause");}});
  • });

css样式为:

  • .pause {background-position: 0 bottom;}
  • .mscBtn {height: 50px;
  • background: #fff url(http://cctv2.qiniudn.com/musicbtn.png) no-repeat;
  • display: block;}

demo效果就是本页面,当你打开了该页面之后一定有音乐播放,如果你按以下的按钮没反应,请点击这里刷新页面后再点击下面的图标。

 

应大伙的要求,改进了下,让网页背景音乐支持多首歌曲,播放完在随机播放下一首并且不会和上一首重复,并提供播放暂停按钮,本来这篇文章只是提供最简单的功能让大家自行扩展的,既然大家都提到了这个,我在评论里面也回了,在把最终的版本写在这篇文章后续上,主要就是js换成以下的:

  • $(function(){
  • var music = document.getElementById("bgMusic");
  • var musicArr=[//下面对应歌曲链接和歌名,自行添加用,隔开
  • {url:'http://cctv3.qiniudn.com/tbhdqx.mp3',title:"唐伯虎点秋香"},
  • {url:'http://cctv3.qiniudn.com/abzxh.mp3',title:"敖包再相会"},
  • {url:'http://cctv3.qiniudn.com/lmzda.mp3',title:"辣妹子的爱"},
  • {url:'http://cctv3.qiniudn.com/32.mp3',title:"32号嫁给你"},
  • {url:'http://cctv3.qiniudn.com/tongxinjishou.mp3',title:"痛心疾首"},
  • {url:'http://cctv3.qiniudn.com/rgangdst.mp3',title:"如果爱能感动上天"},
  • {url:'http://cctv3.qiniudn.com/cz.mp3',title:"车站"},
  • {url:'http://cctv3.qiniudn.com/hn.ogg',title:"很难"},
  • {url:'http://cctv3.qiniudn.com/aqlmysdsc.mp3',title:"爱情里没有谁对谁错"},
  • {url:'http://cctv3.qiniudn.com/dlaqdln.mp3',title:"丢了爱情丢了你"},
  • {url:'http://cctv3.qiniudn.com/cty.mp3',title:"闯天涯"}
  • ];
  • $("#audioBtn").click(function(){
  • if(music.paused){music.play();
  • $("#audioBtn").removeClass("pause").addClass("play");
  • }else{music.pause();
  • $("#audioBtn").removeClass("play").addClass("pause");}
  • });
  • function randomMusic(){
  • var isone=$("#bgMusic").attr('src');
  • var noone=musicArr[parseInt(Math.random()*musicArr.length)];
  • if (noone.url==isone){var noone=musicArr[parseInt(Math.random()*musicArr.length)];}
  • $("#bgMusic").attr('src',noone.url);
  • $("#audioBtn").attr('title',noone.title);
  • }
  • randomMusic();
  • $("#bgMusic").on('ended',function(){
  • randomMusic();
  • });
  • });
 

/////

加载完成之后再播放音乐

html:

<audio id="bgMusic" src="" loop="loop"></audio>

js:

//控制音乐播放

var musicbg = document.getElementById("bgMusic");
$("#music").click(function(){
if(musicbg.paused){
musicbg.play();
$("#music").removeClass("pause").addClass("play");
}else{
musicbg.pause();
$("#music").removeClass("play").addClass("pause");
}
});

//页面加载完成之后调用finish方法

this.finish=function () {

var audioUrl = "js/music.mp3";//音频路径
//调用方法
_this.loadAudio(audioUrl,function(){

//加载层消失,内容层显示

_this.loadingBox.hide();
$(".text-center").show();

//音乐

$('#bgMusic').attr("src",audioUrl);

var musicbg = document.getElementById("bgMusic");
musicbg.play();

});

}

31.JS实现控制HTML5背景音乐播放暂停的更多相关文章

  1. JS实现控制HTML5背景音乐播放暂停

    首先在网页中嵌入背景音乐,html5代码为: <script src="http://wuover.qiniudn.com/jquery.js"></script ...

  2. Cocos2d-x中背景音乐播放暂停与继续

    背景音乐播放暂停与继续似乎我们很少使用,事实上也正是如此,背景音乐播放暂停与继续实例代码如下: SimpleAudioEngine::getInstance()->pauseBackground ...

  3. js控制html5 audio的暂停、播放、停止

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...

  4. HTML5背景音乐的暂停与播放

    HTML代码:     <audio id="myaudio" loop="loop" preload="auto" autoplay ...

  5. JS控制flash的播放

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  6. js控制html5 【video】标签中视频的播放和停止

    需求:页面中有2个普通按钮a,b.还有一个video标签,能成功播放出视频..我想要的效果是,点击a按钮,视频开始播放,点击b按钮,视频播放停止!!!<br><br>----- ...

  7. html5 audio的暂停与播放

    在html5里,audio是新增的功能.它方便了用户. 大多数音频是通过插件(比如 Flash)来播放的.然而,并非所有浏览器都拥有同样的插件. HTML5 规定了一种通过 audio 元素来包含音频 ...

  8. 使用jQuery播放/暂停 HTML5视频

    文章来自:http://blog.okbase.net/jquery2000/archive/4485.html 我尝试用jQuery控制HTML5视频,两个视频分别在两个tab中,我希望点中tab后 ...

  9. apk支持html video控制 ,是播放状态就暂停,暂停状态就播放

    apk支持html video控制 <!DOCTYPE html> <html> <body> <div style="text-align:cen ...

随机推荐

  1. 闭区间套定理(Nested intervals theorem)讲解1

    ① ②这里用到了极限与不等关系 ③如果a≠b,那么便不会有$\lim _{n\rightarrow \infty }\left| I_n \right| =0$ ④如果还存在一点c在 内,那么同样也不 ...

  2. ionic中执行pop返回上一个页面,还需要执行操作

    <ion-navbar> </ion-navbar> 从A页面push到B页面拿到数据以后,从B页面pop到A页面,在A页面展示刚刚拿到的数据,用 ionViewDidEnte ...

  3. 新的ipad,用xcode编译报错 dyld_shared_cache_extract_dylibs

    删掉  ~/Library/Developer/Xcode/iOS DeviceSupport/ 这个目录下的特定文件夹就行啦. 其实是因为  device is busy  生成文件夹过程中拔掉了设 ...

  4. Badboy测试工具官网下载以及安装导出Jmeter脚本

    首先打开浏览器,在百度上搜索“Badboy ”,默认搜索到的第一个就是官网地址: 1 也可以在其他软件下载网址上进行下载 2 点击进入后,官网左侧菜单中有“download”字样,或者官网右侧顶部也有 ...

  5. LeetCode 961 N-Repeated Element in Size 2N Array 解题报告

    题目要求 In a array A of size 2N, there are N+1 unique elements, and exactly one of these elements is re ...

  6. pyhton 爬虫爬去吾爱精品软件的信息并写入excel

    2018的最后一天了,感觉今年有得有失,这里就不再浪费时间了,愿2019万事如意 之前的爬虫信息下载后只写入txt文档,想到了以后工作加入有特殊需求,趁放假有时间将这写数据写入excel表格 以吾爱精 ...

  7. 使用Apache CXF根据wsdl文件生成代码

    1.去官网下载,我用的是apache-cxf-2.5.10.zip 2.解压 3.通过命令行进入Apache CXF的bin目录,如我的目录是D:\BIS\axis2\apache-cxf-2.7.1 ...

  8. 两个java工程之间的相互调用方法

    如果你有两个java项目的话,如何向他们之间进行信息的通信前提:必须知道要通信的java项目(接收请求方)的服务器的IP地址和访问路径.其实两个java项目之间的通信还是使用HTTP的请求.主要有两种 ...

  9. ActiveMQ整合spring、同步索引库

    1.   Activemq整合spring 1.1. 使用方法 第一步:引用相关的jar包. <dependency> <groupId>org.springframework ...

  10. 什么是Docker?(一)

    Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 ...