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. small_xu small_xu 访客 Chrome Windows 10 回复

    您好,Qplayer网易云似乎无法使用了

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

      回复 @small_xu

      可以的,下载源码包使用 meto.html 中的 demo,可以参考我的,我已经改完了,感谢作者辛苦付出。

  2. 阁主博客 阁主博客 访客 Chrome Windows 10 回复

    这插件不错,改天有空也放我博客上.谢谢分享!

    1. MoeShin MoeShin 博主 Chrome Mac OSX 回复

      回复 @阁主博客

      https://github.com/moeshin/QPlayer2-ZBlog<img class="emoji" 假装有中文="" src="https://moeshin.com/usr/themes/Littlehands/emoji/paopao/2.png">

  3. 松鼠小 松鼠小 访客 Chrome Windows 10 回复

    希望大佬开发一下wordpress插件!谢谢啦!

    1. MoeShin MoeShin 博主 Chrome Mac OSX 回复

      回复 @松鼠小

      https://github.com/moeshin/QPlayer2-WordPress

      1. 松鼠小 松鼠小 访客 Chrome Windows 8.1 回复

        回复 @MoeShin

        太棒了!谢谢博主啦(๑‾ ꇴ ‾๑)

      2. 阁主博客 阁主博客 访客 Chrome Windows 10 回复

        回复 @MoeShin

        需要自己去改一下版本

      3. 阁主博客 阁主博客 访客 Chrome Windows 10 回复

        回复 @MoeShin

        哈哈,似乎我这边有点小问题,具体看链接https://pic.baixiongz.com/2020/06/27/eef6c8f8127d9.png

        1. MoeShin MoeShin 博主 Chrome Mac OSX 回复

          回复 @阁主博客

          我适配的是最新版的,应该不会差太多

添加新评论

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