一个支持自定义皮肤的 HTML5 音乐播放器
cPlayer 是一个基于 HTML5 的音乐播放插件,无需 jQuery 库支持即可调用出一个支持自定义皮肤的音乐播放器。此插件采用 ECMAScript6 编写,经 Babel 编译 ECMAScript5 后发布。!
- 支持自定义皮肤
- 提供 API 接口
- LRC 歌词显示
有关 cPlayer 的演示,请参考 cPlayer 演示页。
git clone https://github.com/caringor/cPlayer.git <div id="cm1"></div> <!-- ... --> <script type="text/javascript" src="cPlayer.min.js" id="cmScript"></script> var cm1 = new cMusic({ 'element': document.getElementById('cm1'), 'autoplay': false, 'mode': 'default', 'playlist': [ { 'title': '人生讃歌', 'artist': '茶色坚果巧克力', 'cover': 'http://p3.music.126.net/CRO_peQ7AN1e811BoKrQCw==/2327666116025235.jpg?param=500y500', 'file': 'https://m1.jixun.moe/26082159/192000/4975020ff8fcb2ecb26233cecdd80e9cb46bfb4655d3f8b4ca14e8894b4c13ac', 'lrc': 'lrc/人生讃歌.lrc' } ] }) //播放器容器 element: document.getElementById('cm1') //是否自动播放 autoplay: false //皮肤 (自带 default、vertical 两套皮肤) skin: 'default' //播放模式 mode: 'default' //初始音量 volume: 50 //播放列表 playlist: [ { 'title': '', // 歌曲标题 'artist': '', // 歌手名 'cover': '', // 封面文件地址 'file': '', // 音乐文件地址 'lrc': '' // 歌词文件地址 } ]
element.play()播放element.toggle()播放状态切换element.stop()停止element.prev()上一首element.next()下一首element.push()插入播放列表element.modeToggle()播放模式切换element.seek()跳到指定时间 (百分比)element.volume()设置音量 (百分比)element.mute()静音element.currTrack当前轨道element.destroy()销毁
皮肤是 cPlayer 的一个特性,不同于其它播放插件,cPlayer 的皮肤引擎相对宽松,每个按钮都被当成是独立的部件。这意味着您不仅可以修改样式表,还能对播放器的 HTML 结构进行任意调整,甚至移除掉某写不需要的按钮。
细心的您会发现,在 cPlayer JS 文件所处的 同级目录 下,有一个叫做 skins 的文件夹,里面的结构是这样的:
- skins
- default
- vertical
其中,default 和 vertical 这两个文件夹,我们称它做皮肤包,文件夹名与 skin 参数的值对应。cPlayer 会根据包内的 template.css、template.html 这两个文件进行渲染。亦就是说,一个正常的 cPlayer 主题包,需具备以上两个文件。
cPlayer 把每个按钮都当成是独立的部件,并根据部件标记来绑定与之对应的功能,部件标记格式为 {{ value }}。目前,cPlayer 提供以下部件,请根据需要把部件标记填到目标元素的 ID 标签内。
{{ TrackTitle }}歌曲名{{ TrackArtist }}歌手名{{ TrackCover }}专辑封面{{ TrackPlayedTime }}已播放时间{{ TrackDurationTime }}歌曲总长{{ ToggleBtn }}播放状态切换按钮{{ StopBtn }}停止按钮{{ PrevBtn }}上一曲按钮{{ NextBtn }}下一曲按钮{{ ModeBtn }}播放模式切换妞{{ MuteBtn }}静音按钮{{ Lyrics }}歌词区域{{ Seek }}进度条
{{ SeekPlayedPoint }}进度条拖拽触点
{{ SeekPlayed }}播放进度
{{ SeekLoaded }}缓冲进度{{ VolumeBar }}音量控制条
{{ VolumeFill }}音量百分比
- [增加] LRC 歌词支持
- [增加] 新增获取当前歌曲信息的 API
- [优化] 自带皮肤细节调整
- [优化] 现在可以通过 npm run build 指令进行编译了
- 初版发布
cPlayer 采用 MIT 许可证进行发布,有关 cPlayer 的使用问题欢迎提交 Issue 或使用以下方式与我联系。
- Telegram: @lkwing
- QQ: 474599981
用户交流群: 635767413
