共计 2492 个字符,预计需要花费 7 分钟才能阅读完成。
插件描述:一款基于 HTML5、Css3 的列表式音乐播放器,包含列表,音量,进度,时间,歌词展示以及模式等功能,不依赖任何库
SMusic 使用方法
这是一款基于 HTML5 以及 CSS3 的列表式音乐播放器,增加了列表播放,音量控制,播放进度,播放时间以及播放模式,上一曲,下一曲等功能,已增加歌词功能。采用原生 JavaScript 编写,不依赖任何库文件,兼容支持 html5 的浏览器。下载包中的代码已压缩。
可配置参数
参数名 | 类型 | 默认值 | 可选值 | 说明 |
---|---|---|---|---|
musicList | Array Object | [] | 自定义, 格式如[{title:‘标题’,singer:‘歌手’,cover:‘封面’,src:‘地址’}] | 媒体文件列表 |
defaultVolume | Number | .7 | 自定义,范围在 0 – 1 之间 | 初始化音量值 |
defaultIndex | Number | 0 | 自定义,范围 0- 列表长度 | 初始化播放索引 |
autoPlay[1.0.1 新增] | boolean | true | true or false | 是否自动播放 |
defaultMode[1.0.2 新增] | Number | 1 | 1:列表模式,2:随机模式,3:单曲循环 | 默认播放模式,随机模式优先于 defaultIndex |
callback[1.0.2 新增] | Function | function (obj) {} | 回调函数 | 返回当前播放媒体文件信息(Object) |
关于歌词
由于涉及 AJAX 请求,请在服务器环境下演示
目前只支持 UTF8 编码歌词文件,歌词形式如下:
[offset:0]
[00:00.80]车站 (Live) - 李健
[00:02.21]词:李健
[00:02.96]曲:竹内玛利亚
[00:04.43]
[00:37.57]车窗外恋人相拥
[00:42.62]还在难舍难离
[00:46.08]
[00:47.67]汽笛声突然响起123456789
由于歌词文件需要 AJAX 加载,目前,只能加载同域文件,如果需要跨域加载歌词,如远程歌词文件,则请自行修改源码(102 行)为 jsonp 请求,这里不会再做更新。
歌词每行高度如果更改(默认 30px),请同时修改 js 源码 356 行 var top = (i-1) * 30; //30 是每个 LI 的高度
播放器整体样式叫丑,请自行更改 CSS 文件,注意不要修改类名。
CSS
link rel="stylesheet" href="src/css/smusic.css"/>
HTML
div class="grid-music-container f-usn">
div class="m-music-play-wrap">
div class="u-cover">div>
div class="m-now-info">
h1 class="u-music-title">strong>标题 strong>small> 歌手small>h1>
div class="m-now-controls">
div class="u-control u-process">
span class="buffer-process">span>
span class="current-process">span>
div>
div class="u-control u-time">00:00/00:00div>
div class="u-control u-volume">
div class="volume-process" data-volume="0.50">
span class="volume-current">span>
span class="volume-bar">span>
span class="volume-event">span>
div>
a class="volume-control">a>
div>
div>
div class="m-play-controls">
a class="u-play-btn prev" title="上一曲">a>
a class="u-play-btn ctrl-play play" title="暂停">a>
a class="u-play-btn next" title="下一曲">a>
a class="u-play-btn mode mode-list current" title="列表循环">a>
a class="u-play-btn mode mode-random" title="随机播放">a>
a class="u-play-btn mode mode-single" title="单曲循环">a>
div>
div>
div>
div class="f-cb"> div>
div class="m-music-list-wrap">div>
div class="m-music-lyric-wrap">
div class="inner">
ul class="js-music-lyric-content">
li class="eof">暂无歌词... li>
ul>
div>
div>
div>
JS
script src="src/js/musicList.js">script>
script src="src/js/smusic.js">script>
script>
new SMusic({
musicList : musicList,
autoPlay : true,
defaultMode : 2,
callback : function (obj) {
console.log(obj);
}
});
script>
实例演示:
点击这里预览
源码下载:
点击这里下载
部分截图:
实例演示:
点击这里预览
源码下载:
点击这里下载
.
.
.
参考文献:
1、基于 Uni-app 前端框架的 SUMER UI3.0 组件库
2、uniapp 精仿支付宝 UI 界面源码下载,基于 SumerUI 一款仿支付宝 APP
3、uniapp 精仿微信源码,基于 SumerUI 一款仿微信 APP 应用
SUMER UI
【用于开发APP
、小程序
、H5 网站
、毕业设计
…】官网:https://www.sumer.work
原文地址: HTML5 CSS js 高颜值音乐播放器 SUMER Music,源码免费分享!一款基于 HTML5、Css3 的列表式音乐播放器,包含列表,音量,进度,时间,歌词展示以及模式等功能,不依赖任何库