`
gteam.yu
  • 浏览: 27826 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

html5音乐播放器(chrome测试通过)

阅读更多
html5出来已经很久了,众所周知html5支持播放音乐和视频,作为一个html5网页的开发者,一直都想做一个html5的音乐播放器,同时也增加对javascript的认识,我利用空闲的一段时间开发了一个javascript版本的html5播放器,由于马上又有事情做,这个版本只具备的一部分的功能,欢迎大家一起交流,完成所有的功能。
靠,发现我太唐僧了,不说废话直接上代码了
<!DOCTYPE html>
<!-- saved from url=(0087)file:///C:/Documents%20and%20Settings/zlyu/Desktop/MyTestFoler/Html/html5_player_4.html -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
button {
	width: 80px;
	height: 24px;
}

input[type="number"]{
	width: 100px;
	height: 24px;
}

ul{
	list-style:none;
}

li{
	list-style:none;
}

</style>
</head>
<body>
	<div id="operations">
		<div>
			<button type="button" id="add" name="add">Add</button>
		</div>
		<div>
			<button type="button" id="delete" name="delete">Delete</button>
			<input type="number" id="delNo" placeholder="music num">
		</div>
		<div>
			<button type="button" id="play" name="play">Play</button>
		</div>
		<div>
			<button type="button" id="stop" name="stop">Stop</button>
		</div>
   </div>
   <div>
		<ul id="listNode">
		</ul>
   </div>
   <script type="text/javascript">
   (function(window, undifined){
   
		var musicDiv = function(){
			
			this._musicList = document.getElementsByTagName('audio');
			
			this._musicEndedListener = function(){
				this.currentTime = 0;
				this.pause();
				var currentId = this.getAttribute("id");
				var arrId = currentId.split('_');
				var nextMusic = document.getElementById(arrId[0] + "_" + (parseInt(arrId[1]) + 1));
				if(nextMusic){
					nextMusic.play();
				}else{
					document.getElementById(arrId[0] + "_" + "1").play();
				}
			};
			
		};
		
		musicDiv.prototype = {
			
			initNo: function(startNo){
				var numSpan = null;
				var textNode = null;
				var audioNodes = document.getElementsByTagName('audio');
				for(var i = 1; i <= audioNodes.length; i++){
					numSpan = document.createElement('span');
					textNode = document.createTextNode("No. " + i);
					numSpan.appendChild(textNode);
					if(i > startNo){
						audioNodes[i - 1].parentNode.insertBefore(numSpan, audioNodes[i - 1]);
					}
				}
			},
			initEvent: function(){
				for(var i = 0; i < this._musicList.length; i++){
					this._musicList[i].removeEventListener('ended', this._musicEndedListener, false);
					this._musicList[i].addEventListener('ended',this._musicEndedListener);
				}
			}
		};
		
		
		var initMusic = function(){
			var div = new musicDiv;
			var audioNo = document.getElementsByTagName('span');
			div.initNo(audioNo.length);
			div.initEvent();
		}
		initMusic();
		
		var addMusic = function(){
			var currentNo = document.getElementsByTagName('audio').length + 1;
			var musicNode = null;
			var sourceNode = null;
			var liNode = null;
			var listNode = document.getElementById('listNode');
			var musicPath = prompt("Please copy the full path of music(mp3 only) in your disk:");
			if(musicPath){
				liNode = document.createElement('li');
				musicNode = document.createElement('audio');
				musicNode.setAttribute('id', 'music_' +  currentNo);
				musicNode.setAttribute('controls', 'controls');
				sourceNode = document.createElement('source');
				sourceNode.setAttribute('src', musicPath);
				sourceNode.setAttribute('type', 'audio/mpeg');
				musicNode.appendChild(sourceNode);
				liNode.appendChild(musicNode);
				listNode.appendChild(liNode);
				div = new musicDiv;
				div.initNo(currentNo);
				div.initEvent();
				console.log(musicPath);
			}
		};
		
		var delMusic = function(){
			var numText = document.getElementById('delNo');
			var musicList = document.getElementsByTagName('li');
			if(numText.value){
				var node = musicList[numText.value - 1];
				if(node){
					node.parentNode.removeChild(node);
					initMusic();
				}
			}
		};
		
		var notImplementException = function(){
			alert('coding...,please wait for next version');
		};
   
   
		var btnAdd = document.getElementById('add');
		btnAdd.onclick = addMusic;
		var btnDel = document.getElementById('delete');
		var btnPlay = document.getElementById('play');
		var btnStop = document.getElementById('stop');
		btnDel.onclick = delMusic;
		btnPlay.onclick = notImplementException;
		btnStop.onclick = notImplementException;
   })(window);
   </script>


</body></html>


应用说明:首先确保你已经安装了chrome,而且电脑上面有mp3格式的音乐。
进入页面之后点击add按钮,把mp3的全路径copy到对话框中,这样你的音乐就会出现在页面上了,点击一个播放,然后就会开始列表循环播放。
========================================分割线=========================
本次更新说明:
2011-12-19
暂时增加了del的功能,但是编号有一些错误还没有修改,希望大家一起做,把功能完成,同时也请UI高手来帮忙美化一下。

========================================分割线=========================
欢迎感兴趣的朋友一起开发,交流,共同提高。
效果图:


  • 大小: 21.6 KB
0
1
分享到:
评论

相关推荐

    html5 mp3交互式音乐唱机播放器动画特效

    5. 响应式设计:考虑到不同设备的屏幕大小和分辨率,一个好的HTML5音乐播放器应该具有响应式设计,能适应手机、平板和桌面电脑等各种设备。这可以通过媒体查询@media实现,根据设备特征调整布局和样式。 6. 跨...

    jQuery+HTML5类似百度音乐网页播放器代码

    插件描述:一款jQuery+HTML5类似百度音乐网页播放器代码免费下载,在HTML5盛行的今天,jQuery+HTML5取代了大量的程序开发工作,一款类似百度音乐播放器代码,功能灰常强大!支持火狐、IE9以上等支持HTML5+CSS3浏览器...

    网页侧边栏音乐播放器

    9. 兼容性测试:由于不同的浏览器可能对HTML5音频支持程度不同,需要进行跨浏览器的兼容性测试,确保在主流浏览器(如Chrome、Firefox、Safari、Edge)上都能稳定运行。 10. 错误处理:编写健壮的代码,处理可能...

    nodejs 客户端音乐播放器

    【Node.js客户端音乐播放器】 Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它让开发者可以在服务器端使用JavaScript编写程序。本项目是利用Node.js技术实现的一个客户端音乐播放器,特别适合对JavaScript...

    html5+css3+js移动端带歌词音乐播放器代码.zip

    《HTML5+CSS3+JS移动端带歌词音乐播放器代码详解》 在现代网页开发中,HTML5、CSS3和JavaScript已经成为构建交互式、富媒体应用程序的基石。本压缩包提供的代码实例是一个针对移动端设计的音乐播放器,它集成了歌词...

    一个很容易修改的网页音乐播放器

    网页音乐播放器是一种在线音频播放解决方案,它允许用户在网页上轻松播放、控制和享受音乐。这个特定的“容易修改的网页音乐播放器”设计得...通过深入理解这些技术,你可以创建出既美观又功能丰富的个性化音乐播放器。

    简单网页音乐播放器.zip

    最后,为了保证网页音乐播放器的兼容性,开发者可能需要对不同的浏览器进行测试,确保其在主流浏览器(如Chrome、Firefox、Safari等)上的表现一致。 综上所述,创建一个简单的网页音乐播放器需要综合运用HTML、CSS...

    jQuery MPlayer网站音乐播放器插件.zip

    通过以上介绍,我们可以看出jQuery MPlayer是一个强大且易用的音乐播放器插件,它利用jQuery简化了音频播放的复杂性,同时也提供了足够的灵活性供开发者进行二次开发。无论你是网页设计师还是前端开发者,jQuery ...

    electron开发-音乐播放器

    在本项目中,"electron开发-音乐播放器"是一个基于Electron框架构建的桌面应用程序,专为音乐爱好者设计。Electron是一个开源框架,允许开发者使用Web技术(如HTML、CSS和JavaScript)来创建跨平台的桌面应用。由于...

    基于Electron+Vue构建的一个桌面音乐播放器.zip

    5. **音频处理API**:项目是音乐播放器,因此会涉及Web Audio API或者其他的音频处理库,如howler.js,用于播放、控制音频流。 6. **用户交互设计**:理解如何利用Vue组件和指令来创建用户友好的音乐播放控制,如...

    ongaku:本地文件的 http 音乐播放器可通过 chrome tab 流式传输到 chromecast

    原曲音楽 一个独立的 Web 服务器,它运行在一个目录中,并提供一个简单的界面来播放带有 html5 的音乐文件。 这样做是为了使用 Chrome 的“投射此标签”功能轻松将音乐投射到 ChromeCast。 它使用go generate和...

    jQuery equalizer插件实现音乐均衡器(播放器)特效源码.zip

    解压后,可以查看HTML、CSS和JavaScript文件,了解插件的具体实现,并在自己的项目中进行仿照或修改,以实现个性化的音乐播放器效果。 总之,jQuery Equalizer插件是构建动态音乐播放器的一个强大工具,它将音乐的...

    响应式黑粉红音乐网站模板_HTML手机电脑网站_网页源码移动端前端js效果_H5模板_自适应css源码ui组件.zip

    10. **跨浏览器兼容性**:考虑到不同用户可能使用不同的浏览器,模板通常会经过测试,确保在主流浏览器(如Chrome、Firefox、Safari、Edge等)上都能正常运行。 这款响应式黑粉红音乐网站模板集成了现代网页设计的...

    音乐播放器列表组件响应式网页模板

    5. **音乐播放组件**:音乐播放器组件可能包含播放/暂停按钮、音量控制、进度条、歌曲列表等元素。这些组件需要通过JavaScript与HTML音频元素进行交互,实现播放状态的实时更新。 6. **用户体验**:一个好的响应式...

    婚庆企业html5网站模板

    2. **多媒体元素**:HTML5支持音频和视频的内联播放,模板中可能会有婚礼预告片、音乐播放器等模块,用于展示浪漫的婚礼瞬间和氛围。 3. **滑动效果与动画**:利用HTML5的Canvas或SVG元素,模板可以实现平滑的滑动...

    播放器一样的页面

    9. 兼容性测试:确保播放器页面在主流浏览器(如Chrome、Firefox、Safari、Edge)上的表现一致。 综上所述,“播放器一样的页面”是一个融合了美学设计和技术实现的网页应用,涉及HTML5、CSS3、JavaScript以及...

    静态的web网站代码测试用

    在IT行业中,静态Web网站是基于HTML、CSS和JavaScript等技术构建的,它们不依赖...对于"blog"、"zoom"和"music"这样的具体场景,还需要根据其特性进行针对性的测试,例如博客的评论功能、音乐播放器的音频处理等。

    python爬取音乐

    在这里,我们利用PyQT5设计了一个音乐播放器的界面,用户可以通过这个界面搜索、选择和播放喜欢的音乐。PyQT5提供了丰富的控件,如QLineEdit用于输入搜索关键词,QListWidget展示搜索结果,QPushButton实现按钮点击...

    长条形状的播放器代码.rar

    7. **浏览器兼容性**:考虑到不同的浏览器可能对某些JavaScript或CSS特性支持不同,测试播放器在各种主流浏览器上的表现是必要的,如Chrome、Firefox、Safari、Edge等。 8. **优化与调试**:在实际应用中,你可能...

    音乐网络播放器

    JavaScript是一种广泛用于Web开发的编程语言,特别适合创建交互式的网页元素,如音乐播放器。 首先,音乐网络播放器的核心功能包括播放、暂停、停止、前进、后退等基本控制。这些功能通常通过HTML5的Audio API来...

Global site tag (gtag.js) - Google Analytics