QPLayer2

jsDelivr
jsDelivr
GitHub

A simple and compact HTML5 bottom hover music player.

Demos: https://moeshin.github.io/QPlayer2/demos

List Item

Key Type Must
name String Yes
artist Array | String No
audio URL No
cover URL No
lyrics LRC No
provider Provider Name No

Provider

Make loading data more flexible.

Callback Success param
audio url, cache
cover url, cache
lyrics lrc
/**
 * @param {Object}   current  Current list item.
 * @param {function} success  See the table.
 * @param {function} error    No param and only audio is available.
 */
function callback(current, success, error) {}

Load

You also can set them to true to callback when loading.

/**
 * @param {Object} current    Current list item.
 * @param {Object} callbacks
 * {
 *     success: function(name, ...arguments) {},
 *     error: function(name) {}
 * }
 */
function callback(current, callbacks) {}

Example 1: General callback

window.QPlayer = $.extend(true, window.QPlayer, {
    provider: {
        example: {
            lyrics: function(current, success) {
                if (current.lrc) {
                    $.ajax({
                        url: current.lrc,
                        success: function(lrc) {
                            if (lrc) {
                                success(lrc);
                            }
                        }
                    });
                }
            }
        }
    },
    list: [{
        name: 'Hello World',
        lrc: 'Hello World.lrc',
        provider: 'example'
    }]
});
window.QPlayer.list = [{
    name: 'Hello World',
    lrc: 'Hello World.lrc',
    provider: 'example'
}];

Example 2: Loading callback

window.QPlayer = $.extend(true, window.QPlayer, {
    provider: {
        example: {
            load: function(current, callbacks) {
                var name = current.name;
                callbacks.success('audio', name + '.mp3');
                callbacks.success('cover', name + '.png');
                $.ajax({
                    url: name + '.lrc',
                    success: function(lrc) {
                        if (lrc) {
                            callbacks.success('lyrics', lrc);
                        }
                    }
                });
            }
        }
    }
});
window.QPlayer.list = [{
    name: 'Hello World',
    provider: 'example'
}];

Default Provider

You can set QPlayer.defaultProvider to change default provider, default is default.

QPlayer.provider.default

If the list item has the lrc property set and it is url, will use ajax load it.

And you set QPlayer.provider.default.dataType, default is *, see jQuery.ajax() for details.

QPlayer.setColor

/**
* @param {Object|String} options A color or options.
*/
function setColor(options) {}

Options

  • all
  • switch
  • progress
  • list
  • lyrics

If all is set, you can set options other to false to filter.

QPlayer.init

It will be auto called with jQuery ready.

You can also call it after pjax.

Other Methods

  • load(index)
  • play(index, isPrevious)
  • next()
  • prevision()

Other Properties

  • isRotate
  • isShuffle

Related Projects

支付宝红包

支付宝

微信

标签: none

已有 43 条评论

  1. okok okok 访客 Firefox Windows 10 回复

    普通的php或html页面不是博客 怎么使用这款播放器啊

    1. MoeShin MoeShin 博主 Chrome Windows 10 回复

      回复 @okok

      引入 js 和 css,然后 window.QPlayer.list 设置歌曲,可以看看这几个 Demo:https://github.com/moeshin/QPlayer2/tree/master/demos

      1. okok okok 访客 Firefox Windows 10 回复

        回复 @MoeShin

        在请教一下 如何设置打开页面默认播放器是在收缩状态 不想让她展开

        1. MoeShin MoeShin 博主 Chrome Windows 10 回复

          回复 @okok

          默认就是不展开的,你应该是抄了 demos/script.js,这个这只是为了演示而展开。

          QPlayer-show:显示面板
          QPlayer-list-show:显示歌单
          QPlayer-lyrics-show:显示歌词

          1. 音乐 音乐 访客 Firefox Windows 10 回复

            回复 @MoeShin

            非常感谢你的回答我是小白,在慢慢研究研究谢谢
      2. okok okok 访客 Firefox Windows 10 回复

        回复 @MoeShin

        可以有简单点的 引用css和js后 直接输入网易云自己创建的歌单ID就可以的吗

        1. MoeShin MoeShin 博主 Chrome Windows 10 回复

          回复 @okok

          https://github.com/moeshin/QPlayer2/blob/master/demos/meto.html

          需要这个这个 js:provider/meto.js

          QPlayer.provider.meto.playlist(function (list) {
          QPlayer.list = list;
          }, '3136952023');

          3136952023 这个是私人雷达的歌单,换成其他的也行哦

          1. okok okok 访客 Firefox Windows 10 回复

            回复 @MoeShin

            真不好意思可以加你QQ下吗 真的太笨了QPlayer.provider.meto.playlist(function (list) {
            QPlayer.list = list;
            }, '3136952023');这段就没搞明白放哪里。。。
  2. 松鼠小 松鼠小 访客 Chrome Windows 8.1 回复

    请问如何实现音乐的自动播放呢?

    1. MoeShin MoeShin 博主 Chrome Windows 10 回复

      回复 @松鼠小

      QPlayer.isAutoplay = true
      https://github.com/moeshin/QPlayer2-Typecho/issues/2#issuecomment-783670024

  3. 轻声说 轻声说 访客 Chrome Mac OSX 回复

    博主,这个插件库能设置WordPress全局音乐播放吗,现在添加到WordPress网站中,做一个页面跳转音乐就停掉了。

    1. MoeShin MoeShin 博主 Chrome Android 11 回复

      回复 @轻声说

      有链接吗,我看看什么情况

  4. 啊啊啊啊 啊啊啊啊 访客 Chrome Windows 7 回复

    请问一下怎么修改头像?

    1. MoeShin MoeShin 博主 Chrome Windows 10 回复

      回复 @啊啊啊啊

      Gravatar 还是?

      1. 啊啊啊啊 啊啊啊啊 访客 Chrome Windows 7 回复

        回复 @MoeShin

        不能发照片我也说不清楚

  5. 哈喽沃德先生 哈喽沃德先生 访客 Chrome Windows 10 回复

    您好,感谢您的辛苦付出。现在是不是不能直接使用网易云歌单了?

    1. 哈喽沃德先生 哈喽沃德先生 访客 Chrome Windows 10 回复

      回复 @哈喽沃德先生

      搞定了,现在是每首歌单独去取网易歌曲ID。

      1. 哈喽沃德先生 哈喽沃德先生 访客 Chrome Windows 10 回复

        回复 @哈喽沃德先生

        尴尬了,meto 模式可以直接获取。

添加新评论

注意:已开启评论过滤器,无中文无法评论!
泡泡表情