HTML5音乐播放器(最新升级改造加强版)
最近么,单位里面么老不顺心的,公司一直催要程序员要PHP,然后本宅好不容易推荐了一个,我日嘞,最后待遇变成1.3,吾师最后也同意1.3W,然后还说要考虑。。。
尼玛,4年多5年不到一点的工作经验,前端,后端PHP都会,标准全栈工程师!在支付宝混过1年。。我的领路人兼前端PHP启蒙老师。。。杀人的心都有了,搞得我也想离职了
然后么,我也被搞得没有动力,没有动力。。。最后搞了下面那个。。。。参考了草明的播放器(就是LOW)
https://github.com/YanMr/H5Player
Low的也是不要不要的....
最后这边瞅瞅,那边翻翻,搞了下面这个玩意

这个是偶对上次的那个播放器的升级改造加强版。。。各种改,今天正好闲的蛋疼搞一下。。。
之前的播放器被喷的各种LOW,连个左右切换都没搞好,搞个毛啊!。。。
以及对我没有妹子的同情,到现在还是个单身狗,更有同事调戏我,让我唱
Single dog, single dog, single everyday.
See AV, hit the plane, they're doing all day.
Hey!
Single dog, single dog, why not be a gay?
No more wait,
no more afraid,
make yourself a gay!
。。。没办法,偶是一个有追求的程序员。偶最求的是代码的极致,效果的最佳。。吾孤高,你们不懂我的寂寞!!!
好了吐槽完毕!!!首先吗,先亮一段代码给大家瞅瞅
<div class="Home">
<div class="container clearfix">
<div class="box HomeHeader">
<div class="title">
<h1 id="sing-name">On My Own</h1>
<p></p>
</div>
<div class="musicBox clearfix">
<div class="MusicPlayBox">
<div class="clearfix">
<div class="MusicPlayPic"><img src="img/pic/tokyo.jpg" id="MusicPhoto" class="MusicPhoto" /></div>
<div class="MusicSystem">
<h3 id="sing-singer">ルシュカ </h3>
<p>专辑简介:TVアニメ『東京喰種』のオリジナル・サウンドトラック。アニメ1期『東京喰種』に加え、2期『東京喰種√A』のBGMも収録。BGM全楽曲は、TVドラマ『マルモのおきて』などを手掛けたクリエイター“やまだ豊”が担当。彼のピアノから生まれるその“過激”で“琴線に触れる繊細なメロディー”が、アニメの世界観を増幅させる。《、</p>
</div>
</div>
<div class="MusicPlayCenter">
<div class="MusicPlayButton clearfix"> <a id="Playleft" class="glyphicons glyphicons-rewind fl"></a> <a id="PLAY" class="glyphicons glyphicons-play fl"></a> <a id="Playright" class="glyphicons glyphicons-forward fl"></a> <a href="" class="glyphicons glyphicons-volume-up fl"></a>
<div id="voiceSlider" class="Progress fl" style="margin:13px 0 0 10px;">
<div class="pace" style="width: 80%;"></div>
<a href="javascript:void(0);" style="left: 80%;"></a> </div>
</div>
<div class="Progress" id="MusicProgress">
<div style="width: 0%;" class="pace"></div>
<a style="left: 0%;" href="javascript:void(0);"></a> </div>
<audio id="audio"></audio>
</div>
</div>
<div class="MusicBoxWord">
<ul>
<li>Darkness falls on another day</li>
<li>And the light just seems so far away</li>
<li>Am I here all alone</li>
<li>Because it just feels so cold</li>
<li>Oh~so cold</li>
<li>Is there more than what meets the eyes?</li>
<li>Something higher keeping me alive</li>
<li>Maybe hope buried deep within</li>
<li>Here's what needed to began again </li>
<li>Now I must believe in something I can not see for now</li>
<li>I am「on my own」</li>
<li>It's my will with all my might</li>
<li>To stay strong without a fight</li>
<li>I'm so lost but not afraid</li>
<li>I've been broken and raise again</li>
<li>Don't give up, I've come this far</li>
<li>Know what's right in my heart</li>
<li>I'll get back to my home</li>
<li>And for now I am「on my own」</li>
<li>It's my will with all my might</li>
<li>To stay strong without a fight</li>
<li>I'm so lost but not afraid</li>
<li>I've been broken and raise again</li>
<li>Don't give up, I've come this far</li>
<li>Know what's right in my heart</li>
<li>I'll get back to my home</li>
<li>And for now I am「on my own」</li>
<li>I am on「on my own」</li>
</ul>
</div>
</div>
<div class="LightList">
<ul class="clearfix">
<li><i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i></li>
<li><i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i></li>
<li><i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i></li>
<li><i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i></li>
<li><i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i></li>
<li><i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i></li>
<li><i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i></li>
<li><i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i></li>
<li><i class="i-1"></i> <i class="i-2"></i> <i class="i-3"></i> <i class="i-4"></i> <i class="i-5"></i> <i class="i-6"></i> <i class="i-7"></i></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="Main"></div>
<div class="Aside">
<div class="Wanted"><img src="img/wanted.png" width="100%" /></div>
</div>
</div>
</div>
实现申明歌词同步这个问题我有空搞一下。。。没办法,我觉得先要把一首歌听一遍然后一个个time搞出来要疯掉了

