`

利用HTML5制作音乐播放器【一】

阅读更多
  今天做了一个播放器,不过美工没学好,所以样式有点丑,不多说贴码。
首先给个做好的界面:





1.首先是css,文件名:music.css
body{
margin:20px;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size:12px;
}
#musicList{
	
}
li{
   
   list-style: url(../images/heart.png) outside circle;
   line-height:20px;
   padding-bottom:3px;
   vertical-align: middle; 
}

.float_r{float:right;}
.float_l{float:left;}
.playMode{text-align:right;}

.songStyle{
	width: 300px;
	margin-bottom:20px;
	border:1px solid #96C2F1;
	background-color: #EFF7FF
}
.songStyle h3{
margin: 1px;
padding: 1px 1px 1px 10px;
background-color: #B2D3F5;
height: 24px;
}
.playDiv{
	width: 610px;  
    margin-bottom:10px;  
    border:1px solid #92B0DD;  
    background-color: #FFFFFf  
}
.currentMusic{  
    background-color: #E2EAF8;  
    height: 24px;  
	width:100%;
}
.currentSpan{
	padding-left:3px;
}  
.lastMusic{
 background-color: #E2EAF8;  
 text-align:center;
}
.lastMusic img{
	width:32px;
	height:32px;
	cursor:pointer;
}
.infoStyle{
	margin-left:10px;
	width: 300px;
	margin-bottom:20px;
	border:1px solid #96C2F1;
	background-color: #EFF7FF;
}
.infoStyle h3{
margin: 1px;
padding: 1px 1px 1px 10px;
background-color: #B2D3F5;
height: 24px;
}
.info{
	width:49%;
}
.picInfo{
	width:49%;
	margin-right:2px;
	height:100%;
}
strong span{
	margin-left:4px;
}
.info div{
	padding: 10px 0px 10px 10px;
	font-size:12px;
}
.liOn{
	background-color:#E3E197;
}
.Gray
{
 filter:alpha(style=0,opacity=30,finishopacity=30);
}




2.javascript文件,文件名:music.js
var myMusic = null;
var MyMusic = function(){
	var _this = this;
	var musicBox_H = document.getElementById("musicBox"); 
	var people = "images/people/";
	//音乐列表
	var musicFiles=[new MusicObj("HISTORY","musics/HISTORY.mp3","EXO-K","MAMA",people+"EXO-K.jpg",0,1),
					new MusicObj("MAMA","musics/MAMA.mp3","EXO-K","MAMA",people+"EXO-K.jpg",0,1),
					new MusicObj("Sexy, Free & Single","musics/Sexy, Free & Single.mp3","Super Junior","Sexy, Free & Single",people+"Super Junior.jpg",0,0),
					new MusicObj("Muzik","musics/Muzik.mp3","4 Minute","4 Minute For Muzik Cd",people+"4 Minute.jpg",1,0),
					new MusicObj("爱情终点","musics/爱情终点.mp3","王绎龙","电音之王",people+"wyl.jpg",0,0)
  ];
	//播放模式 1-全部循环 2-单曲循环  3-随机播放
	var playMode = 1;
	//当前音乐播放的下标
	var index = -1;
	var length = musicFiles.length;
	var playMode_H = $("#playMode");
	var musicList_H = $("#musicList");
	var playMsg_H = $("#playMsg");
	var name = $("#name");
	var author = $("#author");
	var CD = $("#CD");
	var picInfo = $("#picInfo");
	var pop =$("#pop");
	var playMsg = null;
	_this.fristMusic = function(){
		index = 0;
		_this.play();
	}
	_this.playOrPause=function(){
		pop.addClass("Gray");
		var popVal = pop.attr("imgVal");
		if(popVal == 0){
			pop.attr("src","images/play/play.png");
			pop.attr("title","点击播放");
			pop.attr("imgVal","1");
			musicBox_H.pause();
		}else{
			pop.attr("src","images/play/pause.png");
			pop.attr("title","点击暂停");
			pop.attr("imgVal","0");
			musicBox_H.play();
		}
		
	}
	_this.end = function(){
		index = length -1;
		_this.play();
	}
	_this.lastMusic = function(){
		if(index == 0){
			index = length-1; 
		}else{
			index --;
		}
		_this.play();
	}
	_this.loadMusic = function(){
		for(var i in musicFiles){
			var html = "<li>"+musicFiles[i].name;
			if(musicFiles[i].hot == 1){
			html+="<img src='images/HOT/hot1.gif'/>";
			}
			if(musicFiles[i].newSong == 1){
				html+="<img src='images/NEW/new.png'/>";
			}
			html+= "</li>";
			musicList_H.append(html);
	  }
	};
	_this.nextMusic = function(){
		var currentMusic = null;
		
		switch(parseInt(playMode)){
			case 1:
			index ++;
			if(index>=length){
				index = 0;
			}
			break;
			case 2:
			if(index == -1){
				index = 0;
			}
			break;
			case 3:
			index = Math.floor(Math.random()*length);
			
			break;
		}
		_this.play();
	};
	_this.loadInfo = function(){
		name.text(musicFiles[index].name);
		author.text(musicFiles[index].author);
		CD.text(musicFiles[index].CD);
		picInfo.attr("src",musicFiles[index].people);
	};
	_this.play = function(){
		currentMusic = musicFiles[index];
		playMsg_H.text(musicFiles[index].name+"【"+musicFiles[index].author+"】");
		$(musicBox_H).attr("src",musicFiles[index].url);
		$("#musicList").children().each(function(i){
				$($("#musicList").children().get(i)).removeClass("liOn");
		}); 
		$($("#musicList").children().get(index)).addClass("liOn");
		_this.loadInfo();
		musicBox_H.play();
	};
	_this.init = function(){
		_this.loadMusic();
		var songheight = $("#songs").height();
		$("#infos").css("height",songheight+"px");
		playMode_H.change(function(){
			playMode = playMode_H.val();
		});
	};
}
$().ready(function(){
	myMusic = new MyMusic();
	myMusic.init();
	myMusic.nextMusic();
});
//音乐对象
function MusicObj(name,url,author,cd,people,hot,newSong){
	var _this = this;
	this.name = name;
	this.url = url;
	this.author = author;
	this.CD = cd;
	this.people = people;
	this.hot = hot;
	this.newSong= newSong;
}


页面文件,music.html
<!DOCTYPE html>    
<html>  
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
	<script type="text/javascript" src="js/jquery-1.10.1.min.js"></script> 
	<script type="text/javascript" src="js/music.js"></script> 
	<link href="css/music.css" rel="stylesheet" type="text/css"/>
</head> 
<body>
  
  <div class="playDiv">
  <div class="currentMusic"><span class="currentSpan">当前正在播放:<span id="playMsg"></span></span></div>
  <div>
  <audio id="musicBox" controls onended="myMusic.nextMusic()" style="width:99%;padding-left:2px;">    
	An audio clip from Johann Sebastian Bach.    
  </audio>
  </div>
  <div class="currentBtns">
	<div id="lastMusic" class="lastMusic">
		<img title="第一首歌曲" src="images/play/first.png" onclick="myMusic.fristMusic()"/>&nbsp;&nbsp;
		<img title="上一首歌曲" src="images/play/last.png" onclick="myMusic.lastMusic()"/>&nbsp;&nbsp;
		<img title="点击暂停" id="pop" src="images/play/pause.png" onclick="myMusic.playOrPause()" imgVal="0"/>&nbsp;&nbsp;
		<img title="下一首歌曲" src="images/play/next.png" onclick="myMusic.nextMusic()"/>&nbsp;&nbsp;
		<img title="最后一首歌曲" src="images/play/end.png" onclick="myMusic.end()"/>
		</div>
	<div id="play"></div>
	<div id="nextMusic"></div>
  </div>
  </div>
  <div style="width:100%">
	<div class="songStyle float_l">
	<h3>歌曲列表 <div class="float_r"><span class="playMode">
		<select id="playMode">
		<option value="1">全部循环</option>
		<option value="2">单曲循环</option>
		<option value="3">随机播放</option>
		</select>
	</span></div></h3>
	<div id="songs">
	<ul id="musicList">
	</ul>
	</div>
	</div>
	<div class="infoStyle float_l">
	<h3>歌曲信息</h3>
	<div style="width:100%" id="infos">
	<div class="info float_l">
	<div><strong><span>歌名:</span><span id="name"></span></strong></div>
	<div><strong><span>歌手:</span><span id="author"></span></strong></div>
	<div><strong><span>专辑:</span><span id="CD"></span></strong></div>
	</div>
	<div class="picInfo float_l">
		<img id="picInfo" style="width:100%;height:100%;"/>
	</div>
	</div>
	<ul id="musicList">
	</ul>
	</div>
  </div>
</body>  
</html>    

记住引入jquery.js,文中的图片均来自网络。
到这儿,基本都做好了:




今天续做了一个歌词播放的效果,不过还未完善好。
  • 大小: 46.5 KB
  • 大小: 44.1 KB
  • 大小: 79.9 KB
分享到:
评论

相关推荐

    网页音乐播放器 html5 实验报告 附代码

    网页音乐播放器基于HTML5技术,它利用了HTML5的新特性来实现音频播放功能,使得在浏览器中直接播放音乐成为可能,无需借助Flash等插件。这个实验报告着重介绍了如何构建一个基本的网页音乐播放器,并附带了相关的...

    jquery 制作的音乐播放器

    jQuery作为一个轻量级、高性能的JavaScript库,因其易用性和丰富的插件支持,成为了制作音乐播放器的理想选择。本篇文章将深入探讨如何使用jQuery制作一个功能完备的音乐播放器。 ### 1. jQuery基础 首先,我们...

    HTML5制作的一个单机版的音乐播放器

    在这个项目中,“HTML5制作的一个单机版的音乐播放器”利用了HTML5的一些核心特性,如Audio API,来实现一个无需服务器支持的本地音乐播放功能。 1. **HTML5 Audio API**:HTML5的Audio元素是实现音乐播放器的基础...

    html5 CSS网页音乐播放器及登录界面

    HTML5 CSS网页音乐播放器及登录界面是一种利用现代Web技术构建的交互式用户界面,它结合了HTML5、CSS和JavaScript的力量,为用户提供了一个既美观又功能丰富的音乐播放体验,同时具备用户登录功能。以下是对这些关键...

    Flash制作的音乐播放器

    《Flash制作的音乐播放器详解》 Flash技术在过去的网络时代中扮演了...尽管现代Web技术已经发展到HTML5和JavaScript,但了解Flash制作音乐播放器的过程,对于理解多媒体编程原理和交互设计仍然有着重要的参考价值。

    HTML5带背景音乐播放器代码.zip

    这个"HTML5带背景音乐播放器代码"是一个利用HTML5的Audio API开发的简单而实用的音乐播放器,旨在为网站添加背景音乐功能。在网页设计中,一个良好的背景音乐播放器可以提升用户体验,让用户在浏览网页时享受到听觉...

    用js/html5制作简易音乐播放器

    【标题】"用js/html5制作简易音乐播放器"揭示了我们要探讨的核心技术:JavaScript(简称js)和HTML5,以及如何结合它们来创建一个基本的音频播放功能。HTML5引入了新的`&lt;audio&gt;`标签,使得在网页上内嵌和控制音频变...

    原生html+js网页版简陋音乐播放器

    【标题】"原生html+js网页版简陋音乐播放器"揭示了这个项目的核心——一个基于HTML和JavaScript实现的简单网页音乐播放器。这样的播放器通常不依赖于任何外部库或框架,而是直接利用这两种语言的基础功能来完成音频...

    html网页音乐盒播放器

    2. CSS3样式设计: 为了使音乐播放器界面美观且易于操作,通常会利用CSS3来设计播放、暂停按钮,音量控制,进度条等组件的样式,以及动态效果,如播放状态的切换。 3. JavaScript编程: 用于处理用户交互,如点击播放...

    基于原生js和HTML5的Audio制作的一个音乐播放器.zip

    总结来说,基于原生js和HTML5的Audio制作音乐播放器涉及的知识点包括:HTML5 Audio元素的使用、JavaScript的DOM操作和事件监听、媒体API的运用、歌曲列表管理和播放控制、以及前端兼容性和响应式设计。通过这个项目...

    HTML5音乐播放器界面特效.zip

    HTML5音乐播放器界面特效是基于现代Web技术构建的一个交互性强、视觉效果丰富的网页应用。这个压缩包包含的资源主要用于创建一个集成了多种特效的音乐播放器界面,它结合了HTML5、CSS、JavaScript以及jQuery这四门...

    html5+css3制作小型音乐播放器音频播放特效源码.zip

    在这个“html5+css3制作小型音乐播放器音频播放特效源码.zip”压缩包中,我们很显然会找到一个使用HTML5的Audio API和CSS3动画技术实现的音乐播放器示例。 HTML5的Audio API是Web音频处理的核心,它允许开发者在...

    html5 mp3笑脸音乐播放器代码

    HTML5 MP3笑脸音乐播放器是一种利用HTML5的媒体元素(`&lt;audio&gt;`标签)以及JavaScript和CSS技术创建的互动式音乐播放器。这个播放器的设计特点是采用了笑脸作为界面元素,给用户带来友好的视觉体验。下面将详细介绍...

    Axure网易云音乐播放器.zip

    而利用Axure这款强大的原型设计工具,我们可以模拟出网易云音乐播放器的功能和界面,为产品设计提供直观的原型展示。本文将深入探讨如何使用Axure来创建一个网易云音乐播放器的原型。 Axure是一款高效且灵活的原型...

    HTML5+CSS3制作音频播放器

    在这个“HTML5+CSS3制作音频播放器”的项目中,我们将深入探讨如何利用这两者来构建一个具备打分功能和背景设置的音频播放器,以及如何实现歌曲列表的动态展示。 首先,HTML5引入了`&lt;audio&gt;`元素,使得在网页上嵌入...

    [Vue入门]音乐播放器的制作

    本项目中,我们将探讨如何利用HTML、JavaScript(主要使用Vue.js)来构建一个简易的音乐播放器,而无需CSS样式和图像资源。 首先,我们需要了解Vue.js的核心概念。Vue.js是一款轻量级的前端JavaScript框架,它以...

    HTML5可视化mp3音乐播放器代码.zip

    HTML5可视化mp3音乐播放器代码是一个利用现代Web技术实现的音乐播放器应用,它集成了音频播放功能和视觉效果,让用户体验到丰富的音乐播放体验。这个项目主要涉及的技术包括前端开发中的HTML5、CSS、JavaScript以及...

    audio.js制作音乐播放器特效.zip

    在本文中,我们将深入探讨如何使用`audio.js`库创建一个功能丰富的音乐播放器特效,同时结合CSS、JavaScript、jQuery和HTML5等技术。`audio.js`是一个强大的JavaScript库,它提供了一种简单的方式来实现跨浏览器的...

    jquery在线音乐播放器

    在本文档中,我们将详细讲解如何利用jQuery及其插件jPlayer来构建一个功能齐全的在线音乐播放器。 ### 一、搭建数据库结构 在线音乐播放器的核心是数据存储和管理。文档中提到的数据库表`songs`用于存储歌曲的基本...

    精品源码 / 网页模板 / 音乐播放器

    本案例中的"精品源码 / 网页模板 / 音乐播放器"是一个专门针对音乐播放功能的前端页面模板,旨在提供一个高科技且炫酷的用户体验。这个模板不仅能够展示音乐播放的基本功能,如播放、暂停、上一曲、下一曲,还可能...

Global site tag (gtag.js) - Google Analytics