从我刚开始接触前端的时候就想写一个能播放音乐的小程序,刚开始写的时候虽然可以放,但是确实很慢,很卡,有很多可以优化的地方。
最近在前一个版本的基础上重写了一个音乐播放器的插件,速度还可以吧

因为追求简约  所以只有播放暂停和下一曲的按钮,以及显示播放进度 (没怎么做兼容 ie10 以上)

播放时候的效果

toggle之后的效果   会显示当前播放进度

加载时候的效果

toggle之后的效果 加载时候的效果

演示地址 :http://daiwei.org/music/

github地址: https://github.com/IFmiss/music  , 记得给个 star 哦!!!

参数:

  • width:music宽度

  • height:music高度

  • hasBlur: 是否显示模糊效果

  • blur: 模糊效果的值

  • left:music left 的值

  • right:music right 的值

  • bottom: music bottom 的值

  • direction:左下还是右下角   bottomleft bottomright(left、right、bottom设置)

  • btnBackground:播放暂停按钮的背景色,不包括图标

  • iconColor:播放暂停按钮的图标颜色

  • hasSelect:是否可选择类型 (音乐的类型,在js中以静态数组的形式显示,可以的话从后台获取)

  • musicType:音乐类型   数组类型

  • hasAjax:是否是ajax请求数据,为false  则使用默认的source

  • source:音乐的数据信息  包括 name:名称,singer:歌手,url:音乐地址,img_url:封面地址

  • durationBg:canvas进度条的背景色

  • progressBg:canvas进度条当前状态的背景色
    方法

  • beforeMusicPlay:function(){}   在音乐播放之前触发 (首次加载的时候)

  • afterMusicLoading:function(){} 在音乐加载成功 可播放之前

  • musicChanged:function(ret){}     音乐切换之后,播放结束 或者点击下一首触发   返回值:index:音乐索引,data:所有的music数据,url:音乐地址

  • getMusicInfo:function(ret){}    获取所有音乐的信息

  $api.music({
hasAjax:false,
musicChanged:function(ret){
var data = ret.data;
var index = ret.index;
var imageUrl = data[index].img_url; var music_bg = document.getElementById('music-bg');
music_bg.style.background = 'url('+imageUrl+')no-repeat';
music_bg.style.backgroundSize = 'cover';
music_bg.style.backgroundPosition = 'center 30%';
}
});

$api  可以在music.js倒数第二行更改你想要的名称

简约的HTML5音乐播放器插件的更多相关文章

  1. js插件---10个免费开源的JS音乐播放器插件

    js插件---10个免费开源的JS音乐播放器插件 一.总结 一句话总结:各种插件都有很多,多去找. 二.js插件---10个免费开源的JS音乐播放器插件 亲测可用 音乐播放器在网页设计中有时候会用到, ...

  2. 4个小时实现一个HTML5音乐播放器

    技术点:ES6+Webpack+HTML5 Audio+Sass 这里,我们将一步步的学到如何从零去实现一个H5音乐播放器. 首先来看一下最终的实现效果:Demo链接 接下来就步入正题: 要做一个音乐 ...

  3. 小型音乐播放器插件APlayer.js的简单使用例子

      本篇博客将会给出一个小型音乐播放器插件APlayer.js的使用例子.关于APlayer.js的具体介绍和Github地址,可以参考: https://github.com/MoePlayer/A ...

  4. 10个免费开源的JS音乐播放器插件

    点这里 音乐播放器在网页设计中有时候会用到,比如一些时尚类.音乐或影视类等项目,但这些 网页播放器 插件比较少见,所以这里为大家整理一个集合,也许会有用到的时候. 下面整理的播放器有些是支持自适应的, ...

  5. jqm视频播放器,html5视频播放器,html5音乐播放器,html5媒体播放器,video开展demo,html5视频播放演示示例,html5移动视频播放器

    最近看到很多有用的论坛html5视频播放的发展,音乐播放功能,大多数都在寻找答案.所以,我在这里做一个demo.对于大家互相学习.html5开发越来越流行,至于这也是一个不可缺少的一部分的视频. 如何 ...

  6. HTML5项目笔记4:使用Audio API设计绚丽的HTML5音乐播放器

    HTML5 有两个很炫的元素,就是Audio和 Video,可以用他们在页面上创建音频播放器和视频播放器,制作一些效果很不错的应用. 无论是视屏还是音频,都是一个容器文件,包含了一些音频轨道,视频轨道 ...

  7. 使用Audio API设计绚丽的HTML5音乐播放器

    HTML5 有两个很炫的元素,就是Audio和 Video,可以用他们在页面上创建音频播放器和视频播放器,制作一些效果很不错的应用. 无论是视屏还是音频,都是一个容器文件,包含了一些音频轨道,视频轨道 ...

  8. 用<audio>标签打造一个属于自己的HTML5音乐播放器

    上一章节,我们刚刚讲了<video>标签,今晚,我们讲的是<audio>标签,这两个东东除了表示的内容不一样以外,其他的特性相似的地方真的太多了,属性和用法几乎一样,也就说,如 ...

  9. 一款好看+极简到不行的HTML5音乐播放器-skPlayer

    Demo: github skPlayer在线预览 预览: 单曲循环模式预览: 使用方法: 方式1:NPM npm install skplayer 方式2:引入文件 引入css文件: <lin ...

随机推荐

  1. 转义字符及URI编码

    URL中的转义字符 当URL的参数中出现诸如+,空格,/,?,%,#,&,=等特殊字符串符号时,因为上述字符有特殊含义,导致服务器端无法正确解析参数. 解决办法:将这些字符转化成服务器可以识别 ...

  2. 【Spark2.0源码学习】-6.Client启动

    Client作为Endpoint的具体实例,下面我们介绍一下Client启动以及OnStart指令后的额外工作 一.脚本概览      下面是一个举例: /opt/jdk1..0_79/bin/jav ...

  3. Spring Controller单元测试

    SpringMVC controller测试较简单,从功能角度划分,可分为两种.一种是调用请求路径测试,另一种是直接调用Controller方法测试. 调用请求路径测试 通过请求路径调用,请求需要经过 ...

  4. Linux网络服务01——Linux网络基础设置

    Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...

  5. sql定时自动备份(定时作业)

    第一步: 右键启动"SQL Server 代理"

  6. spring异常处理器

    一.本篇文章旨在讨论异常处理器: 1.因为异常处理器在实战中通常用来处理开发人员自定义的运行时异常,所以如果要了解如何自定义运行时异常,请自行搜索相关资料. 2.本文的demo用IndexOutOfB ...

  7. 一天搞定CSS:css选择器--07

    选择器:是指选择标签的方法 1.选择器类型 2.id选择器 代码演示 <!DOCTYPE html> <html> <head> <meta charset= ...

  8. 有关typename

    为了避免潜在的语法解析二义性,你需要在从属于形式类型参数的类型名前面使用typename,这样的类型被称为从属类型(dependent type) (摘自effective STL)

  9. 【数据库】Mean web开发 03-MongoDB客户端管理工具NoSQL Manager for MongoDB的使用

    简介 Mean是JavaScript的全栈开发框架.更多介绍 用MongoDB实现持久数据的存储是Mean Web全栈开发中的一部分. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非 ...

  10. JSP手动注入 全

    检测可否注入 http://****.house.sina.com.cn/publics/detail.jsp?id=7674 and 1=1 (正常页面) http://****.house.sin ...