QPlayer2 一款简洁小巧的HTML5底部悬浮音乐播放器
QPLayer2
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
			赏
			

 
		
		        
    
支付宝红包

支付宝

微信

您好,Qplayer网易云似乎无法使用了
回复 @small_xu:
可以的,下载源码包使用 meto.html 中的 demo,可以参考我的,我已经改完了,感谢作者辛苦付出。
这插件不错,改天有空也放我博客上.谢谢分享!
回复 @阁主博客:
https://github.com/moeshin/QPlayer2-ZBlog<img class="emoji" 假装有中文="" src="https://moeshin.com/usr/themes/Littlehands/emoji/paopao/2.png">
希望大佬开发一下wordpress插件!谢谢啦!
回复 @松鼠小:
https://github.com/moeshin/QPlayer2-WordPress
回复 @MoeShin:
太棒了!谢谢博主啦(๑‾ ꇴ ‾๑)
回复 @MoeShin:
需要自己去改一下版本
回复 @MoeShin:
哈哈,似乎我这边有点小问题,具体看链接https://pic.baixiongz.com/2020/06/27/eef6c8f8127d9.png
回复 @阁主博客:
我适配的是最新版的,应该不会差太多