110 lines
4.8 KiB
Markdown
110 lines
4.8 KiB
Markdown
MKOnlineMusicPlayer V2.1
|
||
========
|
||
MKOnlineMusicPlayer 是一款开源的基于网易云音乐api的在线音乐播放器。具有音乐搜索、播放、下载、歌词同步显示、个人音乐播放列表同步等功能。
|
||
|
||
前端界面参照 QQ 音乐网页版进行布局,同时采用了流行的响应式设计,无论是在PC端还是在手机端,均能给您带来原生 app 般的使用体验。
|
||
|
||
### 相关链接
|
||
-----
|
||
**在线演示** [http://lab.mkblog.cn/music/](http://lab.mkblog.cn/music/)
|
||
|
||
**详细介绍** [http://mkblog.cn/757/](http://mkblog.cn/757/)
|
||
|
||
**GitHub** [https://github.com/mengkunsoft/MKOnlineMusicPlayer](https://github.com/mengkunsoft/MKOnlineMusicPlayer)
|
||
|
||
### 注意事项
|
||
-----
|
||
#### 关于API文件
|
||
由于网易云音乐官方封锁了国外的访问,因此本播放器的 api.php 在海外的空间上可能无法运行,具体表现为无法搜索歌曲,因此建议在国内空间使用本播放器(其实有个“你懂的”的功能,请自行挖掘)。
|
||
|
||
#### 关于兼容性
|
||
本播放器设计支持 IE9及以上的现代浏览器。并且已在 Chrome、firefox、IE11 等浏览器测试使用正常。
|
||
|
||
#### 关于版权
|
||
本播放器由 [mengkun(http://mkblog.cn)](http://mkblog.cn) 开发,您可以随意修改、使用、转载。使用或转载时`请务必保留出处`,抱拳了各位老铁们!
|
||
|
||
#### 关于歌曲
|
||
播放器中采用了 [网易云音乐(http://music.163.com/)](http://music.163.com/) 的 api,因此相对应的歌曲版权归网易云音乐所有。支持正版音乐,请使用官方版网易云。
|
||
|
||
#### 其它
|
||
作者很忙,非诚勿扰。欢迎提交 BUG 及好的建议,不欢迎一上来就问一些基础的东西及唠东唠西。
|
||
|
||
### 更新日志
|
||
-----
|
||
#### v2.1 `2017/3/20`
|
||
- 紧急修复部分浏览器下切换歌曲造成无限播放失败循环的 BUG
|
||
- 新增点击未加载完的播放列表弹出提示
|
||
- 新增搜索时弹出加载中动画
|
||
- 切换歌曲后进度条自动复位
|
||
- 优化歌曲外链显示方式,方便复制
|
||
- 优化封面图像加载大小
|
||
- 新增无歌词、歌词加载中提示
|
||
- 优化歌词展现方式
|
||
|
||
#### v2.0 Beta `2017/3/18`
|
||
- 所有代码均推翻重写,前端界面全新改版
|
||
- 完善对手机端的适配,新支持 IE9~IE11 浏览器
|
||
- 修复 IE11 下点击下载歌曲名字乱码的BUG
|
||
- 新增“正在播放”、“播放历史”列表功能
|
||
- 新增后台自定义播放列表功能,支持多种列表定义模式
|
||
- 新增本地记录用户设置及播放列表功能
|
||
- 进度条支持响应点击事件
|
||
|
||
#### v1.3 `未发布`
|
||
- 新增同步用户歌单功能
|
||
- 修复一些已知BUG
|
||
(因逻辑过于混乱,代码过于庞杂,此版本废弃)
|
||
|
||
#### v1.2 `未发布`
|
||
- 这个版本的存档神秘失踪,我也不记得有哪些改变。。
|
||
|
||
#### v1.1 `2016/10/27`
|
||
- 修复宽屏下背景覆盖缺失的BUG
|
||
- 修复打开页面后直接点击播放无效的BUG
|
||
- 修复EDGE浏览器点击下载时文件名为乱码的BUG
|
||
- 优化播放已下架的音乐,会给出无法播放的提示
|
||
- 修复歌词获取失败时无法清除原有歌词的BUG
|
||
- 暂停播放时停止歌词滚动,方便复制歌词
|
||
- 优化搜索内容为空时弹出提示
|
||
|
||
#### v1.0 `2016/10/25`
|
||
- 完成搜索并播放音乐功能
|
||
- 完成一键提取音乐外链功能
|
||
- 完成音乐下载功能
|
||
- 完成显示歌曲封面、歌词功能
|
||
|
||
|
||
### 开发文档[待完善]
|
||
-----
|
||
#### 播放列表DIY教程
|
||
本播放器支持后台自定义播放列表。打开 `js/musicList.js`,按照里面的说明对应修改即可。
|
||
|
||
#### 播放器DIY教程
|
||
除了自定义播放列表,本播放器还支持一些 DIY 设定,比如修改 api.php 文件的默认路径、修改搜索框的默认搜索内容等。具体请打开 `js/player.js` 查看
|
||
|
||
#### rem 变量表
|
||
程序中的rem数组用于存储全局变量,具体的成员(部分)及作用见下表:
|
||
|
||
| 变量名 | 用途 |
|
||
| ----------- | ----------- |
|
||
| rem.audio | audio dom |
|
||
| rem.playlist | 当前正在播放的播放列表编号 |
|
||
| rem.playid | 正在播放的这首歌在播放列表中的编号 |
|
||
| rem.dislist | 当前显示的列表的列表编号 |
|
||
| rem.loadPage | 搜索功能已加载的页码 |
|
||
| rem.wd | 当前的搜索词 |
|
||
| rem.uid | 当前已同步的用户的网易云 ID |
|
||
| rem.uname | 已登录用户的用户名 |
|
||
| rem.sheetList | 歌单容器操作对象 |
|
||
| rem.mainList | 歌曲列表容器操作对象 |
|
||
|
||
### 致谢
|
||
-----
|
||
#### 特别感谢 `网易云音乐`
|
||
|
||
#### 采用的开源模块
|
||
- **Jquery**:js主流开发框架 [http://jquery.com/](http://jquery.com/)
|
||
- **layer**:一款强大的web弹层组件 [http://layer.layui.com/](http://layer.layui.com/)
|
||
- **mCustomScrollbar**:jQuery自定义滚动条样式插件 [http://manos.malihu.gr/jquery-custom-content-scroller/](http://manos.malihu.gr/jquery-custom-content-scroller/)
|
||
- **Let's Kill IE6**:消灭IE [http://overtrue.me](http://overtrue.me)
|