然后下面的那个LightList我这个玩意嘛,我承认是看到LOL 4周年的页面发现他的素材不错搞来用了

css3的一个小动画
@keyframes lightAni1 { 0% {
opacity: 0.5;
transform: translateY(0px);
}
50% {
opacity:;
transform: translateY(-50px);
}
100% {
opacity:;
transform: translateY(-100px);
}
}
@keyframes lightAni1 { 0% {
opacity: 0.5;
transform: translateY(0px);
}
50% {
opacity:;
transform: translateY(-50px);
}
100% {
opacity:;
transform: translateY(-100px);
}
}
@keyframes lightAni2 { 0% {
opacity: 0.5;
transform: translate(0px, 0px);
}
50% {
opacity:;
transform: translate(-10px, -50px);
}
100% {
opacity:;
transform: translate(-20px, -100px);
}
}
@keyframes lightAni2 { 0% {
opacity: 0.5;
transform: translate(0px, 0px);
}
50% {
opacity:;
transform: translate(-10px, -50px);
}
100% {
opacity:;
transform: translate(-20px, -100px);
}
}
@keyframes lightAni3 { 0% {
opacity: 0.5;
transform: translate(0px, 0px);
}
50% {
opacity:;
transform: translate(10px, -50px);
}
100% {
opacity:;
transform: translate(20px, -100px);
}
}
@keyframes lightAni3 { 0% {
opacity: 0.5;
transform: translate(0px, 0px);
}
50% {
opacity:;
transform: translate(10px, -50px);
}
100% {
opacity:;
transform: translate(20px, -100px);
}
}
好了,小东西就这点了。。。
接下来么先搞个数组列表了,把要的东西先拿出来玩玩
window.onload=function(){
var MusicList = [
{ "name":"On My Own","singer":"ルシュカ" , "src":"mp3/OnMyOwn.mp3" ,"pic":"img/pic/tokyo.jpg","BigPic":"img/pic/tokyo.jpg" },
{ "name":"MEMORIA","singer":"藍井エイル" , "src":"mp3/MEMORIA.mp3" ,"pic":"img/pic/tokyo.jpg","BigPic":"img/pic/tokyo.jpg" },
{ "name":"OnMyOwn" ,"singer":"ルシュカ" , "src":"mp3/OnMyOwn.mp3" ,"pic":"img/pic/tokyo.jpg","BigPic":"img/pic/tokyo.jpg" },
];
然后么设置了点东西
var player = {
nowIndex: 0, //索引初始化
PlayButton: $("#PLAY"), //播放按钮
cover: $("#MusicPhoto"), //封面图
HomeBG: $(".HomeHeader"),//背景图
SongWord: $(".MusicBoxWord"),//歌词
state: 0, // 0-暂停 1-播放
audio: $("#audio").get(0),
绑定了点东西
bind: function () {
//绑定按钮
//播放或暂停
var obj = this;
this.PlayButton.click(function () {
obj.changeState(obj.state ? 0 : 1);
});
//设置声音
$("#voiceSlider").click(function (ex) {
var percent = (ex.clientX - $(this).offset().left) / $(this).width();
obj.setVoice(percent);
});
obj.setVoice(1.0);
//设置进度
$("#MusicProgress").click(function (ex) {
var percent = (ex.clientX - $(this).offset().left) / $(this).width();
obj.setProgress(percent, false);
});
//上一首
$("#Playleft").click(function () {
obj.nowIndex--;
if (obj.nowIndex < 0) obj.nowIndex = obj.list.length - 1;
obj.playSing(obj.nowIndex);
});
//下一首
$("#Playright").click(function () {
obj.nowIndex++;
if (obj.nowIndex >= obj.list.length) obj.nowIndex = 0;
obj.playSing(obj.nowIndex);
player.audio.play();
});
//绑定事件 - 播放时间改变
this.audio.ontimeupdate = function () { obj.timeChange(); }
//播放结束
this.audio.onended = function () { obj.singEnd(); }
//加载第一项
this.loadSing(this.nowIndex);
},
最后么。。。大家还是自己看demo把
HTML5音乐播放器(最新升级改造加强版)的更多相关文章
- 4个小时实现一个HTML5音乐播放器
技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐 ...
- jqm视频播放器,html5视频播放器,html5音乐播放器,html5媒体播放器,video开展demo,html5视频播放演示示例,html5移动视频播放器
最近看到很多有用的论坛html5视频播放的发展,音乐播放功能,大多数都在寻找答案.所以,我在这里做一个demo.对于大家互相学习.html5开发越来越流行,至于这也是一个不可缺少的一部分的视频. 如何 ...
- HTML5项目笔记4:使用Audio API设计绚丽的HTML5音乐播放器
HTML5 有两个很炫的元素,就是Audio和 Video,可以用他们在页面上创建音频播放器和视频播放器,制作一些效果很不错的应用. 无论是视屏还是音频,都是一个容器文件,包含了一些音频轨道,视频轨道 ...
- 使用Audio API设计绚丽的HTML5音乐播放器
HTML5 有两个很炫的元素,就是Audio和 Video,可以用他们在页面上创建音频播放器和视频播放器,制作一些效果很不错的应用. 无论是视屏还是音频,都是一个容器文件,包含了一些音频轨道,视频轨道 ...
- 简约的HTML5音乐播放器插件
从我刚开始接触前端的时候就想写一个能播放音乐的小程序,刚开始写的时候虽然可以放,但是确实很慢,很卡,有很多可以优化的地方.最近在前一个版本的基础上重写了一个音乐播放器的插件,速度还可以吧 因为追求简约 ...
- 用<audio>标签打造一个属于自己的HTML5音乐播放器
上一章节,我们刚刚讲了<video>标签,今晚,我们讲的是<audio>标签,这两个东东除了表示的内容不一样以外,其他的特性相似的地方真的太多了,属性和用法几乎一样,也就说,如 ...
- 一款好看+极简到不行的HTML5音乐播放器-skPlayer
Demo: github skPlayer在线预览 预览: 单曲循环模式预览: 使用方法: 方式1:NPM npm install skplayer 方式2:引入文件 引入css文件: <lin ...
- HTML5音乐播放器
//HTML5部分 <a href="javascript:void(0);" onclick="getCurrentTime('firefox');"& ...
- 简单的HTML5音乐播放器(带歌词滚动)
// // 0) { this.lrcArr.push(item); } } frag = document.createDocumentFragment(); for(i = 0,len = t ...
随机推荐
- 【bzoj2104】 K-th Number
http://poj.org/problem?id=2104 (题目链接) 题意 求区间第k大数. Solution1 主席树裸题. 主席树当时我学是学的要死,那个时候不晓得百度出什么bug了,搜个主 ...
- hdu5187 奇怪题
本来很水的,答案就是(2^n)-2,但是写坑了QAQ 因为原题要求答案要mod P,一开始我是这么干的: LL ans=pow_mod(,N,P); ans=(ans-)%P; ) ans=%P; p ...
- 你应该了解Nginx的7个原因
Nginx ("engine x")是一个高性能的HTTP和反向代理服务器,也是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 1 负载均衡实 ...
- nginx添加proxy_cache模块做缓存服务器
业务需求nginx对后端tomcat(静态文件)做缓存 减轻后端服务器的压力 # nginx-1.6.2.tar.gz ngx_cache_purge-2.3.tar.gz #编译安装 ./conf ...
- Myeclipse 加载ojdbc14.jar步骤
目的:加载驱动程序,需要找到驱动的具体位置,就是找到其驱动的类名,Class.forName("oracle.jdbc.driver.OracleDriver");//加载并注册驱 ...
- hihocoder #1327
传送门 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个只包含小写字母'a'-'z'的字符串 S ,你需要将 S 中的字符重新排序,使得任意两个相同的字符不连在一 ...
- Python基本数据类型之set
一.定义 set是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键.集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小), ...
- 常见linux命令释义(第二天)
查看磁盘与目录的容量. df 与du df 是英语Disk Free的意思.磁盘空余. df -h -h中h指的是一human(人类)的角度,即用GB,MB的格式显示.这个比较常用,还有其他的选项 ...
- linux中运维相关命令
1.awk 可以参考:http://www.itshouce.com.cn/linux/linux-awk.html 1.1 常见语法 cat test.txt | awk 'BEGIN{print ...
- JavaWeb---总结(十三)使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...