├── screenshot.jpg ├── hotSearch.txt ├── .gitignore ├── LICENSE ├── README.md ├── eraser.php ├── index.html ├── playList.txt ├── APlayer.min.js ├── app └── APlayer.min.js └── Meting.php /screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifankohome/music-spider/HEAD/screenshot.jpg -------------------------------------------------------------------------------- /hotSearch.txt: -------------------------------------------------------------------------------- 1 | {"\u65e0\u804a\u4eba":1,"\u7fbd\u6bdb":3,"\u4e5d\u5f20\u673a":8,"\u83ca\u82b1\u53f0":7} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Example user template template 3 | ### Example user template 4 | 5 | # IntelliJ project files 6 | .idea 7 | *.iml 8 | out 9 | gen 10 | .gitignore 11 | .idea/.name 12 | .idea/copyright/ 13 | .idea/encodings.xml 14 | .idea/misc.xml 15 | .idea/modules.xml 16 | .idea/music-spider.iml 17 | .idea/workspace.xml 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 lifanko lee 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Music-spider 橡皮音乐 2 | 3 | # 此版本不再升级维护!!!新版本地址:https://gitee.com/lifanko/music-spider 4 | 5 | ### Introduction 6 | 7 | 音乐播放器/下载器,歌曲库:网易 + 酷狗 + QQ + 虾米,合称中华曲库 8 | 9 | ### Feature 10 | 11 | + HTML5 Player 12 | + Lyric Display 13 | + 180px Album Display 14 | + Hot Search Word Display 15 | + Lyric Spacing Auto Adjust 16 | + Music Download 17 | 18 | ### Essential Code Quote 19 | 20 | Meting.php by https://github.com/metowolf/Meting 21 | 22 |

23 | Meting 24 |

25 | 26 | --- 27 | 28 | APlayer.min.js https://github.com/MoePlayer/APlayer 29 | 30 |

31 | ADPlayer 32 |

APlayer

33 | 34 | ### Develop 35 | 36 | Both Meting.php and Aplayer.min.js have been modified, the original author's code may not work. 37 | 38 | ### Android App 39 | v1.0.0 2019/03/27 http://A6051308906702.qiniucdn.apicloud-system.com/5c3442f721fd99136f15939d7974667f_d 40 | 41 | v0.0.5 2018/01/23 http://7zfrwi.com1.z0.glb.clouddn.com/a951283e54427526aa3b4bb79385e21f_d 42 | 43 | v0.0.3 2017/12/16 http://7zfrwi.com1.z0.glb.clouddn.com/31081cc294b92a4377be7b40f53235c2_d 44 | 45 | v0.0.1 2017/12/14 http://7zfrwi.com1.z0.glb.clouddn.com/2e431f1e27b7b807c72b43ca0df20df9_d 46 | ``` 47 | /app/APlayer.min.js 适用于移动app开发 48 | ``` 49 | 50 | ### Alternative 51 | 52 | No_CSS_Version: https://github.com/lifankohome/music-spider/tree/No_CSS_Version 53 | 54 | ### Demo 55 | 56 | https://www.lifanko.cn/music/ 57 | 58 | ![示例截图](https://github.com/lifankohome/music-spider/blob/master/screenshot.jpg?raw=true) 59 | -------------------------------------------------------------------------------- /eraser.php: -------------------------------------------------------------------------------- 1 | format(true); // 启用格式化功能 15 | 16 | function jsonKeyClear($json) 17 | { //去掉jsonKey的引号,适应js数据格式 18 | $json = preg_replace('/"(\w+)"(\s*:\s*)/is', '$1$2', $json); //去掉key的双引号 19 | return $json; 20 | } 21 | 22 | switch (getParam('type')) { 23 | case 'playList': 24 | $list = saveInfo('playList'); 25 | echo jsonKeyClear($list); 26 | 27 | break; 28 | case 'search': // 搜索歌曲 29 | $s = getParam('name'); // 歌名 30 | $limit = getParam('count', 15); // 每页显示数量 31 | $pages = getParam('pages', 1); // 页码 32 | 33 | $data = $Eraser->search($s, $pages, $limit); 34 | 35 | $arr = json_decode($data, true); 36 | 37 | $songList = array(); 38 | 39 | foreach ($arr as $value) { 40 | $url = json_decode($Eraser->url($value['url_id']), true)['url']; 41 | $pic = json_decode($Eraser->pic($value['pic_id']), true)['url']; 42 | $lrc = json_decode($Eraser->lrc($value['lrc_id']), true)['lyric']; 43 | 44 | $name = $value['name']; 45 | $artist = $value['artist'][0]; 46 | 47 | $song = ['title' => $name, 'author' => $artist, 'url' => $url, 'pic' => $pic, 'lrc' => $lrc]; 48 | 49 | array_push($songList, $song); 50 | } 51 | 52 | $list = json_encode($songList); 53 | 54 | echo jsonKeyClear($list); 55 | 56 | if (count($songList)) { //搜索有效时才进行记录 57 | recordHotSearch($s, $list); //搜索词记录 58 | } 59 | 60 | break; 61 | case 'hotSearch': //获取热搜词 62 | if (empty($max = getParam('max'))) { //显示的关键词数量 63 | $max = 10; 64 | } 65 | 66 | $jsonHotSearch = saveInfo('hotSearch'); 67 | if (!empty($jsonHotSearch)) { 68 | $arrHotSearch = json_decode($jsonHotSearch, true); //解析为数组格式 69 | arsort($arrHotSearch); //按从多到少排序 70 | $arrHotSearch = array_keys($arrHotSearch); //将关键词(键)保存为新数组 71 | 72 | $hotWordNum = count($arrHotSearch); 73 | for ($i = 0; $i < ($hotWordNum > $max ? $max : $hotWordNum); $i++) { //最多显示$max个热搜词 74 | echo "
  • {$arrHotSearch[$i]}
  • "; 75 | } 76 | } else { //文件为空 77 | echo "
  • "; 78 | } 79 | 80 | break; 81 | default: 82 | echo '橡皮音乐-接口未匹配'; 83 | } 84 | 85 | function getParam($key, $value = '') 86 | { 87 | return trim($key && is_string($key) ? (isset($_POST[$key]) ? $_POST[$key] : (isset($_GET[$key]) ? $_GET[$key] : $value)) : $value); 88 | } 89 | 90 | function recordHotSearch($hotWord, $list) 91 | { 92 | $jsonHotSearch = saveInfo('hotSearch'); 93 | 94 | if (!empty($jsonHotSearch)) { 95 | $arrHotSearch = json_decode($jsonHotSearch, true); //解析为数组格式 96 | if (array_key_exists($hotWord, $arrHotSearch)) { //有记录则加一 97 | $arrHotSearch[$hotWord] += 1; 98 | 99 | if ($arrHotSearch[$hotWord] == max($arrHotSearch)) { //搜索最多的作为默认列表 100 | saveInfo('playList', $list); 101 | } 102 | } else { //无记录则在数组中创建 103 | $arrHotSearch[$hotWord] = 1; 104 | } 105 | 106 | $jsonHotSearch = json_encode($arrHotSearch); 107 | } else { //文件为空 108 | $arrHotSearch = [$hotWord => 1]; 109 | $jsonHotSearch = json_encode($arrHotSearch); 110 | saveInfo('playList', $list); 111 | } 112 | 113 | saveInfo('hotSearch', $jsonHotSearch); 114 | } 115 | 116 | function saveInfo($dir, $new = '') 117 | { 118 | $filePath = $dir . '.txt'; 119 | if (file_exists($filePath)) { 120 | if (empty($new)) { //$new为空时是读取状态,不为空时为写入状态 121 | $fp = fopen($filePath, "r"); 122 | $str = fread($fp, filesize($filePath)); //指定读取大小,这里把整个文件内容读取出来 123 | fclose($fp); 124 | 125 | return $str; 126 | } else { 127 | $fp = fopen($filePath, "w"); 128 | flock($fp, LOCK_EX); 129 | fwrite($fp, $new); 130 | flock($fp, LOCK_UN); 131 | fclose($fp); 132 | 133 | return true; 134 | } 135 | } 136 | return false; 137 | } -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 最新最全音乐全部免费下载 - 橡皮音乐 11 | 117 | 118 | 119 |
    120 |

    本站所有音乐 2019/07/30前均可免费 下载 - 橡皮音乐

    121 |
    122 | 123 |
    124 | 125 | 126 | 127 | 128 |
    129 | 130 |
    131 | 132 |
    133 | 134 |
    135 | 136 | 下载 137 | 下载APP 139 |
    140 | 141 |
    友情链接:影视爬虫-VIP视频免费观看
    143 |
    144 |

    热搜 加载更多

    145 | 146 |
    147 |

    Copyright © lifanko 148 | 2017-2018 豫ICP备16040860号-1

    149 |
    150 | 151 | 152 | 153 | 154 | 268 | 277 | 278 | 279 | -------------------------------------------------------------------------------- /playList.txt: -------------------------------------------------------------------------------- 1 | [{"title":"\u4e5d\u5f20\u673a","author":"\u53f6\u70ab\u6e05","url":"http:\/\/fs.pc.kugou.com\/201712161254\/00a3930b332a078524c7dff5e099b0e0\/G106\/M0B\/17\/11\/SpQEAFlbbBiAVBveAIZo68iKyfQ674.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20170704\/20170704194248962.jpg","lrc":"[00:00.02]\u53f6\u70ab\u6e05 - \u4e5d\u5f20\u673a(\u300a\u53cc\u4e16\u5ba0\u5983\u300b\u4e3b\u9898\u66f2)\r\n[00:01.36]\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:01.53]\u66f2\uff1a\u5468\u7426\r\n[00:01.66]\u7f16\u66f2\uff1a\u5468\u7426\r\n[00:02.76]\u7f29\u6df7\uff1a\u738b\u8def\u9065\r\n[00:03.87]\u7b1b\u5b50\uff1a\u53f6\u70ab\u6e05\r\n[00:04.97]\u5409\u4ed6\uff1a\u5468\u7426\r\n[00:14.84]\u5149\u9634\u5982\u68ad\r\n[00:15.72]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.18]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.13]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:26.97]\u7ec7\u4e00\u6bb5 \u9526\u7ee3\u7eb9\u9970\r\n[00:30.95]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:33.99]\u96be\u5bc4\u6258 \u8fd9\u76f8\u601d\r\n[00:41.04]\u515c\u515c\u8f6c\u8f6c\r\n[00:42.03]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.52]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.45]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.51]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[00:57.01]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.68]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[01:06.52]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[01:10.56]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:12.98]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.63]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[01:23.68]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.41]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[01:29.33]\u751f\u751f\u4e16\u4e16\r\n[02:00.08]\u515c\u515c\u8f6c\u8f6c\r\n[02:00.95]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.41]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.33]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.27]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[02:16.18]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.24]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[02:25.30]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:29.42]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:31.80]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.47]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[02:42.55]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.04]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[02:48.26]\u751f\u751f\u4e16\u4e16\r\n[02:51.69]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:55.74]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.14]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[03:04.85]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[03:09.01]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.21]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:14.54]\u751f\u751f\u4e16\u4e16\r\n[03:17.92]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:21.12]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a (\u738b\u8005\u8363\u8000\u7248)","author":"\u96f6\u67d2","url":"http:\/\/fs.pc.kugou.com\/201712161254\/449e57ab7d246929393ce3971657fbab\/G109\/M04\/15\/0D\/DYcBAFmlNlKAHijTAD6B97B6V20912.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20170929\/20170929174854644873.jpg","lrc":"[00:00.16]\u4e5d\u5f20\u673a (\u738b\u8005\u8363\u8000\u7248) - \u96f6\u67d2\r\n[00:01.13]\u8bcd\uff1a\u4efb\u5b87\u7fd4\r\n[00:02.03]\u66f2\uff1a\u5468\u7426\r\n[00:14.84]\u8ff7\u96fe\u5982\u6211\r\n[00:15.87]\u4e00\u5ff5\u5b50\u9f99\u4e00\u5ff5\u75f4\r\n[00:21.40]\u5ce1\u8c37\u6597\u8f6c\r\n[00:22.18]\u5fc3\u7cfb\u4e8e\u4f60\u72b9\u4e0d\u77e5\r\n[00:27.10]\u624d\u4e0d\u7ba1 \u5766\u514b\u6218\u58eb\r\n[00:31.13]\u53d8\u6210\u4e86\u5f80\u4e8b\r\n[00:34.38]\u4f60\u524d\u6392 \u800c\u50f5\u6301\r\n[00:40.97]\u4e09\u957f\u4e24\u77ed\r\n[00:41.84]\u9001\u4f60\u4eba\u5934\u613f\u4f60\u77e5\r\n[00:47.60]\u51fb\u98de\u7a81\u523a\r\n[00:48.44]\u6536\u5272\u6b8b\u8840\u53c8\u4e00\u6b21\r\n[00:53.38]\u8fd8\u8bb0\u5f97 \u56e2\u6218\u4e4b\u65f6\r\n[00:57.41]\u6211\u62c5\u5f53\u6cd5\u5e08\r\n[01:00.68]\u8ba9\u5bf9\u9762\u96be\u514b\u5236\r\n[01:06.67]\u6211\u4eec\u57cb\u4f0f \u654c\u4eba\u4e0d\u5bdf\r\n[01:10.58]\u654c\u519b\u7686\u6b7b\u5c38\r\n[01:13.21]\u719f\u7ec3\u64cd\u4f5c \u52a0\u738b\u8005\u610f\u5fd7\r\n[01:19.56]\u4f60\u6211\u53cc\u6392 \u5168\u529b\u4ee5\u8d74\r\n[01:23.75]\u613f\u4e3a\u4f60\u8d74\u6b7b\r\n[01:26.36]\u5b88\u62a4\u4f60\u6c38\u4e0d\u53d8\r\n[01:29.56]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a","author":"\u9ed1\u5d0e\u5b50","url":"http:\/\/fs.pc.kugou.com\/201712161254\/2f79e84c83eca08d6c2feda98f6bc4d8\/G103\/M0A\/19\/0D\/pw0DAFmAJC6AAEuNAIaBf9Dns2w527.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20170812\/20170812143238958.jpg","lrc":"[00:00.24]\u9ed1\u5d0e\u5b50 - \u4e5d\u5f20\u673a\r\n[00:00.86]\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:01.05]\u66f2\uff1a\u5468\u7426\r\n[00:14.93]\u5149\u9634\u5982\u68ad\r\n[00:15.52]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.20]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.18]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:27.26]\u7ec7\u4e00\u6bb5 \u9526\u7ee3\u7eb9\u9970\r\n[00:31.00]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:34.26]\u96be\u5bc4\u6258 \u8fd9\u76f8\u601d\r\n[00:41.40]\u515c\u515c\u8f6c\u8f6c\r\n[00:42.06]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.69]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.30]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.55]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[00:57.12]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.43]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[01:06.64]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[01:10.53]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:13.00]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.78]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[01:23.59]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.17]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[01:29.34]\u751f\u751f\u4e16\u4e16\r\n[02:00.25]\u515c\u515c\u8f6c\u8f6c\r\n[02:00.89]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.49]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.14]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.44]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[02:16.25]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.46]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[02:25.41]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:29.49]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:31.93]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.70]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[02:42.54]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.17]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[02:48.25]\u751f\u751f\u4e16\u4e16\r\n[02:51.88]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:55.77]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.09]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[03:05.00]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[03:08.88]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.40]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:14.41]\u751f\u751f\u4e16\u4e16\r\n[03:18.15]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:21.08]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a","author":"\u827e\u8fb0","url":"http:\/\/fs.pc.kugou.com\/201712161254\/d44d287a8b565e27744b329345981586\/G103\/M05\/1A\/07\/pw0DAFmYQSeALUSeADbmvWfnn_o702.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20171121\/20171121142614123.jpg","lrc":"[00:14.86]\u5149\u9634\u5982\u68ad\r\n[00:16.22]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.43]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.54]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:27.61]\u7ec7\u4e00\u6bb5 \u9526\u7ee3\u7eb9\u9970\r\n[00:31.06]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:34.88]\u96be\u5bc4\u6258 \u8fd9\u76f8\u601d\r\n[00:41.05]\u515c\u515c\u8f6c\u8f6c\r\n[00:41.96]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.45]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.67]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.59]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[00:57.56]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.85]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[01:06.63]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[01:10.79]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:13.28]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.85]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[01:24.00]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.29]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[01:29.52]\u751f\u751f\u4e16\u4e16\r\n[02:00.20]\u515c\u515c\u8f6c\u8f6c\r\n[02:01.16]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.59]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.70]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.53]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[02:16.48]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.61]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[02:25.59]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:29.66]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:31.99]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.68]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[02:42.67]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.06]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[02:48.31]\u751f\u751f\u4e16\u4e16\r\n[02:52.15]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:55.85]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.42]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[03:04.66]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[03:08.96]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.59]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:14.48]\u751f\u751f\u4e16\u4e16\r\n[03:18.33]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:21.47]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a (DJ\u540d\u9f99)","author":"DJ","url":"http:\/\/fs.pc.kugou.com\/201712161254\/b62b120430496bb768aafd0390b943c8\/G103\/M08\/1A\/18\/R5QEAFmQFkaAd8bYAPoqRUfiwx4912.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20140714\/20140714150846646607.jpg","lrc":"[00:00.44]DJ\u540d\u9f99 - \u4e5d\u5f20\u673a\r\n[00:01.20]\u4f5c\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:01.40]\u4f5c\u66f2\uff1a\u5468\u7426\r\n[00:01.60]\u7f16\u66f2\uff1a\u5468\u7426\r\n[01:44.88]\u5149\u9634\u5982\u68ad\r\n[01:45.59]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[01:51.99]\u60c5\u4e1d\u767e\u8f6c\r\n[01:52.90]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[01:58.37]\u7ec7\u4e00\u6bb5\u9526\u7ee3\u7eb9\u9970\r\n[02:03.03]\u5e76\u8fde\u7406\u53cc\u679d\r\n[02:06.77]\u96be\u5bc4\u6258\u8fd9\u76f8\u601d\r\n[02:14.15]\u515c\u515c\u8f6c\u8f6c\r\n[02:14.91]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:21.33]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:22.20]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:27.77]\u8fd8\u8bb0\u5f97\u524d\u751f\u76df\u8a93\r\n[02:32.39]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:36.07]\u6068\u5bf9\u9762\u4e0d\u76f8\u8bc6\r\n[02:42.56]\u6211\u613f\u5316\u4f5c\u671b\u65ad\u5929\u6daf\r\n[02:46.92]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:49.81]\u7bc6\u523b\u5fc3\u5934\r\n[02:52.45]\u662f\u4f60\u7684\u540d\u5b57\r\n[02:57.11]\u8f6e\u56de\u5f69\u8776\r\n[02:59.80]\u5316\u8327\u81ea\u7f1a\r\n[03:01.62]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:04.41]\u526a\u4e0d\u65ad\u5171\u7f20\u7ef5\r\n[03:07.95]\u751f\u751f\u4e16\u4e16\r\n[03:44.01]\u515c\u515c\u8f6c\u8f6c\r\n[03:44.77]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[03:51.19]\u5bfb\u5bfb\u89c5\u89c5\r\n[03:52.16]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[03:57.53]\u8fd8\u8bb0\u5f97\u524d\u751f\u76df\u8a93\r\n[04:02.24]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[04:05.99]\u6068\u5bf9\u9762\u4e0d\u76f8\u8bc6\r\n[04:12.32]\u6211\u613f\u5316\u4f5c\u671b\u65ad\u5929\u6daf\r\n[04:16.83]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[04:19.57]\u7bc6\u523b\u5fc3\u5934\r\n[04:22.30]\u662f\u4f60\u7684\u540d\u5b57\r\n[04:27.01]\u8f6e\u56de\u5f69\u8776\r\n[04:29.69]\u5316\u8327\u81ea\u7f1a\r\n[04:31.41]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[04:34.25]\u526a\u4e0d\u65ad\u5171\u7f20\u7ef5\r\n[04:37.84]\u751f\u751f\u4e16\u4e16\r\n[04:41.58]\u6211\u613f\u5316\u4f5c\u671b\u65ad\u5929\u6daf\r\n[04:46.04]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[04:48.93]\u7bc6\u523b\u5fc3\u5934\r\n[04:51.56]\u662f\u4f60\u7684\u540d\u5b57\r\n[04:56.31]\u8f6e\u56de\u5f69\u8776\r\n[04:59.01]\u5316\u8327\u81ea\u7f1a\r\n[05:00.83]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[05:03.46]\u526a\u4e0d\u65ad\u5171\u7f20\u7ef5\r\n[05:07.11]\u751f\u751f\u4e16\u4e16\r\n[05:10.91]\u526a\u4e0d\u65ad\u5171\u7f20\u7ef5\r\n[05:14.51]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a (Live)","author":"\u6c88\u96e8\u8431","url":"http:\/\/fs.pc.kugou.com\/201712161254\/a8de5c817c97e60b149257ba9e1f7f71\/G113\/M01\/0B\/09\/sQ0DAFmUJeeAPs95ADPpCHwJHgs342.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20170828\/20170828181849287.jpg","lrc":"[00:00.09]\u6c88\u96e8\u8431 - \u4e5d\u5f20\u673a\r\n[00:02.68]\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:03.50]\u66f2\uff1a\u5468\u7426\r\n[00:04.57]\u7f16\u66f2\uff1a\u5468\u7426\r\n[00:09.84]\u5149\u9634\u5982\u68ad\r\n[00:10.78]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:16.36]\u60c5\u4e1d\u767e\u8f6c\r\n[00:17.19]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:22.21]\u7ec7\u4e00\u6bb5 \u9526\u7ee3\u7eb9\u9970\r\n[00:25.96]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:30.61]\u96be\u5bc4\u6258 \u8fd9\u76f8\u601d\r\n[00:36.30]\u515c\u515c\u8f6c\u8f6c\r\n[00:37.42]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:42.36]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:43.34]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:48.39]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[00:52.17]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[00:55.60]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[01:01.52]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[01:05.60]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:08.00]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[01:14.66]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[01:18.71]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:21.14]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[01:24.40]\u751f\u751f\u4e16\u4e16\r\n[01:55.55]\u515c\u515c\u8f6c\u8f6c\r\n[01:56.42]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:01.46]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:02.18]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:07.31]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[02:11.30]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:14.60]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[02:20.37]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:24.49]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:26.86]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:34.07]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[02:37.65]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:39.95]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[02:43.59]\u751f\u751f\u4e16\u4e16\r\n[02:46.75]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:50.33]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:53.27]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:59.90]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[03:03.93]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:06.34]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:10.52]\u751f\u751f\u4e16\u4e16\r\n[03:13.07]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:16.23]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a (\u549a\u9f13\u7248)","author":"\u6c88\u5ff5","url":"http:\/\/fs.pc.kugou.com\/201712161254\/14e05ce8247e7bc75d4d5f41d4e0004d\/G111\/M04\/05\/17\/D4cBAFmK8I-AHqp_AJLgLHTHNss543.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20160923\/20160923062605318963.jpg","lrc":"[00:00.09]\u627f\u5229 - \u4e5d\u5f20\u673a\r\n[00:00.39]\u4f5c\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:00.64]\u4f5c\u66f2\uff1a\u5468\u7426\r\n[00:01.20]\u5149\u9634\u5982\u68ad\r\n[00:02.03]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:08.53]\u60c5\u4e1d\u767e\u8f6c\r\n[00:09.56]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:15.03]\u7ec7\u4e00\u6bb5\r\n[00:16.82]\u9526\u7ee3\u7eb9\u9970\r\n[00:19.57]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:23.33]\u96be\u5bc4\u6258\r\n[00:26.07]\u8fd9\u76f8\u601d\r\n[00:30.73]\u515c\u515c\u8f6c\u8f6c\r\n[00:31.69]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:38.09]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:39.06]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:44.62]\u8fd8\u8bb0\u5f97\r\n[00:46.40]\u524d\u751f\u76df\u8a93\r\n[00:49.27]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[00:52.93]\u6068\u5bf9\u9762\r\n[00:55.61]\u4e0d\u76f8\u8bc6\r\n[00:59.46]\u6211\u613f\u5316\u4f5c\r\n[01:02.04]\u671b\u65ad\u5929\u6daf\r\n[01:03.97]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:06.74]\u7bc6\u523b\u5fc3\u5934\r\n[01:09.43]\u662f\u4f60\u7684\u540d\u5b57\r\n[01:14.08]\u8f6e\u56de\u5f69\u8776\r\n[01:16.77]\u5316\u8327\u81ea\u7f1a\r\n[01:18.64]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:21.48]\u526a\u4e0d\u65ad\r\n[01:23.32]\u5171\u7f20\u7ef5\r\n[01:25.15]\u751f\u751f\u4e16\u4e16\r\n[01:59.33]\u515c\u515c\u8f6c\u8f6c\r\n[02:00.29]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.78]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.78]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:13.25]\u8fd8\u8bb0\u5f97\r\n[02:15.03]\u524d\u751f\u76df\u8a93\r\n[02:17.88]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:21.44]\u6068\u5bf9\u9762\r\n[02:24.28]\u4e0d\u76f8\u8bc6\r\n[02:27.93]\u6211\u613f\u5316\u4f5c\r\n[02:30.67]\u671b\u65ad\u5929\u6daf\r\n[02:32.60]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:35.33]\u7bc6\u523b\u5fc3\u5934\r\n[02:38.03]\u662f\u4f60\u7684\u540d\u5b57\r\n[02:42.70]\u8f6e\u56de\u5f69\u8776\r\n[02:45.43]\u5316\u8327\u81ea\u7f1a\r\n[02:47.37]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:50.11]\u526a\u4e0d\u65ad\r\n[02:51.94]\u5171\u7f20\u7ef5\r\n[02:53.76]\u751f\u751f\u4e16\u4e16\r\n[02:57.56]\u6211\u613f\u5316\u4f5c\r\n[03:00.25]\u671b\u65ad\u5929\u6daf\r\n[03:02.08]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[03:04.82]\u7bc6\u523b\u5fc3\u5934\r\n[03:07.60]\u662f\u4f60\u7684\u540d\u5b57\r\n[03:12.23]\u8f6e\u56de\u5f69\u8776\r\n[03:14.97]\u5316\u8327\u81ea\u7f1a\r\n[03:16.85]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:19.63]\u526a\u4e0d\u65ad\r\n[03:21.40]\u5171\u7f20\u7ef5\r\n[03:23.32]\u751f\u751f\u4e16\u4e16\r\n[03:26.97]\u526a\u4e0d\u65ad\r\n[03:28.91]\u5171\u7f20\u7ef5\r\n[03:30.73]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a","author":"\u5b97\u987a\u5eb7","url":"http:\/\/fs.pc.kugou.com\/201712161254\/88be364254622474341dad008aaa5b02\/G104\/M09\/11\/1B\/qA0DAFmT00CAJkhuAIdM6OCV1Kw880.mp3","pic":"","lrc":"[00:00.01]\u5b97\u987a\u5eb7ken - \u4e5d\u5f20\u673a\r\n[00:05.14]\u4f5c\u8bcd\uff1a \u5f20\u5bcc\u8d35\r\n[00:07.01]\u4f5c\u66f2\uff1a \u5468\u7426\r\n[00:08.88]\u7f16\u66f2\uff1a\u5468\u7426\r\n[00:14.83]\u5149\u9634\u5982\u68ad\r\n[00:15.65]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.44]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.20]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:27.24]\u7ec7\u4e00\u6bb5 \u9526\u7ee3\u7eb9\u9970\r\n[00:30.97]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:34.46]\u96be\u5bc4\u6258 \u8fd9\u76f8\u601d\r\n[00:41.06]\u515c\u515c\u8f6c\u8f6c\r\n[00:41.87]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.62]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.52]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.71]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[00:57.48]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.80]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[01:06.63]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[01:10.60]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:13.12]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.72]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[01:23.91]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.33]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[01:29.50]\u751f\u751f\u4e16\u4e16\r\n[02:00.12]\u515c\u515c\u8f6c\u8f6c\r\n[02:00.83]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.58]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.38]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.28]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[02:16.37]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.65]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[02:25.40]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:29.54]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:31.96]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.51]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[02:42.66]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.12]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[02:48.40]\u751f\u751f\u4e16\u4e16\r\n[02:51.77]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:55.86]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.23]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[03:04.84]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[03:09.07]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.45]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:14.68]\u751f\u751f\u4e16\u4e16\r\n[03:18.01]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:21.33]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a","author":"Mukyo\u6728\u897f","url":"http:\/\/fs.pc.kugou.com\/201712161254\/c2209015c8491d54c465fd5f3ad8970e\/G112\/M0B\/15\/1F\/sA0DAFm6Az6ARmkwADcEGY2mtWo697.mp3","pic":"","lrc":"[00:00.03]Mukyo\u6728\u897f - \u4e5d\u5f20\u673a\r\n[00:02.30]\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:03.24]\u66f2\uff1a\u5468\u7426\r\n[00:04.04]\u7f16\u66f2\uff1a\u5468\u7426\r\n[00:14.73]\u5149\u9634\u5982\u68ad\r\n[00:15.64]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.19]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.15]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:27.06]\u7ec7\u4e00\u6bb5 \u9526\u7ee3\u7eb9\u9970\r\n[00:31.15]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:34.40]\u96be\u5bc4\u6258 \u8fd9\u76f8\u601d\r\n[00:41.03]\u515c\u515c\u8f6c\u8f6c\r\n[00:41.96]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.59]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.31]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.38]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[00:57.39]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.72]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[01:06.53]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[01:10.64]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:12.99]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.56]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[01:23.69]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.17]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[01:29.33]\u751f\u751f\u4e16\u4e16\r\n[01:59.96]\u515c\u515c\u8f6c\u8f6c\r\n[02:00.68]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.41]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.22]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.23]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[02:16.27]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.55]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[02:25.50]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:29.56]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:31.90]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.52]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[02:42.62]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.04]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[02:48.23]\u751f\u751f\u4e16\u4e16\r\n[02:51.82]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:55.78]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.19]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[03:04.71]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[03:08.90]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.23]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:14.62]\u751f\u751f\u4e16\u4e16\r\n[03:17.90]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:21.16]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a (\u4f34\u594f)","author":"\u53f6\u70ab\u6e05","url":"http:\/\/fs.pc.kugou.com\/201712161254\/dec6d2b62729cf6db4888cc4fe671a0d\/G113\/M07\/1A\/1B\/EYcBAFlbbBmAZTUXAIZo6-qcq7M009.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20170704\/20170704194248962.jpg","lrc":"[00:00.02]\u53f6\u70ab\u6e05 - \u4e5d\u5f20\u673a(\u300a\u53cc\u4e16\u5ba0\u5983\u300b\u4e3b\u9898\u66f2)\r\n[00:01.36]\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:01.53]\u66f2\uff1a\u5468\u7426\r\n[00:01.66]\u7f16\u66f2\uff1a\u5468\u7426\r\n[00:02.76]\u7f29\u6df7\uff1a\u738b\u8def\u9065\r\n[00:03.87]\u7b1b\u5b50\uff1a\u53f6\u70ab\u6e05\r\n[00:04.97]\u5409\u4ed6\uff1a\u5468\u7426\r\n[00:14.84]\u5149\u9634\u5982\u68ad\r\n[00:15.72]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.18]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.13]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:26.97]\u7ec7\u4e00\u6bb5 \u9526\u7ee3\u7eb9\u9970\r\n[00:30.95]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:33.99]\u96be\u5bc4\u6258 \u8fd9\u76f8\u601d\r\n[00:41.04]\u515c\u515c\u8f6c\u8f6c\r\n[00:42.03]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.52]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.45]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.51]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[00:57.01]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.68]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[01:06.52]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[01:10.56]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:12.98]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.63]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[01:23.68]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.41]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[01:29.33]\u751f\u751f\u4e16\u4e16\r\n[02:00.08]\u515c\u515c\u8f6c\u8f6c\r\n[02:00.95]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.41]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.33]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.27]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[02:16.18]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.24]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[02:25.30]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:29.42]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:31.80]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.47]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[02:42.55]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.04]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[02:48.26]\u751f\u751f\u4e16\u4e16\r\n[02:51.69]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:55.74]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.14]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[03:04.85]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[03:09.01]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.21]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:14.54]\u751f\u751f\u4e16\u4e16\r\n[03:17.92]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:21.12]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a","author":"\u5c0f\u66f2\u513f","url":"http:\/\/fs.pc.kugou.com\/201712161254\/719a6ba1def1bddd55db4c5769367b59\/G110\/M00\/0E\/01\/TpQEAFmllL-AK-VtAIcgAkl2V0g820.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20151010\/20151010160157993018.jpg","lrc":"[00:01.10]\u5c0f\u66f2\u513f - \u4e5d\u5f20\u673a\r\n[00:02.67]\u4f5c\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:03.98]\u4f5c\u66f2\uff1a\u5468\u7426\r\n[00:04.94]\u7f16\u66f2\uff1a\u5468\u7426\r\n[00:14.89]\u5149\u9634\u5982\u68ad\r\n[00:15.75]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.45]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.30]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:27.15]\u7ec7\u4e00\u6bb5\r\n[00:28.86]\u9526\u7ee3\u7eb9\u9970\r\n[00:31.09]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:34.41]\u96be\u5bc4\u6258\r\n[00:36.99]\u8fd9\u76f8\u601d\r\n[00:40.39]\u515c\u515c\u8f6c\u8f6c\r\n[00:41.95]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.63]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.54]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.55]\u8fd8\u8bb0\u5f97\r\n[00:55.12]\u524d\u751f\u76df\u8a93\r\n[00:57.49]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.78]\u6068\u5bf9\u9762\r\n[01:03.35]\u4e0d\u76f8\u8bc6\r\n[01:06.52]\u6211\u613f\u5316\u4f5c\r\n[01:09.10]\u671b\u65ad\u5929\u6daf\r\n[01:10.71]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:13.18]\u7bc6\u523b\u5fc3\u5934\r\n[01:15.30]\u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.62]\u8f6e\u56de\u5f69\u8776\r\n[01:22.10]\u5316\u8327\u81ea\u7f1a\r\n[01:23.87]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.29]\u526a\u4e0d\u65ad\r\n[01:27.66]\u5171\u7f20\u7ef5\r\n[01:29.63]\u751f\u751f\u4e16\u4e16\r\n[02:00.17]\u515c\u515c\u8f6c\u8f6c\r\n[02:00.98]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.54]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.40]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.41]\u8fd8\u8bb0\u5f97\r\n[02:13.92]\u524d\u751f\u76df\u8a93\r\n[02:16.10]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.64]\u6068\u5bf9\u9762\r\n[02:22.16]\u4e0d\u76f8\u8bc6\r\n[02:25.55]\u6211\u613f\u5316\u4f5c\r\n[02:27.67]\u671b\u65ad\u5929\u6daf\r\n[02:29.54]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:32.06]\u7bc6\u523b\u5fc3\u5934\r\n[02:34.38]\u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.65]\u8f6e\u56de\u5f69\u8776\r\n[02:40.98]\u5316\u8327\u81ea\u7f1a\r\n[02:42.75]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.27]\u526a\u4e0d\u65ad\r\n[02:46.59]\u5171\u7f20\u7ef5\r\n[02:48.51]\u751f\u751f\u4e16\u4e16\r\n[02:51.84]\u6211\u613f\u5316\u4f5c\r\n[02:54.12]\u671b\u65ad\u5929\u6daf\r\n[02:55.88]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.30]\u7bc6\u523b\u5fc3\u5934\r\n[03:00.47]\u662f\u4f60\u7684\u540d\u5b57\r\n[03:04.57]\u8f6e\u56de\u5f69\u8776\r\n[03:07.20]\u5316\u8327\u81ea\u7f1a\r\n[03:08.96]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.54]\u526a\u4e0d\u65ad\r\n[03:13.11]\u5171\u7f20\u7ef5\r\n[03:14.73]\u751f\u751f\u4e16\u4e16\r\n[03:18.11]\u526a\u4e0d\u65ad\r\n[03:19.57]\u5171\u7f20\u7ef5\r\n[03:21.39]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a","author":"\u9526\u96f6","url":"http:\/\/fs.pc.kugou.com\/201712161254\/2f74cccacbbb33a1c7b009f7e437552c\/G109\/M04\/19\/18\/DYcBAFmKwa6AfbkhAIZoKFRfJac189.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20170929\/20170929183247415659.jpg","lrc":"[00:00.15]\u9526\u96f6 - \u4e5d\u5f20\u673a\r\n[00:00.73]\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:01.37]\u66f2\uff1a\u5468\u7426\r\n[00:14.71]\u5149\u9634\u5982\u68ad\r\n[00:15.44]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.26]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.00]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:27.12]\u7ec7\u4e00\u6bb5\r\n[00:28.66]\u9526\u7ee3\u7eb9\u9970\r\n[00:31.07]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:34.40]\u96be\u5bc4\u6258\r\n[00:36.80]\u8fd9\u76f8\u601d\r\n[00:40.98]\u515c\u515c\u8f6c\u8f6c\r\n[00:41.89]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.59]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.39]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.53]\u8fd8\u8bb0\u5f97\r\n[00:54.98]\u524d\u751f\u76df\u8a93\r\n[00:57.43]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.74]\u6068\u5bf9\u9762\r\n[01:03.29]\u4e0d\u76f8\u8bc6\r\n[01:06.54]\u6211\u613f\u5316\u4f5c\r\n[01:08.92]\u671b\u65ad\u5929\u6daf\r\n[01:10.56]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:13.06]\u7bc6\u523b\u5fc3\u5934\r\n[01:15.51]\u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.59]\u8f6e\u56de\u5f69\u8776\r\n[01:22.08]\u5316\u8327\u81ea\u7f1a\r\n[01:23.71]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.30]\u526a\u4e0d\u65ad\r\n[01:27.89]\u5171\u7f20\u7ef5\r\n[01:29.49]\u751f\u751f\u4e16\u4e16\r\n[01:59.89]\u515c\u515c\u8f6c\u8f6c\r\n[02:00.72]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.50]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.19]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.23]\u8fd8\u8bb0\u5f97\r\n[02:13.87]\u524d\u751f\u76df\u8a93\r\n[02:16.39]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.65]\u6068\u5bf9\u9762\r\n[02:22.27]\u4e0d\u76f8\u8bc6\r\n[02:25.43]\u6211\u613f\u5316\u4f5c\r\n[02:27.81]\u671b\u65ad\u5929\u6daf\r\n[02:29.49]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:31.95]\u7bc6\u523b\u5fc3\u5934\r\n[02:34.41]\u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.64]\u8f6e\u56de\u5f69\u8776\r\n[02:41.07]\u5316\u8327\u81ea\u7f1a\r\n[02:42.71]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.13]\u526a\u4e0d\u65ad\r\n[02:46.78]\u5171\u7f20\u7ef5\r\n[02:48.41]\u751f\u751f\u4e16\u4e16\r\n[02:51.89]\u6211\u613f\u5316\u4f5c\r\n[02:54.07]\u671b\u65ad\u5929\u6daf\r\n[02:55.81]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.21]\u7bc6\u523b\u5fc3\u5934\r\n[03:00.67]\u662f\u4f60\u7684\u540d\u5b57\r\n[03:04.90]\u8f6e\u56de\u5f69\u8776\r\n[03:07.31]\u5316\u8327\u81ea\u7f1a\r\n[03:08.96]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.41]\u526a\u4e0d\u65ad\r\n[03:13.23]\u5171\u7f20\u7ef5\r\n[03:14.59]\u751f\u751f\u4e16\u4e16\r\n[03:18.10]\u526a\u4e0d\u65ad\r\n[03:19.65]\u5171\u7f20\u7ef5\r\n[03:21.25]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a","author":"\u5c0f\u5c0f\u5475","url":"http:\/\/fs.pc.kugou.com\/201712161254\/ca2b798f7b8985f383b8d5d97dff57f2\/G111\/M0A\/07\/0D\/D4cBAFl-8tuAfyTfADSZx_i-baQ121.mp3","pic":"","lrc":"[00:01.17]\u5c0f\u5c0f\u5475 - \u4e5d\u5f20\u673a\r\n[00:13.13]\u5149\u9634\u5982\u68ad\r\n[00:14.30]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:19.88]\u60c5\u4e1d\u767e\u8f6c\r\n[00:20.89]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:25.75]\u7ec7\u4e00\u6bb5 \u9526\u7ee3\u7eb9\u9970\r\n[00:29.75]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:33.10]\u96be\u5bc4\u6258 \u8fd9\u76f8\u601d\r\n[00:39.67]\u515c\u515c\u8f6c\u8f6c\r\n[00:40.94]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:46.20]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:47.01]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:52.02]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[00:55.92]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[00:59.27]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[01:05.09]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[01:09.19]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:11.61]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[01:18.34]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[01:22.39]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:24.92]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[01:27.90]\u751f\u751f\u4e16\u4e16\r\n[01:58.77]\u515c\u515c\u8f6c\u8f6c\r\n[01:59.79]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:04.95]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:05.86]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:10.96]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[02:13.59]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:18.35]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[02:24.11]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:28.11]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:30.60]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:37.03]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[02:42.16]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:43.77]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[02:46.90]\u751f\u751f\u4e16\u4e16\r\n[02:50.45]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:54.34]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:56.88]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[03:03.15]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[03:07.55]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:10.08]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:13.23]\u751f\u751f\u4e16\u4e16\r\n[03:16.62]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:19.86]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a","author":"\u674e\u868a\u9999","url":"http:\/\/fs.pc.kugou.com\/201712161254\/a1416ff38a42b63ce6808cda765a3dae\/G107\/M0B\/1D\/1F\/qw0DAFmPF_2AHLD2AIZffNHF4mg841.mp3","pic":"http:\/\/singerimg.kugou.com\/uploadpic\/softhead\/400\/20160530\/20160530150621921090.jpg","lrc":"[00:00.07]\u4e91\u96c0\u3001\u674e\u868a\u9999 - \u4e5d\u5f20\u673a\r\n[00:14.81]\u5149\u9634\u5982\u68ad\r\n[00:15.82]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.29]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.25]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:27.11]\u7ec7\u4e00\u6bb5 \u9526\u7ee3\u7eb9\u9970\r\n[00:31.26]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:34.55]\u96be\u5bc4\u6258 \u8fd9\u76f8\u601d\r\n[00:41.07]\u515c\u515c\u8f6c\u8f6c\r\n[00:42.13]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.67]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.58]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.44]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[00:57.58]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.87]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[01:06.59]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[01:10.69]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:13.17]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.82]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[01:23.82]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.30]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[01:29.59]\u751f\u751f\u4e16\u4e16\r\n[02:00.15]\u515c\u515c\u8f6c\u8f6c\r\n[02:01.26]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.58]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.54]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.34]\u8fd8\u8bb0\u5f97 \u524d\u751f\u76df\u8a93\r\n[02:16.44]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.65]\u6068\u5bf9\u9762 \u4e0d\u76f8\u8bc6\r\n[02:25.42]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:29.57]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:32.05]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.67]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[02:42.78]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.26]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[02:48.45]\u751f\u751f\u4e16\u4e16\r\n[02:51.80]\u6211\u613f\u5316\u4f5c \u671b\u65ad\u5929\u6daf\r\n[02:55.89]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.42]\u7bc6\u523b\u5fc3\u5934 \u662f\u4f60\u7684\u540d\u5b57\r\n[03:04.96]\u8f6e\u56de\u5f69\u8776 \u5316\u8327\u81ea\u7f1a\r\n[03:09.01]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.35]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:14.74]\u751f\u751f\u4e16\u4e16\r\n[03:18.18]\u526a\u4e0d\u65ad \u5171\u7f20\u7ef5\r\n[03:21.33]\u751f\u751f\u4e16\u4e16\r\n"},{"title":"\u4e5d\u5f20\u673a","author":"\u7a0b\u5609\u654f","url":"http:\/\/fs.pc.kugou.com\/201712161254\/2684927536f783789d1d20eb97a7f4f3\/G105\/M0A\/07\/00\/CYcBAFmH_P6ANhh1AIZtJPwsSvg985.mp3","pic":"","lrc":"[00:00.01]\u4e5d\u5f20\u673a - \u7a0b\u5609\u654f\r\n[00:00.77]\u8bcd\uff1a\u5f20\u5bcc\u8d35\r\n[00:00.95]\u66f2\uff1a\u5468\u7426\r\n[00:14.98]\u5149\u9634\u5982\u68ad\r\n[00:15.56]\u4e00\u68ad\u624d\u53bb\u4e00\u68ad\u75f4\r\n[00:21.23]\u60c5\u4e1d\u767e\u8f6c\r\n[00:22.02]\u4e1d\u4e1d\u7f20\u4e71\u72b9\u4e0d\u77e5\r\n[00:27.21]\u7ec7\u4e00\u6bb5\r\n[00:28.87]\u9526\u7ee3\u7eb9\u9970\r\n[00:31.16]\u5e76\u8fde\u7406\u53cc\u679d\r\n[00:34.41]\u96be\u5bc4\u6258\r\n[00:36.88]\u8fd9\u76f8\u601d\r\n[00:41.03]\u515c\u515c\u8f6c\u8f6c\r\n[00:41.82]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[00:47.55]\u5bfb\u5bfb\u89c5\u89c5\r\n[00:48.38]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[00:53.49]\u8fd8\u8bb0\u5f97\r\n[00:55.05]\u524d\u751f\u76df\u8a93\r\n[00:57.45]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[01:00.72]\u6068\u5bf9\u9762\r\n[01:03.14]\u4e0d\u76f8\u8bc6\r\n[01:06.69]\u6211\u613f\u5316\u4f5c\r\n[01:09.07]\u671b\u65ad\u5929\u6daf\r\n[01:10.68]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[01:13.05]\u7bc6\u523b\u5fc3\u5934\r\n[01:15.56]\u662f\u4f60\u7684\u540d\u5b57\r\n[01:19.79]\u8f6e\u56de\u5f69\u8776\r\n[01:22.06]\u5316\u8327\u81ea\u7f1a\r\n[01:23.73]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[01:26.35]\u526a\u4e0d\u65ad\r\n[01:27.87]\u5171\u7f20\u7ef5\r\n[01:29.51]\u751f\u751f\u4e16\u4e16\r\n[02:00.19]\u515c\u515c\u8f6c\u8f6c\r\n[02:00.86]\u671d\u82b1\u5915\u62fe\u5374\u5df2\u8fdf\r\n[02:06.57]\u5bfb\u5bfb\u89c5\u89c5\r\n[02:07.30]\u9189\u751f\u68a6\u6b7b\u53c8\u4e00\u4e16\r\n[02:12.44]\u8fd8\u8bb0\u5f97\r\n[02:13.95]\u524d\u751f\u76df\u8a93\r\n[02:16.32]\u6b32\u8a00\u7adf\u65e0\u8bcd\r\n[02:19.55]\u6068\u5bf9\u9762\r\n[02:22.14]\u4e0d\u76f8\u8bc6\r\n[02:25.40]\u6211\u613f\u5316\u4f5c\r\n[02:27.87]\u671b\u65ad\u5929\u6daf\r\n[02:29.69]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:31.91]\u7bc6\u523b\u5fc3\u5934\r\n[02:34.34]\u662f\u4f60\u7684\u540d\u5b57\r\n[02:38.61]\u8f6e\u56de\u5f69\u8776\r\n[02:40.94]\u5316\u8327\u81ea\u7f1a\r\n[02:42.62]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[02:45.06]\u526a\u4e0d\u65ad\r\n[02:46.65]\u5171\u7f20\u7ef5\r\n[02:48.27]\u751f\u751f\u4e16\u4e16\r\n[02:51.72]\u6211\u613f\u5316\u4f5c\r\n[02:54.07]\u671b\u65ad\u5929\u6daf\r\n[02:55.85]\u90a3\u4e00\u65b9\u9752\u77f3\r\n[02:58.16]\u7bc6\u523b\u5fc3\u5934\r\n[03:00.66]\u662f\u4f60\u7684\u540d\u5b57\r\n[03:04.88]\u8f6e\u56de\u5f69\u8776\r\n[03:07.31]\u5316\u8327\u81ea\u7f1a\r\n[03:08.93]\u7ec7\u5c31\u6625\u8695\u4e1d\r\n[03:11.48]\u526a\u4e0d\u65ad\r\n[03:13.01]\u5171\u7f20\u7ef5\r\n[03:14.59]\u751f\u751f\u4e16\u4e16\r\n[03:17.93]\u526a\u4e0d\u65ad\r\n[03:19.59]\u5171\u7f20\u7ef5\r\n[03:21.20]\u751f\u751f\u4e16\u4e16\r\n"}] -------------------------------------------------------------------------------- /APlayer.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("APlayer",[],t):"object"==typeof exports?exports.APlayer=t():e.APlayer=t()}(this,function(){return function(e){function t(n){if(a[n])return a[n].exports;var r=a[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var a={};return t.m=e,t.c=a,t.i=function(e){return e},t.d=function(e,a,n){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=1)}([function(e,t,a){var n=a(2);"string"==typeof n&&(n=[[e.i,n,""]]);var r={};r.transform=void 0;a(4)(n,r);n.locals&&(e.exports=n.locals)},function(e,t,a){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t\n \n \n \n '},this.isMobile=/mobile/i.test(window.navigator.userAgent),this.isMobile&&(t.autoplay=!1);var s={element:document.getElementsByClassName("aplayer")[0],narrow:!1,autoplay:!1,mutex:!0,showlrc:0,theme:"#b7daff",mode:"circulation"};for(var p in s)s.hasOwnProperty(p)&&!t.hasOwnProperty(p)&&(t[p]=s[p]);if(this.option=t,this.audios=[],this.mode=t.mode,this.secondToTime=function(e){if(isNaN(e))return"00:00";var t=function(e){return e<10?"0"+e:""+e},a=parseInt(e/60),n=parseInt(e-60*a),r=parseInt(a/60),i=parseInt(e/60-60*parseInt(e/60/60));return e>=3600?t(r)+":"+t(i)+":"+t(n):t(a)+":"+t(n)},this.element=this.option.element,2===this.option.showlrc||!0===this.option.showlrc){this.savelrc=[];for(var c=0;c0?t:0,t=t<1?t:1,m[e+"Bar"].style[a]=100*t+"%"},this.updateLrc=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.audio.currentTime;if(i.lrcIndex>i.lrc.length-1||e=i.lrc[i.lrcIndex+1][0])for(var t=0;t=i.lrc[t][0]&&(!i.lrc[t+1]||e1&&this.element.classList.add("aplayer-withlist"),this.multiple||"circulation"===this.mode||"order"===this.mode||(this.mode="circulation"),this.getRandomOrder();for(var y='\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n - 00:00 / 00:00\n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
      ",h=0;h\n \n '+(h+1)+'\n '+this.option.music[h].title+'\n '+this.option.music[h].author+"\n ";y+="\n
    \n
    ",this.element.innerHTML=y,this.element.offsetWidth<300&&(this.element.getElementsByClassName("aplayer-icon-mode")[0].style.display="none"),this.ptime=this.element.getElementsByClassName("aplayer-ptime")[0],this.element.getElementsByClassName("aplayer-info")[0].offsetWidth<200&&this.element.getElementsByClassName("aplayer-time")[0].classList.add("aplayer-time-narrow");var m={};m.barWrap=this.element.getElementsByClassName("aplayer-bar-wrap")[0],this.option.narrow&&this.element.classList.add("aplayer-narrow"),this.button=this.element.getElementsByClassName("aplayer-button")[0],this.button.addEventListener("click",function(e){i.toggle()});var f=this.element.getElementsByClassName("aplayer-list")[0];f.addEventListener("click",function(e){var t=void 0;t="LI"===e.target.tagName.toUpperCase()?e.target:e.target.parentElement;var a=parseInt(t.getElementsByClassName("aplayer-list-index")[0].innerHTML)-1;a!==i.playIndex?(i.setMusic(a),i.play()):i.toggle()}),m.playedBar=this.element.getElementsByClassName("aplayer-played")[0],m.loadedBar=this.element.getElementsByClassName("aplayer-loaded")[0];var v=this.element.getElementsByClassName("aplayer-thumb")[0],g=void 0;m.barWrap.addEventListener("click",function(e){var t=e||window.event;g=m.barWrap.clientWidth;var n=(t.clientX-a(m.barWrap))/g;isNaN(i.audio.duration)?i.updateBar("played",0,"width"):(i.updateBar("played",n,"width"),i.element.getElementsByClassName("aplayer-ptime")[0].innerHTML=i.secondToTime(n*i.audio.duration),i.audio.currentTime=parseFloat(m.playedBar.style.width)/100*i.audio.duration)}),v.addEventListener("mouseover",function(){v.style.background=i.option.theme}),v.addEventListener("mouseout",function(){v.style.background="#fff"});var b=function(e){var t=e||window.event,n=(t.clientX-a(m.barWrap))/g;n=n>0?n:0,n=n<1?n:1,i.updateBar("played",n,"width"),i.option.showlrc&&i.updateLrc(parseFloat(m.playedBar.style.width)/100*i.audio.duration),i.element.getElementsByClassName("aplayer-ptime")[0].innerHTML=i.secondToTime(n*i.audio.duration)},x=function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",b),isNaN(i.audio.duration)?i.updateBar("played",0,"width"):(i.audio.currentTime=parseFloat(m.playedBar.style.width)/100*i.audio.duration,i.playedTime=setInterval(function(){i.updateBar("played",i.audio.currentTime/i.audio.duration,"width"),i.option.showlrc&&i.updateLrc(),i.element.getElementsByClassName("aplayer-ptime")[0].innerHTML=i.secondToTime(i.audio.currentTime),i.trigger("playing")},100))};v.addEventListener("mousedown",function(){g=m.barWrap.clientWidth,clearInterval(i.playedTime),document.addEventListener("mousemove",b),document.addEventListener("mouseup",x)}),m.volumeBar=this.element.getElementsByClassName("aplayer-volume")[0];var w=this.element.getElementsByClassName("aplayer-volume-bar")[0];this.volumeicon=this.element.getElementsByClassName("aplayer-time")[0].getElementsByTagName("button")[0];this.element.getElementsByClassName("aplayer-volume-bar-wrap")[0].addEventListener("click",function(e){var t=e||window.event,a=(35-t.clientY+n(w))/35;a=a>0?a:0,a=a<1?a:1,i.volume(a)}),this.volumeicon.addEventListener("click",function(){i.audio.muted?(i.audio.muted=!1,i.volumeicon.className=1===i.audio.volume?"aplayer-icon aplayer-icon-volume-up":"aplayer-icon aplayer-icon-volume-down",1===i.audio.volume?(i.volumeicon.className="aplayer-icon aplayer-icon-volume-up",i.volumeicon.innerHTML=i.getSVG("volume-up")):(i.volumeicon.className="aplayer-icon aplayer-icon-volume-down",i.volumeicon.innerHTML=i.getSVG("volume-down")),i.updateBar("volume",i.audio.volume,"height")):(i.audio.muted=!0,i.volumeicon.className="aplayer-icon aplayer-icon-volume-off",i.volumeicon.innerHTML=i.getSVG("volume-off"),i.updateBar("volume",0,"height"))});var A=this.element.getElementsByClassName("aplayer-icon-mode")[0];A.addEventListener("click",function(){i.multiple?"random"===i.mode?i.mode="single":"single"===i.mode?i.mode="order":"order"===i.mode?i.mode="circulation":"circulation"===i.mode&&(i.mode="random"):"circulation"===i.mode?i.mode="order":i.mode="circulation",A.innerHTML=i.getSVG(i.mode),i.audio.loop=!(i.multiple||"order"===i.mode)}),f.style.height=f.offsetHeight+"px",this.element.getElementsByClassName("aplayer-icon-menu")[0].addEventListener("click",function(){f.classList.contains("aplayer-list-hide")?f.classList.remove("aplayer-list-hide"):f.classList.add("aplayer-list-hide")}),"random"===this.mode?this.setMusic(this.randomOrder[0]):this.setMusic(0),l.push(this)}return i(e,[{key:"setMusic",value:function(e){var t=this;void 0!==e&&(this.playIndex=e);var a=this.playIndex;this.music=this.option.music[a],this.music.pic&&(this.element.getElementsByClassName("aplayer-pic")[0].style.backgroundImage="url('"+this.music.pic+"')"),this.element.getElementsByClassName("aplayer-title")[0].innerHTML=this.music.title,this.element.getElementsByClassName("aplayer-author")[0].innerHTML=" - "+this.music.author,this.element.getElementsByClassName("aplayer-list-light")[0]&&this.element.getElementsByClassName("aplayer-list-light")[0].classList.remove("aplayer-list-light"),this.element.getElementsByClassName("aplayer-list")[0].getElementsByTagName("li")[a].classList.add("aplayer-list-light"),!this.isMobile&&this.audio&&(this.pause(),this.audio.currentTime=0),this.element.getElementsByClassName("aplayer-list")[0].scrollTop=33*a,this.isMobile&&this.audio?(this.audio.src=this.music.url,this.play()):!this.isMobile&&this.audios[a]?(this.audio=this.audios[a],this.audio.volume=parseInt(this.element.getElementsByClassName("aplayer-volume")[0].style.height)/100,this.audio.currentTime=0):(this.audio=document.createElement("audio"),this.audio.src=this.music.url,this.audio.preload=this.option.preload?this.option.preload:"auto",this.audio.addEventListener("play",function(){if(t.button.classList.contains("aplayer-play")){if(t.button.classList.remove("aplayer-play"),t.button.classList.add("aplayer-pause"),t.button.innerHTML="",setTimeout(function(){t.button.innerHTML='\n "},100),t.option.mutex)for(var e=0;e'+t.getSVG("play")+" "},100),clearInterval(t.playedTime),t.trigger("pause"))}),this.audio.addEventListener("durationchange",function(){1!==t.audio.duration&&(t.element.getElementsByClassName("aplayer-dtime")[0].innerHTML=t.secondToTime(t.audio.duration))}),this.audio.addEventListener("progress",function(){var e=t.audio.buffered.length?t.audio.buffered.end(t.audio.buffered.length-1)/t.audio.duration:0;t.updateBar("loaded",e,"width")}),this.audio.addEventListener("error",function(){t.element.getElementsByClassName("aplayer-author")[0].innerHTML=" - Error happens ╥﹏╥",t.trigger("pause")}),this.audio.addEventListener("canplay",function(){t.trigger("canplay")}),this.ended=!1,this.audio.addEventListener("ended",function(){t.multiple?0!==t.audio.currentTime&&("random"===t.mode?t.setMusic(t.nextRandomNum()):"single"===t.mode?t.setMusic(t.playIndex):"order"===t.mode?t.playIndex=200&&o.status<300||304===o.status?(i=o.responseText,t.lrcs[r]=n(i)):(console.log("Request was unsuccessful: "+o.status),t.lrcs[r]=[["00:00","Not available"]]),t.lrc=t.lrcs[r];var e="";t.lrcContents=t.element.getElementsByClassName("aplayer-lrc-contents")[0];for(var a=0;a"+t.lrc[a][1]+"

    ";t.lrcContents.innerHTML=e,t.lrcIndex||(t.lrcIndex=0),t.lrcContents.getElementsByTagName("p")[0].classList.add("aplayer-lrc-current"),t.lrcContents.style.transform="translateY(0px)",t.lrcContents.style.webkitTransform="translateY(0px)"}};var s=void 0;s=this.option.music[r].lrc,o.open("get",s,!0),o.send(null)}i?this.lrcs[r]=n(i):3===this.option.showlrc?this.lrcs[r]=[["00:00","Loading"]]:this.lrcs[r]=[["00:00","Not available"]]}this.lrc=this.lrcs[r];var p="";this.lrcContents=this.element.getElementsByClassName("aplayer-lrc-contents")[0];for(var c=0;c"+this.lrc[c][1]+"

    ";this.lrcContents.innerHTML=p,this.lrcIndex||(this.lrcIndex=0),this.lrcContents.getElementsByTagName("p")[0].classList.add("aplayer-lrc-current"),this.lrcContents.style.transform="translateY(0px)",this.lrcContents.style.webkitTransform="translateY(0px)"}1!==this.audio.duration&&(this.element.getElementsByClassName("aplayer-dtime")[0].innerHTML=this.audio.duration?this.secondToTime(this.audio.duration):"00:00"),this.option.autoplay&&!this.isMobile&&this.play(),this.option.autoplay=!0}},{key:"play",value:function(e){"[object Number]"===Object.prototype.toString.call(e)&&(this.audio.currentTime=e),this.audio.paused&&this.audio.play()}},{key:"pause",value:function(){this.audio.paused||this.audio.pause()}},{key:"volume",value:function(e){this.updateBar("volume",e,"height"),this.audio.volume=e,this.audio.muted&&(this.audio.muted=!1),1===e?(this.volumeicon.className="aplayer-icon aplayer-icon-volume-up",this.volumeicon.innerHTML=this.getSVG("volume-up")):(this.volumeicon.className="aplayer-icon aplayer-icon-volume-down",this.volumeicon.innerHTML=this.getSVG("volume-down"))}},{key:"on",value:function(e,t){"function"==typeof t&&this.event[e].push(t)}},{key:"toggle",value:function(){this.button.classList.contains("aplayer-play")?this.play():this.button.classList.contains("aplayer-pause")&&this.pause()}},{key:"getRandomOrder",value:function(){function e(e,t){return null==t&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))}this.multiple&&(this.randomOrder=function(t){for(var a,n=t.length,r=new Array(n),i=0;i\n \n '+(this.option.music.length-e.length+r+1)+'\n '+e[r].title+'\n '+e[r].author+"\n ";a.innerHTML+=n,this.multiple||(this.multiple=!0,this.element.classList.add("aplayer-withlist"),this.audio.loop=!1),t.style.height="auto",t.style.height=t.offsetHeight+"px",this.getRandomOrder()}}]),e}();e.exports=o},function(e,t,a){t=e.exports=a(3)(void 0),t.push([e.i,".aplayer-narrow {\n width: 66px; }\n .aplayer-narrow .aplayer-info {\n display: none; }\n\n.aplayer-withlrc.aplayer-narrow {\n width: 180px; }\n\n.aplayer-withlrc.aplayer .aplayer-pic {\n height: 180px;\n width: 180px; }\n\n.aplayer-withlrc.aplayer .aplayer-info {\n margin-left: 180px;\n height: 180px; }\n\n.aplayer-withlrc.aplayer .aplayer-lrc {\n display: block; }\n\n.aplayer-withlrc.aplayer .aplayer-info {\n padding: 10px 7px 0 7px; }\n\n.aplayer-withlist.aplayer .aplayer-info {\n border-bottom: 1px solid #e9e9e9; }\n\n.aplayer-withlist.aplayer .aplayer-list {\n display: block; }\n\n.aplayer-withlist.aplayer .aplayer-icon-menu {\n display: inline !important; }\n\n.aplayer {\n font-family: Arial, Helvetica, sans-serif;\n margin: 5px;\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n border-radius: 2px;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n line-height: initial; }\n .aplayer * {\n -webkit-box-sizing: content-box;\n box-sizing: content-box; }\n .aplayer .aplayer-icon {\n width: 15px;\n height: 15px;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n opacity: .8;\n vertical-align: middle;\n padding: 0;\n font-size: 12px;\n margin: 0;\n display: inline; }\n .aplayer .aplayer-icon .aplayer-fill {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out; }\n .aplayer .aplayer-lrc-content {\n display: none; }\n .aplayer .aplayer-pic {\n position: relative;\n float: left;\n height: 66px;\n width: 66px;\n background-image: url("+a(6)+");\n background-size: 100%;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .aplayer .aplayer-pic .aplayer-button {\n position: absolute;\n border-radius: 50%;\n opacity: 0.8;\n cursor: pointer;\n text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);\n background: rgba(0, 0, 0, 0.2);\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease; }\n .aplayer .aplayer-pic .aplayer-button:hover {\n opacity: 1; }\n .aplayer .aplayer-pic .aplayer-button .aplayer-fill {\n fill: #fff; }\n .aplayer .aplayer-pic .aplayer-hide {\n display: none; }\n .aplayer .aplayer-pic .aplayer-play {\n width: 26px;\n height: 26px;\n border: 2px solid #fff;\n bottom: 50%;\n right: 50%;\n margin: 0 -15px -15px 0; }\n .aplayer .aplayer-pic .aplayer-play .aplayer-icon-play {\n position: absolute;\n top: 3px;\n left: 4px;\n height: 20px;\n width: 20px; }\n .aplayer .aplayer-pic .aplayer-pause {\n width: 16px;\n height: 16px;\n border: 2px solid #fff;\n bottom: 4px;\n right: 4px; }\n .aplayer .aplayer-pic .aplayer-pause .aplayer-icon-pause {\n position: absolute;\n top: 2px;\n left: 2px;\n height: 12px;\n width: 12px; }\n .aplayer .aplayer-info {\n margin-left: 66px;\n padding: 14px 7px 0 10px;\n height: 66px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n .aplayer .aplayer-info .aplayer-music {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n margin: 0 0 13px 5px;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n cursor: default;\n padding-bottom: 2px; }\n .aplayer .aplayer-info .aplayer-music .aplayer-title {\n font-size: 14px; }\n .aplayer .aplayer-info .aplayer-music .aplayer-author {\n font-size: 12px;\n color: #666; }\n .aplayer .aplayer-info .aplayer-controller {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap {\n margin: 0 0 0 5px;\n padding: 4px 0;\n cursor: pointer !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar {\n position: relative;\n height: 2px;\n width: 100%;\n background: #cdcdcd; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: #aaa;\n height: 2px;\n -webkit-transition: all 0.5s ease;\n transition: all 0.5s ease; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 2px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 8px;\n width: 8px;\n border-radius: 50%;\n background: #fff;\n cursor: pointer !important; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time {\n position: relative;\n right: 0;\n bottom: 3px;\n height: 17px;\n color: #999;\n font-size: 11px;\n padding-left: 7px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner {\n vertical-align: middle; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon {\n cursor: pointer;\n -webkit-transition: all 0.2s ease;\n transition: all 0.2s ease; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon .aplayer-fill {\n fill: #666; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-mode {\n margin-right: 4px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover .aplayer-fill {\n fill: #000; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-mode {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-menu {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap {\n position: relative;\n display: inline-block;\n margin-left: 3px;\n cursor: pointer !important; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap:hover .aplayer-volume-bar-wrap {\n display: block; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap {\n display: none;\n position: absolute;\n bottom: 15px;\n right: -3px;\n width: 25px;\n height: 40px;\n z-index: 99; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar {\n position: absolute;\n bottom: 0;\n right: 10px;\n width: 5px;\n height: 35px;\n background: #aaa; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar .aplayer-volume {\n position: absolute;\n bottom: 0;\n right: 0;\n width: 5px;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease; }\n .aplayer .aplayer-lrc {\n display: none;\n position: relative;\n height: 120px;\n text-align: center;\n overflow: hidden;\n margin: -10px 0 7px;\n font-size: 16px; }\n .aplayer .aplayer-lrc:before {\n position: absolute;\n top: 0;\n z-index: 1;\n display: block;\n overflow: hidden;\n width: 100%;\n height: 10%;\n content: ' ';\n background: -webkit-gradient(linear, left top, left bottom, from(white), to(rgba(255, 255, 255, 0)));\n background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 ); }\n .aplayer .aplayer-lrc:after {\n position: absolute;\n bottom: 0;\n z-index: 1;\n display: block;\n overflow: hidden;\n width: 100%;\n height: 33%;\n content: ' ';\n background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.8)));\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ccffffff',GradientType=0 ); }\n .aplayer .aplayer-lrc p {\n font-size: 14px;\n color: #666;\n line-height: 20px !important;\n height: 20px !important;\n padding: 0 !important;\n margin: 0 !important;\n -webkit-transition: all 0.5s ease-out;\n transition: all 0.5s ease-out;\n opacity: 0.4;\n overflow: hidden; }\n .aplayer .aplayer-lrc p.aplayer-lrc-current {\n opacity: 1;\n font-size: 16px;\n color: #f3622d;\n margin: 5px 0 !important;\n overflow: visible;\n height: initial !important; }\n .aplayer .aplayer-lrc .aplayer-lrc-contents {\n width: 100%;\n -webkit-transition: all 0.5s ease-out;\n transition: all 0.5s ease-out;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n cursor: default; }\n .aplayer .aplayer-list {\n overflow: auto;\n -webkit-transition: all 0.5s ease;\n transition: all 0.5s ease;\n will-change: height;\n display: none; }\n .aplayer .aplayer-list.aplayer-list-hide {\n height: 0 !important; }\n .aplayer .aplayer-list::-webkit-scrollbar {\n width: 5px; }\n .aplayer .aplayer-list::-webkit-scrollbar-track {\n background-color: #f9f9f9; }\n .aplayer .aplayer-list::-webkit-scrollbar-thumb {\n border-radius: 3px;\n background-color: #eee; }\n .aplayer .aplayer-list::-webkit-scrollbar-thumb:hover {\n background-color: #ccc; }\n .aplayer .aplayer-list ol {\n list-style-type: none;\n margin: 0;\n padding: 0; }\n .aplayer .aplayer-list ol li {\n position: relative;\n height: 32px;\n line-height: 32px;\n padding: 0 15px;\n font-size: 12px;\n border-top: 1px solid #e9e9e9;\n cursor: pointer;\n -webkit-transition: all 0.2s ease;\n transition: all 0.2s ease;\n overflow: hidden; }\n .aplayer .aplayer-list ol li:first-child {\n border-top: none; }\n .aplayer .aplayer-list ol li:hover {\n background: #efefef; }\n .aplayer .aplayer-list ol li.aplayer-list-light {\n background: #e9e9e9; }\n .aplayer .aplayer-list ol li.aplayer-list-light .aplayer-list-cur {\n display: inline-block; }\n .aplayer .aplayer-list ol li .aplayer-list-cur {\n display: none;\n width: 3px;\n height: 22px;\n position: absolute;\n left: 0;\n top: 5px;\n cursor: pointer; }\n .aplayer .aplayer-list ol li .aplayer-list-index {\n color: #666;\n margin-right: 12px;\n cursor: pointer; }\n .aplayer .aplayer-list ol li .aplayer-list-author {\n color: #666;\n float: right;\n cursor: pointer; }\n\n@-webkit-keyframes aplayer-roll {\n 0% {\n left: 0; }\n 100% {\n left: -100%; } }\n\n@keyframes aplayer-roll {\n 0% {\n left: 0; }\n 100% {\n left: -100%; } }\n",""])},function(e,t){function a(e,t){var a=e[1]||"",r=e[3];if(!r)return a;if(t&&"function"==typeof btoa){var i=n(r);return[a].concat(r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"})).concat([i]).join("\n")}return[a].join("\n")}function n(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=a(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,a){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},r=0;r=0&&b.splice(t,1)}function o(e){var t=document.createElement("style");return e.attrs.type="text/css",p(t,e.attrs),i(e,t),t}function s(e){var t=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",p(t,e.attrs),i(e,t),t}function p(e,t){Object.keys(t).forEach(function(a){e.setAttribute(a,t[a])})}function c(e,t){var a,n,r,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var p=g++;a=v||(v=o(t)),n=u.bind(null,a,p,!1),r=u.bind(null,a,p,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(a=s(t),n=y.bind(null,a,t),r=function(){l(a),a.href&&URL.revokeObjectURL(a.href)}):(a=o(t),n=d.bind(null,a),r=function(){l(a)});return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else r()}}function u(e,t,a,n){var r=a?"":n.css;if(e.styleSheet)e.styleSheet.cssText=w(t,r);else{var i=document.createTextNode(r),l=e.childNodes;l[t]&&e.removeChild(l[t]),l.length?e.insertBefore(i,l[t]):e.appendChild(i)}}function d(e,t){var a=t.css,n=t.media;if(n&&e.setAttribute("media",n),e.styleSheet)e.styleSheet.cssText=a;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(a))}}function y(e,t,a){var n=a.css,r=a.sourceMap,i=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||i)&&(n=x(n)),r&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var l=new Blob([n],{type:"text/css"}),o=e.href;e.href=URL.createObjectURL(l),o&&URL.revokeObjectURL(o)}var h={},m=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),f=function(e){var t={};return function(a){return void 0===t[a]&&(t[a]=e.call(this,a)),t[a]}}(function(e){return document.querySelector(e)}),v=null,g=0,b=[],x=a(5);e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");t=t||{},t.attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=m()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var a=r(e,t);return n(a,t),function(e){for(var i=[],l=0;l\n \n \n \n '},this.isMobile=/mobile/i.test(window.navigator.userAgent),this.isMobile&&(t.autoplay=!1);var s={element:document.getElementsByClassName("aplayer")[0],narrow:!1,autoplay:!1,mutex:!0,showlrc:0,theme:"#b7daff",mode:"circulation"};for(var p in s)s.hasOwnProperty(p)&&!t.hasOwnProperty(p)&&(t[p]=s[p]);if(this.option=t,this.audios=[],this.mode=t.mode,this.secondToTime=function(e){if(isNaN(e))return"00:00";var t=function(e){return e<10?"0"+e:""+e},a=parseInt(e/60),n=parseInt(e-60*a),r=parseInt(a/60),i=parseInt(e/60-60*parseInt(e/60/60));return e>=3600?t(r)+":"+t(i)+":"+t(n):t(a)+":"+t(n)},this.element=this.option.element,2===this.option.showlrc||!0===this.option.showlrc){this.savelrc=[];for(var c=0;c0?t:0,t=t<1?t:1,m[e+"Bar"].style[a]=100*t+"%"},this.updateLrc=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.audio.currentTime;if(i.lrcIndex>i.lrc.length-1||e=i.lrc[i.lrcIndex+1][0])for(var t=0;t=i.lrc[t][0]&&(!i.lrc[t+1]||e1&&this.element.classList.add("aplayer-withlist"),this.multiple||"circulation"===this.mode||"order"===this.mode||(this.mode="circulation"),this.getRandomOrder();for(var y='\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n - 00:00 / 00:00\n \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
      ",h=0;h\n \n '+(h+1)+'\n '+this.option.music[h].title+'\n '+this.option.music[h].author+"\n ";y+="\n
    \n
    ",this.element.innerHTML=y,this.element.offsetWidth<300&&(this.element.getElementsByClassName("aplayer-icon-mode")[0].style.display="none"),this.ptime=this.element.getElementsByClassName("aplayer-ptime")[0],this.element.getElementsByClassName("aplayer-info")[0].offsetWidth<200&&this.element.getElementsByClassName("aplayer-time")[0].classList.add("aplayer-time-narrow");var m={};m.barWrap=this.element.getElementsByClassName("aplayer-bar-wrap")[0],this.option.narrow&&this.element.classList.add("aplayer-narrow"),this.button=this.element.getElementsByClassName("aplayer-button")[0],this.button.addEventListener("click",function(e){i.toggle()});var f=this.element.getElementsByClassName("aplayer-list")[0];f.addEventListener("click",function(e){var t=void 0;t="LI"===e.target.tagName.toUpperCase()?e.target:e.target.parentElement;var a=parseInt(t.getElementsByClassName("aplayer-list-index")[0].innerHTML)-1;a!==i.playIndex?(i.setMusic(a),i.play()):i.toggle()}),m.playedBar=this.element.getElementsByClassName("aplayer-played")[0],m.loadedBar=this.element.getElementsByClassName("aplayer-loaded")[0];var v=this.element.getElementsByClassName("aplayer-thumb")[0],g=void 0;m.barWrap.addEventListener("click",function(e){var t=e||window.event;g=m.barWrap.clientWidth;var n=(t.clientX-a(m.barWrap))/g;isNaN(i.audio.duration)?i.updateBar("played",0,"width"):(i.updateBar("played",n,"width"),i.element.getElementsByClassName("aplayer-ptime")[0].innerHTML=i.secondToTime(n*i.audio.duration),i.audio.currentTime=parseFloat(m.playedBar.style.width)/100*i.audio.duration)}),v.addEventListener("mouseover",function(){v.style.background=i.option.theme}),v.addEventListener("mouseout",function(){v.style.background="#fff"});var b=function(e){var t=e||window.event,n=(t.clientX-a(m.barWrap))/g;n=n>0?n:0,n=n<1?n:1,i.updateBar("played",n,"width"),i.option.showlrc&&i.updateLrc(parseFloat(m.playedBar.style.width)/100*i.audio.duration),i.element.getElementsByClassName("aplayer-ptime")[0].innerHTML=i.secondToTime(n*i.audio.duration)},x=function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",b),isNaN(i.audio.duration)?i.updateBar("played",0,"width"):(i.audio.currentTime=parseFloat(m.playedBar.style.width)/100*i.audio.duration,i.playedTime=setInterval(function(){i.updateBar("played",i.audio.currentTime/i.audio.duration,"width"),i.option.showlrc&&i.updateLrc(),i.element.getElementsByClassName("aplayer-ptime")[0].innerHTML=i.secondToTime(i.audio.currentTime),i.trigger("playing")},100))};v.addEventListener("mousedown",function(){g=m.barWrap.clientWidth,clearInterval(i.playedTime),document.addEventListener("mousemove",b),document.addEventListener("mouseup",x)}),m.volumeBar=this.element.getElementsByClassName("aplayer-volume")[0];var w=this.element.getElementsByClassName("aplayer-volume-bar")[0];this.volumeicon=this.element.getElementsByClassName("aplayer-time")[0].getElementsByTagName("button")[0];this.element.getElementsByClassName("aplayer-volume-bar-wrap")[0].addEventListener("click",function(e){var t=e||window.event,a=(35-t.clientY+n(w))/35;a=a>0?a:0,a=a<1?a:1,i.volume(a)}),this.volumeicon.addEventListener("click",function(){i.audio.muted?(i.audio.muted=!1,i.volumeicon.className=1===i.audio.volume?"aplayer-icon aplayer-icon-volume-up":"aplayer-icon aplayer-icon-volume-down",1===i.audio.volume?(i.volumeicon.className="aplayer-icon aplayer-icon-volume-up",i.volumeicon.innerHTML=i.getSVG("volume-up")):(i.volumeicon.className="aplayer-icon aplayer-icon-volume-down",i.volumeicon.innerHTML=i.getSVG("volume-down")),i.updateBar("volume",i.audio.volume,"height")):(i.audio.muted=!0,i.volumeicon.className="aplayer-icon aplayer-icon-volume-off",i.volumeicon.innerHTML=i.getSVG("volume-off"),i.updateBar("volume",0,"height"))});var A=this.element.getElementsByClassName("aplayer-icon-mode")[0];A.addEventListener("click",function(){i.multiple?"random"===i.mode?i.mode="single":"single"===i.mode?i.mode="order":"order"===i.mode?i.mode="circulation":"circulation"===i.mode&&(i.mode="random"):"circulation"===i.mode?i.mode="order":i.mode="circulation",A.innerHTML=i.getSVG(i.mode),i.audio.loop=!(i.multiple||"order"===i.mode)}),f.style.height=f.offsetHeight+"px",this.element.getElementsByClassName("aplayer-icon-menu")[0].addEventListener("click",function(){f.classList.contains("aplayer-list-hide")?f.classList.remove("aplayer-list-hide"):f.classList.add("aplayer-list-hide")}),"random"===this.mode?this.setMusic(this.randomOrder[0]):this.setMusic(0),l.push(this)}return i(e,[{key:"setMusic",value:function(e){var t=this;void 0!==e&&(this.playIndex=e);var a=this.playIndex;this.music=this.option.music[a],this.music.pic&&(this.element.getElementsByClassName("aplayer-pic")[0].style.backgroundImage="url('"+this.music.pic+"')"),this.element.getElementsByClassName("aplayer-title")[0].innerHTML=this.music.title,this.element.getElementsByClassName("aplayer-author")[0].innerHTML=" - "+this.music.author,this.element.getElementsByClassName("aplayer-list-light")[0]&&this.element.getElementsByClassName("aplayer-list-light")[0].classList.remove("aplayer-list-light"),this.element.getElementsByClassName("aplayer-list")[0].getElementsByTagName("li")[a].classList.add("aplayer-list-light"),!this.isMobile&&this.audio&&(this.pause(),this.audio.currentTime=0),this.element.getElementsByClassName("aplayer-list")[0].scrollTop=33*a,this.isMobile&&this.audio?(this.audio.src=this.music.url,this.play()):!this.isMobile&&this.audios[a]?(this.audio=this.audios[a],this.audio.volume=parseInt(this.element.getElementsByClassName("aplayer-volume")[0].style.height)/100,this.audio.currentTime=0):(this.audio=document.createElement("audio"),this.audio.src=this.music.url,this.audio.preload=this.option.preload?this.option.preload:"auto",this.audio.addEventListener("play",function(){if(t.button.classList.contains("aplayer-play")){if(t.button.classList.remove("aplayer-play"),t.button.classList.add("aplayer-pause"),t.button.innerHTML="",setTimeout(function(){t.button.innerHTML='\n "},100),t.option.mutex)for(var e=0;e'+t.getSVG("play")+" "},100),clearInterval(t.playedTime),t.trigger("pause"))}),this.audio.addEventListener("durationchange",function(){1!==t.audio.duration&&(t.element.getElementsByClassName("aplayer-dtime")[0].innerHTML=t.secondToTime(t.audio.duration))}),this.audio.addEventListener("progress",function(){var e=t.audio.buffered.length?t.audio.buffered.end(t.audio.buffered.length-1)/t.audio.duration:0;t.updateBar("loaded",e,"width")}),this.audio.addEventListener("error",function(){t.element.getElementsByClassName("aplayer-author")[0].innerHTML=" - Error happens ╥﹏╥",t.trigger("pause")}),this.audio.addEventListener("canplay",function(){t.trigger("canplay")}),this.ended=!1,this.audio.addEventListener("ended",function(){t.multiple?0!==t.audio.currentTime&&("random"===t.mode?t.setMusic(t.nextRandomNum()):"single"===t.mode?t.setMusic(t.playIndex):"order"===t.mode?t.playIndex=200&&o.status<300||304===o.status?(i=o.responseText,t.lrcs[r]=n(i)):(console.log("Request was unsuccessful: "+o.status),t.lrcs[r]=[["00:00","Not available"]]),t.lrc=t.lrcs[r];var e="";t.lrcContents=t.element.getElementsByClassName("aplayer-lrc-contents")[0];for(var a=0;a"+t.lrc[a][1]+"

    ";t.lrcContents.innerHTML=e,t.lrcIndex||(t.lrcIndex=0),t.lrcContents.getElementsByTagName("p")[0].classList.add("aplayer-lrc-current"),t.lrcContents.style.transform="translateY(0px)",t.lrcContents.style.webkitTransform="translateY(0px)"}};var s=void 0;s=this.option.music[r].lrc,o.open("get",s,!0),o.send(null)}i?this.lrcs[r]=n(i):3===this.option.showlrc?this.lrcs[r]=[["00:00","Loading"]]:this.lrcs[r]=[["00:00","Not available"]]}this.lrc=this.lrcs[r];var p="";this.lrcContents=this.element.getElementsByClassName("aplayer-lrc-contents")[0];for(var c=0;c"+this.lrc[c][1]+"

    ";this.lrcContents.innerHTML=p,this.lrcIndex||(this.lrcIndex=0),this.lrcContents.getElementsByTagName("p")[0].classList.add("aplayer-lrc-current"),this.lrcContents.style.transform="translateY(0px)",this.lrcContents.style.webkitTransform="translateY(0px)"}1!==this.audio.duration&&(this.element.getElementsByClassName("aplayer-dtime")[0].innerHTML=this.audio.duration?this.secondToTime(this.audio.duration):"00:00"),this.option.autoplay&&!this.isMobile&&this.play(),this.option.autoplay=!0}},{key:"play",value:function(e){"[object Number]"===Object.prototype.toString.call(e)&&(this.audio.currentTime=e),this.audio.paused&&this.audio.play()}},{key:"pause",value:function(){this.audio.paused||this.audio.pause()}},{key:"volume",value:function(e){this.updateBar("volume",e,"height"),this.audio.volume=e,this.audio.muted&&(this.audio.muted=!1),1===e?(this.volumeicon.className="aplayer-icon aplayer-icon-volume-up",this.volumeicon.innerHTML=this.getSVG("volume-up")):(this.volumeicon.className="aplayer-icon aplayer-icon-volume-down",this.volumeicon.innerHTML=this.getSVG("volume-down"))}},{key:"on",value:function(e,t){"function"==typeof t&&this.event[e].push(t)}},{key:"toggle",value:function(){this.button.classList.contains("aplayer-play")?this.play():this.button.classList.contains("aplayer-pause")&&this.pause()}},{key:"getRandomOrder",value:function(){function e(e,t){return null==t&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))}this.multiple&&(this.randomOrder=function(t){for(var a,n=t.length,r=new Array(n),i=0;i\n \n '+(this.option.music.length-e.length+r+1)+'\n '+e[r].title+'\n '+e[r].author+"\n ";a.innerHTML+=n,this.multiple||(this.multiple=!0,this.element.classList.add("aplayer-withlist"),this.audio.loop=!1),t.style.height="auto",t.style.height=t.offsetHeight+"px",this.getRandomOrder()}}]),e}();e.exports=o},function(e,t,a){t=e.exports=a(3)(void 0),t.push([e.i,".aplayer-narrow {\n width: 66px; }\n .aplayer-narrow .aplayer-info {\n display: none; }\n\n.aplayer-withlrc.aplayer-narrow {\n width: 180px; }\n\n.aplayer-withlrc.aplayer .aplayer-pic {\n height: 140px;\n width: 140px; }\n\n.aplayer-withlrc.aplayer .aplayer-info {\n margin-left: 140px;\n height: 140px; }\n\n.aplayer-withlrc.aplayer .aplayer-lrc {\n display: block; }\n\n.aplayer-withlrc.aplayer .aplayer-info {\n padding: 10px 7px 0 7px; }\n\n.aplayer-withlist.aplayer .aplayer-info {\n border-bottom: 1px solid #e9e9e9; }\n\n.aplayer-withlist.aplayer .aplayer-list {\n display: block; }\n\n.aplayer-withlist.aplayer .aplayer-icon-menu {\n display: inline !important; }\n\n.aplayer {\n font-family: Arial, Helvetica, sans-serif;\n margin: 5px;\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n border-radius: 2px;\n overflow: hidden;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n line-height: initial; }\n .aplayer * {\n -webkit-box-sizing: content-box;\n box-sizing: content-box; }\n .aplayer .aplayer-icon {\n width: 15px;\n height: 15px;\n border: none;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n opacity: .8;\n vertical-align: middle;\n padding: 0;\n font-size: 12px;\n margin: 0;\n display: inline; }\n .aplayer .aplayer-icon .aplayer-fill {\n -webkit-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out; }\n .aplayer .aplayer-lrc-content {\n display: none; }\n .aplayer .aplayer-pic {\n position: relative;\n float: left;\n height: 66px;\n width: 66px;\n background-image: url("+a(6)+");\n background-size: 100%;\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease; }\n .aplayer .aplayer-pic .aplayer-button {\n position: absolute;\n border-radius: 50%;\n opacity: 0.8;\n cursor: pointer;\n text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);\n background: rgba(0, 0, 0, 0.2);\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease; }\n .aplayer .aplayer-pic .aplayer-button:hover {\n opacity: 1; }\n .aplayer .aplayer-pic .aplayer-button .aplayer-fill {\n fill: #fff; }\n .aplayer .aplayer-pic .aplayer-hide {\n display: none; }\n .aplayer .aplayer-pic .aplayer-play {\n width: 26px;\n height: 26px;\n border: 2px solid #fff;\n bottom: 50%;\n right: 50%;\n margin: 0 -15px -15px 0; }\n .aplayer .aplayer-pic .aplayer-play .aplayer-icon-play {\n position: absolute;\n top: 3px;\n left: 4px;\n height: 20px;\n width: 20px; }\n .aplayer .aplayer-pic .aplayer-pause {\n width: 16px;\n height: 16px;\n border: 2px solid #fff;\n bottom: 4px;\n right: 4px; }\n .aplayer .aplayer-pic .aplayer-pause .aplayer-icon-pause {\n position: absolute;\n top: 2px;\n left: 2px;\n height: 12px;\n width: 12px; }\n .aplayer .aplayer-info {\n margin-left: 66px;\n padding: 14px 7px 0 10px;\n height: 66px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n .aplayer .aplayer-info .aplayer-music {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n margin: 0 0 13px 5px;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n cursor: default;\n padding-bottom: 2px; }\n .aplayer .aplayer-info .aplayer-music .aplayer-title {\n font-size: 14px; }\n .aplayer .aplayer-info .aplayer-music .aplayer-author {\n font-size: 12px;\n color: #666; }\n .aplayer .aplayer-info .aplayer-controller {\n position: relative;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap {\n margin: 0 0 0 5px;\n padding: 4px 0;\n cursor: pointer !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar {\n position: relative;\n height: 2px;\n width: 100%;\n background: #cdcdcd; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-loaded {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n background: #aaa;\n height: 2px;\n -webkit-transition: all 0.5s ease;\n transition: all 0.5s ease; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n height: 2px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-bar-wrap .aplayer-bar .aplayer-played .aplayer-thumb {\n position: absolute;\n top: 0;\n right: 5px;\n margin-top: -4px;\n margin-right: -10px;\n height: 8px;\n width: 8px;\n border-radius: 50%;\n background: #fff;\n cursor: pointer !important; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time {\n position: relative;\n right: 0;\n bottom: 3px;\n height: 17px;\n color: #999;\n font-size: 11px;\n padding-left: 7px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-time-inner {\n vertical-align: middle; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon {\n cursor: pointer;\n -webkit-transition: all 0.2s ease;\n transition: all 0.2s ease; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon .aplayer-fill {\n fill: #666; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-mode {\n margin-right: 4px; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon:hover .aplayer-fill {\n fill: #000; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon.aplayer-icon-menu {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-mode {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-time.aplayer-time-narrow .aplayer-icon-menu {\n display: none; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap {\n position: relative;\n display: inline-block;\n margin-left: 3px;\n cursor: pointer !important; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap:hover .aplayer-volume-bar-wrap {\n display: block; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap {\n display: none;\n position: absolute;\n bottom: 15px;\n right: -3px;\n width: 25px;\n height: 40px;\n z-index: 99; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar {\n position: absolute;\n bottom: 0;\n right: 10px;\n width: 5px;\n height: 35px;\n background: #aaa; }\n .aplayer .aplayer-info .aplayer-controller .aplayer-volume-wrap .aplayer-volume-bar-wrap .aplayer-volume-bar .aplayer-volume {\n position: absolute;\n bottom: 0;\n right: 0;\n width: 5px;\n -webkit-transition: all 0.1s ease;\n transition: all 0.1s ease; }\n .aplayer .aplayer-lrc {\n display: none;\n position: relative;\n height: 80px;\n text-align: center;\n overflow: hidden;\n margin: -10px 0 7px;\n font-size: 16px; }\n .aplayer .aplayer-lrc:before {\n position: absolute;\n top: 0;\n z-index: 1;\n display: block;\n overflow: hidden;\n width: 100%;\n height: 10%;\n content: ' ';\n background: -webkit-gradient(linear, left top, left bottom, from(white), to(rgba(255, 255, 255, 0)));\n background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 ); }\n .aplayer .aplayer-lrc:after {\n position: absolute;\n bottom: 0;\n z-index: 1;\n display: block;\n overflow: hidden;\n width: 100%;\n height: 33%;\n content: ' ';\n background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.8)));\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ccffffff',GradientType=0 ); }\n .aplayer .aplayer-lrc p {\n font-size: 11px;\n color: #666;\n line-height: 20px !important;\n height: 20px !important;\n padding: 0 !important;\n margin: 0 !important;\n -webkit-transition: all 0.5s ease-out;\n transition: all 0.5s ease-out;\n opacity: 0.4;\n overflow: hidden; }\n .aplayer .aplayer-lrc p.aplayer-lrc-current {\n opacity: 1;\n font-size: 13px;\n color: #f3622d;\n overflow: visible;\n height: initial !important; }\n .aplayer .aplayer-lrc .aplayer-lrc-contents {\n width: 100%;\n -webkit-transition: all 0.5s ease-out;\n transition: all 0.5s ease-out;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n cursor: default; }\n .aplayer .aplayer-list {\n overflow: auto;\n -webkit-transition: all 0.5s ease;\n transition: all 0.5s ease;\n will-change: height;\n display: none; }\n .aplayer .aplayer-list.aplayer-list-hide {\n height: 0 !important; }\n .aplayer .aplayer-list::-webkit-scrollbar {\n width: 5px; }\n .aplayer .aplayer-list::-webkit-scrollbar-track {\n background-color: #f9f9f9; }\n .aplayer .aplayer-list::-webkit-scrollbar-thumb {\n border-radius: 3px;\n background-color: #eee; }\n .aplayer .aplayer-list::-webkit-scrollbar-thumb:hover {\n background-color: #ccc; }\n .aplayer .aplayer-list ol {\n list-style-type: none;\n margin: 0;\n padding: 0; }\n .aplayer .aplayer-list ol li {\n position: relative;\n height: 32px;\n line-height: 32px;\n padding: 0 15px;\n font-size: 12px;\n border-top: 1px solid #e9e9e9;\n cursor: pointer;\n -webkit-transition: all 0.2s ease;\n transition: all 0.2s ease;\n overflow: hidden; }\n .aplayer .aplayer-list ol li:first-child {\n border-top: none; }\n .aplayer .aplayer-list ol li:hover {\n background: #efefef; }\n .aplayer .aplayer-list ol li.aplayer-list-light {\n background: #e9e9e9; }\n .aplayer .aplayer-list ol li.aplayer-list-light .aplayer-list-cur {\n display: inline-block; }\n .aplayer .aplayer-list ol li .aplayer-list-cur {\n display: none;\n width: 3px;\n height: 22px;\n position: absolute;\n left: 0;\n top: 5px;\n cursor: pointer; }\n .aplayer .aplayer-list ol li .aplayer-list-index {\n color: #666;\n margin-right: 12px;\n cursor: pointer; }\n .aplayer .aplayer-list ol li .aplayer-list-author {\n color: #666;\n float: right;\n cursor: pointer; }\n\n@-webkit-keyframes aplayer-roll {\n 0% {\n left: 0; }\n 100% {\n left: -100%; } }\n\n@keyframes aplayer-roll {\n 0% {\n left: 0; }\n 100% {\n left: -100%; } }\n",""])},function(e,t){function a(e,t){var a=e[1]||"",r=e[3];if(!r)return a;if(t&&"function"==typeof btoa){var i=n(r);return[a].concat(r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"})).concat([i]).join("\n")}return[a].join("\n")}function n(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=a(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,a){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},r=0;r=0&&b.splice(t,1)}function o(e){var t=document.createElement("style");return e.attrs.type="text/css",p(t,e.attrs),i(e,t),t}function s(e){var t=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",p(t,e.attrs),i(e,t),t}function p(e,t){Object.keys(t).forEach(function(a){e.setAttribute(a,t[a])})}function c(e,t){var a,n,r,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var p=g++;a=v||(v=o(t)),n=u.bind(null,a,p,!1),r=u.bind(null,a,p,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(a=s(t),n=y.bind(null,a,t),r=function(){l(a),a.href&&URL.revokeObjectURL(a.href)}):(a=o(t),n=d.bind(null,a),r=function(){l(a)});return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else r()}}function u(e,t,a,n){var r=a?"":n.css;if(e.styleSheet)e.styleSheet.cssText=w(t,r);else{var i=document.createTextNode(r),l=e.childNodes;l[t]&&e.removeChild(l[t]),l.length?e.insertBefore(i,l[t]):e.appendChild(i)}}function d(e,t){var a=t.css,n=t.media;if(n&&e.setAttribute("media",n),e.styleSheet)e.styleSheet.cssText=a;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(a))}}function y(e,t,a){var n=a.css,r=a.sourceMap,i=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||i)&&(n=x(n)),r&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var l=new Blob([n],{type:"text/css"}),o=e.href;e.href=URL.createObjectURL(l),o&&URL.revokeObjectURL(o)}var h={},m=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),f=function(e){var t={};return function(a){return void 0===t[a]&&(t[a]=e.call(this,a)),t[a]}}(function(e){return document.querySelector(e)}),v=null,g=0,b=[],x=a(5);e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");t=t||{},t.attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=m()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var a=r(e,t);return n(a,t),function(e){for(var i=[],l=0;l 9 | * Released under the MIT license 10 | */ 11 | 12 | namespace Metowolf; 13 | 14 | class Meting 15 | { 16 | protected $_SITE; 17 | protected $_TEMP; 18 | protected $_RETRY = 3; 19 | protected $_FORMAT = false; 20 | 21 | public function __construct($v = 'netease') 22 | { 23 | $this->site($v); 24 | } 25 | 26 | public function site($v) 27 | { 28 | $suppose=array('netease','tencent','xiami','kugou','baidu'); 29 | $this->_SITE=in_array($v,$suppose)?$v:'netease'; 30 | return $this; 31 | } 32 | 33 | public function cookie($v = '') 34 | { 35 | if (!empty($v)) { 36 | $this->_TEMP['cookie']=$v; 37 | } 38 | } 39 | 40 | public function format($v = true) 41 | { 42 | $this->_FORMAT=$v; 43 | return $this; 44 | } 45 | 46 | private function curl($API) 47 | { 48 | if (isset($API['encode'])) { 49 | $API=call_user_func_array(array($this,$API['encode']), array($API)); 50 | } 51 | $BASE=$this->curlset(); 52 | $curl=curl_init(); 53 | if ($API['method']=='POST') { 54 | if (is_array($API['body'])) { 55 | $API['body']=http_build_query($API['body']); 56 | } 57 | curl_setopt($curl, CURLOPT_POST, 1); 58 | curl_setopt($curl, CURLOPT_POSTFIELDS, $API['body']); 59 | } elseif ($API['method']=='GET') { 60 | if (isset($API['body'])) { 61 | $API['url']=$API['url'].'?'.http_build_query($API['body']); 62 | } 63 | } 64 | curl_setopt($curl, CURLOPT_HEADER, 0); 65 | curl_setopt($curl, CURLOPT_TIMEOUT, 20); 66 | curl_setopt($curl, CURLOPT_ENCODING, 'gzip'); 67 | curl_setopt($curl, CURLOPT_IPRESOLVE, 1); 68 | curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 69 | curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 70 | curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); 71 | curl_setopt($curl, CURLOPT_URL, $API['url']); 72 | curl_setopt($curl, CURLOPT_COOKIE, isset($this->_TEMP['cookie'])?$this->_TEMP['cookie']:$BASE['cookie']); 73 | curl_setopt($curl, CURLOPT_REFERER, $BASE['referer']); 74 | curl_setopt($curl, CURLOPT_USERAGENT, $BASE['useragent']); 75 | for ($i=0;$i<=$this->_RETRY;$i++) { 76 | $data=curl_exec($curl); 77 | $info=curl_getinfo($curl); 78 | $error=curl_errno($curl); 79 | $status=$error?curl_error($curl):''; 80 | if (!$error) { 81 | break; 82 | } 83 | } 84 | curl_close($curl); 85 | if ($error) { 86 | return json_encode( 87 | array( 88 | 'error' => $error, 89 | 'info' => $info, 90 | 'status' => $status, 91 | ) 92 | ); 93 | } 94 | if ($this->_FORMAT&&isset($API['decode'])) { 95 | $data=call_user_func_array(array($this,$API['decode']), array($data)); 96 | } 97 | if ($this->_FORMAT&&isset($API['format'])) { 98 | $data=json_decode($data, 1); 99 | $data=$this->clean($data, $API['format']); 100 | $data=json_encode($data); 101 | } 102 | return $data; 103 | } 104 | 105 | private function pickup($array, $rule) 106 | { 107 | $t=explode('#', $rule); 108 | foreach ($t as $vo) { 109 | if (!isset($array[$vo])){ 110 | return array(); 111 | } 112 | $array=$array[$vo]; 113 | } 114 | return $array; 115 | } 116 | 117 | private function clean($raw, $rule) 118 | { 119 | if (!empty($rule)) { 120 | $raw=$this->pickup($raw, $rule); 121 | } 122 | if (!isset($raw[0])&&sizeof($raw)) { 123 | $raw=array($raw); 124 | } 125 | $result=array_map(array($this,'format_'.$this->_SITE), $raw); 126 | return $result; 127 | } 128 | 129 | public function search($keyword, $page=1, $limit=30) 130 | { 131 | switch ($this->_SITE) { 132 | case 'netease': 133 | $API=array( 134 | 'method' => 'POST', 135 | 'url' => 'http://music.163.com/api/linux/forward', 136 | 'body' => array( 137 | 'method' => 'POST', 138 | 'params' => array( 139 | 's' => $keyword, 140 | 'type' => 1, 141 | 'limit' => $limit, 142 | 'total' => 'true', 143 | 'offset' => ($page-1)*$limit, 144 | ), 145 | 'url' => 'http://music.163.com/api/cloudsearch/pc', 146 | ), 147 | 'encode' => 'netease_AESECB', 148 | 'format' => 'result#songs', 149 | ); 150 | break; 151 | case 'tencent': 152 | $API=array( 153 | 'method' => 'GET', 154 | 'url' => 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp', 155 | 'body' => array( 156 | 'format' => 'json', 157 | 'p' => $page, 158 | 'n' => $limit, 159 | 'w' => $keyword, 160 | 'aggr' => 1, 161 | 'lossless' => 1, 162 | 'cr' => 1, 163 | 'new_json' => 1, 164 | ), 165 | 'format' => 'data#song#list', 166 | ); 167 | break; 168 | case 'xiami': 169 | $API=array( 170 | 'method' => 'GET', 171 | 'url' => 'http://api.xiami.com/web', 172 | 'body' => array( 173 | 'v' => '2.0', 174 | 'app_key' => '1', 175 | 'key' => $keyword, 176 | 'page' => $page, 177 | 'limit' => $limit, 178 | 'r' => 'search/songs', 179 | ), 180 | 'format' => 'data#songs', 181 | ); 182 | break; 183 | case 'kugou': 184 | $API=array( 185 | 'method' => 'GET', 186 | 'url' => 'http://ioscdn.kugou.com/api/v3/search/song', 187 | 'body' => array( 188 | 'iscorrect' => 1, 189 | 'pagesize' => $limit, 190 | 'plat' => 2, 191 | 'tag' => 1, 192 | 'sver' => 5, 193 | 'showtype' => 10, 194 | 'page' => $page, 195 | 'keyword' => $keyword, 196 | 'version' => 8550 197 | ), 198 | 'format' => 'data#info', 199 | ); 200 | break; 201 | case 'baidu': 202 | $API=array( 203 | 'method' => 'GET', 204 | 'url' => 'https://musicapi.qianqian.com/v1/restserver/ting', 205 | 'body' => array( 206 | 'method' => 'baidu.ting.search.merge', 207 | 'isNew' => 1, 208 | 'query' => $keyword, 209 | 'page_size' => $limit, 210 | 'page_no' => $page, 211 | 'type' => 0, 212 | 'format' => 'json', 213 | 'from' => 'ios', 214 | 'channel' => '(null)', 215 | 'cuid' => 'appstore', 216 | 'from' => 'ios', 217 | 'version' => '5.9.12', 218 | ), 219 | 'format' => 'result#song_info#song_list', 220 | ); 221 | break; 222 | } 223 | return $this->curl($API); 224 | } 225 | 226 | public function song($id) 227 | { 228 | switch ($this->_SITE) { 229 | case 'netease': 230 | $API=array( 231 | 'method' => 'POST', 232 | 'url' => 'http://music.163.com/api/linux/forward', 233 | 'body' => array( 234 | 'method' => 'POST', 235 | 'params' => array( 236 | 'c' => '[{"id":'.$id.'}]', 237 | ), 238 | 'url' => 'http://music.163.com/api/v3/song/detail', 239 | ), 240 | 'encode' => 'netease_AESECB', 241 | 'format' => 'songs', 242 | ); 243 | break; 244 | case 'tencent': 245 | $API=array( 246 | 'method' => 'GET', 247 | 'url' => 'https://c.y.qq.com/v8/fcg-bin/fcg_play_single_song.fcg', 248 | 'body' => array( 249 | 'songmid' => $id, 250 | 'platform' => 'yqq', 251 | 'format' => 'json', 252 | ), 253 | 'decode' => 'tencent_singlesong', 254 | 'format' => 'data', 255 | ); 256 | break; 257 | case 'xiami': 258 | $API=array( 259 | 'method' => 'GET', 260 | 'url' => 'http://api.xiami.com/web', 261 | 'body' => array( 262 | 'v' => '2.0', 263 | 'app_key' => '1', 264 | 'id' => $id, 265 | 'r' => 'song/detail', 266 | ), 267 | 'format' => 'data#song', 268 | ); 269 | break; 270 | case 'kugou': 271 | $API=array( 272 | 'method' => 'POST', 273 | 'url' => 'http://m.kugou.com/app/i/getSongInfo.php', 274 | 'body' => array( 275 | "cmd" => "playInfo", 276 | "hash" => $id, 277 | "from" => "mkugou", 278 | ), 279 | 'format' => '', 280 | ); 281 | break; 282 | case 'baidu': 283 | $API=array( 284 | 'method' => 'GET', 285 | 'url' => 'https://musicapi.qianqian.com/v1/restserver/ting', 286 | 'body' => array( 287 | 'method' => 'baidu.ting.song.play', 288 | 'songid' => $id, 289 | 'format' => 'json', 290 | 'from' => 'ios', 291 | 'channel' => '(null)', 292 | 'cuid' => 'appstore', 293 | 'from' => 'ios', 294 | 'version' => '5.9.12', 295 | ), 296 | 'format' => 'songinfo', 297 | ); 298 | break; 299 | } 300 | return $this->curl($API); 301 | } 302 | 303 | public function album($id) 304 | { 305 | switch ($this->_SITE) { 306 | case 'netease': 307 | $API=array( 308 | 'method' => 'POST', 309 | 'url' => 'http://music.163.com/api/linux/forward', 310 | 'body' => array( 311 | 'method' => 'GET', 312 | 'params' => array( 313 | 'id' => $id, 314 | ), 315 | 'url' => 'http://music.163.com/api/v1/album/'.$id, 316 | ), 317 | 'encode' => 'netease_AESECB', 318 | 'format' => 'songs', 319 | ); 320 | break; 321 | case 'tencent': 322 | $API=array( 323 | 'method' => 'GET', 324 | 'url' => 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_album_detail_cp.fcg', 325 | 'body' => array( 326 | 'albummid' => $id, 327 | 'platform' => 'mac', 328 | 'format' => 'json', 329 | 'newsong' => 1, 330 | ), 331 | 'format' => 'data#getSongInfo', 332 | ); 333 | break; 334 | case 'xiami': 335 | $API=array( 336 | 'method' => 'GET', 337 | 'url' => 'http://api.xiami.com/web', 338 | 'body' => array( 339 | 'v' => '2.0', 340 | 'app_key' => '1', 341 | 'id' => $id, 342 | 'r' => 'album/detail', 343 | ), 344 | 'format' => 'data#songs', 345 | ); 346 | break; 347 | case 'kugou': 348 | $API=array( 349 | 'method' => 'GET', 350 | 'url' => 'http://mobilecdn.kugou.com/api/v3/album/song', 351 | 'body' => array( 352 | 'albumid' => $id, 353 | 'plat' => 2, 354 | 'page' => 1, 355 | 'pagesize' => -1, 356 | 'version' => 8550, 357 | ), 358 | 'format' => 'data#info', 359 | ); 360 | break; 361 | case 'baidu': 362 | $API=array( 363 | 'method' => 'GET', 364 | 'url' => 'https://musicapi.qianqian.com/v1/restserver/ting', 365 | 'body' => array( 366 | 'method' => 'baidu.ting.album.getAlbumInfo', 367 | 'album_id' => $id, 368 | 'format' => 'json', 369 | 'from' => 'ios', 370 | 'channel' => '(null)', 371 | 'cuid' => 'appstore', 372 | 'from' => 'ios', 373 | 'version' => '5.9.12', 374 | ), 375 | 'format' => 'songlist', 376 | ); 377 | break; 378 | } 379 | return $this->curl($API); 380 | } 381 | 382 | public function artist($id, $limit=50) 383 | { 384 | switch ($this->_SITE) { 385 | case 'netease': 386 | $API=array( 387 | 'method' => 'POST', 388 | 'url' => 'http://music.163.com/api/linux/forward', 389 | 'body' => array( 390 | 'method' => 'GET', 391 | 'params' => array( 392 | 'top' => $limit, 393 | "id" => $id, 394 | "ext" => "true", 395 | ), 396 | 'url' => 'http://music.163.com/api/v1/artist/'.$id, 397 | ), 398 | 'encode' => 'netease_AESECB', 399 | 'format' => 'hotSongs', 400 | ); 401 | break; 402 | case 'tencent': 403 | $API=array( 404 | 'method' => 'GET', 405 | 'url' => 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_singer_track_cp.fcg', 406 | 'body' => array( 407 | 'singermid' => $id, 408 | 'begin' => 0, 409 | 'num' => $limit, 410 | 'order' => 'listen', 411 | 'platform' => 'mac', 412 | 'newsong' => 1, 413 | ), 414 | 'format' => 'data#list', 415 | ); 416 | break; 417 | case 'xiami': 418 | $API=array( 419 | 'method' => 'GET', 420 | 'url' => 'http://api.xiami.com/web', 421 | 'body' => array( 422 | 'v' => '2.0', 423 | 'app_key' => '1', 424 | 'id' => $id, 425 | 'limit' => $limit, 426 | 'page' => 1, 427 | 'r' => 'artist/hot-songs', 428 | ), 429 | 'format' => 'data', 430 | ); 431 | break; 432 | case 'kugou': 433 | $API=array( 434 | 'method' => 'GET', 435 | 'url' => 'http://mobilecdn.kugou.com/api/v3/singer/song', 436 | 'body' => array( 437 | 'singerid' => $id, 438 | 'page' => 1, 439 | 'plat' => 0, 440 | 'pagesize' => $limit, 441 | 'version' => 8400, 442 | ), 443 | 'format' => 'data#info', 444 | ); 445 | break; 446 | case 'baidu': 447 | $API=array( 448 | 'method' => 'GET', 449 | 'url' => 'https://musicapi.qianqian.com/v1/restserver/ting', 450 | 'body' => array( 451 | 'method' => 'baidu.ting.artist.getSongList', 452 | 'tinguid' => $id, 453 | 'limits' => $limit, 454 | 'format' => 'json', 455 | 'from' => 'ios', 456 | 'channel' => '(null)', 457 | 'cuid' => 'appstore', 458 | 'from' => 'ios', 459 | 'version' => '5.9.12', 460 | ), 461 | 'format' => 'songlist', 462 | ); 463 | break; 464 | } 465 | return $this->curl($API); 466 | } 467 | 468 | public function playlist($id) 469 | { 470 | switch ($this->_SITE) { 471 | case 'netease': 472 | $API=array( 473 | 'method' => 'POST', 474 | 'url' => 'http://music.163.com/api/linux/forward', 475 | 'body' => array( 476 | 'method' => 'POST', 477 | 'params' => array( 478 | 'id' => $id, 479 | "n" => 1000, 480 | ), 481 | 'url' => 'http://music.163.com/api/v3/playlist/detail', 482 | ), 483 | 'encode' => 'netease_AESECB', 484 | 'format' => 'playlist#tracks', 485 | ); 486 | break; 487 | case 'tencent': 488 | $API=array( 489 | 'method' => 'GET', 490 | 'url' => 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_playlist_cp.fcg', 491 | 'body' => array( 492 | 'id' => $id, 493 | 'format' => 'json', 494 | 'newsong' => 1, 495 | 'platform' => 'jqspaframe.json', 496 | ), 497 | 'format' => 'data#cdlist#0#songlist', 498 | ); 499 | break; 500 | case 'xiami': 501 | $API=array( 502 | 'method' => 'GET', 503 | 'url' => 'http://api.xiami.com/web', 504 | 'body' => array( 505 | 'v' => '2.0', 506 | 'app_key' => '1', 507 | 'id' => $id, 508 | 'r' => 'collect/detail', 509 | ), 510 | 'format' => 'data#songs', 511 | ); 512 | break; 513 | case 'kugou': 514 | $API=array( 515 | 'method' => 'GET', 516 | 'url' => 'http://mobilecdn.kugou.com/api/v3/special/song', 517 | 'body' => array( 518 | 'specialid' => $id, 519 | 'page' => 1, 520 | 'plat' => 2, 521 | 'pagesize' => -1, 522 | 'version' => 8400, 523 | ), 524 | 'format' => 'data#info', 525 | ); 526 | break; 527 | case 'baidu': 528 | $API=array( 529 | 'method' => 'GET', 530 | 'url' => 'https://musicapi.qianqian.com/v1/restserver/ting', 531 | 'body' => array( 532 | 'method' => 'baidu.ting.diy.gedanInfo', 533 | 'listid' => $id, 534 | 'format' => 'json', 535 | 'from' => 'ios', 536 | 'channel' => '(null)', 537 | 'cuid' => 'appstore', 538 | 'from' => 'ios', 539 | 'version' => '5.9.12', 540 | ), 541 | 'format' => 'content', 542 | ); 543 | break; 544 | } 545 | return $this->curl($API); 546 | } 547 | 548 | public function url($id, $br=320) 549 | { 550 | switch ($this->_SITE) { 551 | case 'netease': 552 | $API=array( 553 | 'method' => 'POST', 554 | 'url' => 'http://music.163.com/api/linux/forward', 555 | 'body' => array( 556 | 'method' => 'POST', 557 | 'params' => array( 558 | 'ids' => array($id), 559 | 'br' => $br*1000, 560 | ), 561 | 'url' => 'http://music.163.com/api/song/enhance/player/url', 562 | ), 563 | 'encode' => 'netease_AESECB', 564 | 'decode' => 'netease_url', 565 | ); 566 | break; 567 | case 'tencent': 568 | $API=array( 569 | 'method' => 'GET', 570 | 'url' => 'https://c.y.qq.com/v8/fcg-bin/fcg_play_single_song.fcg', 571 | 'body' => array( 572 | 'songmid' => $id, 573 | 'platform' => 'yqq', 574 | 'format' => 'json', 575 | ), 576 | 'decode' => 'tencent_url', 577 | ); 578 | break; 579 | case 'xiami': 580 | $API=array( 581 | 'method' => 'GET', 582 | 'url' => 'http://www.xiami.com/song/gethqsong/sid/'.$id, 583 | 'body' => array( 584 | 'v' => '2.0', 585 | 'app_key' => '1', 586 | 'id' => $id, 587 | 'r' => 'song/detail', 588 | ), 589 | 'decode' => 'xiami_url', 590 | ); 591 | break; 592 | case 'kugou': 593 | $API=array( 594 | 'method' => 'POST', 595 | 'url' => 'http://media.store.kugou.com/v1/get_res_privilege', 596 | 'body' => json_encode(array( 597 | "relate" => 1, 598 | "userid" => 0, 599 | "vip" => 0, 600 | "appid" => 1005, 601 | "token" => "", 602 | "behavior" => "download", 603 | "clientver" => "8493", 604 | "resource" => array(array( 605 | "id" => 0, 606 | "type" => "audio", 607 | "hash" => $id, 608 | ))) 609 | ), 610 | 'decode' => 'kugou_url', 611 | ); 612 | break; 613 | case 'baidu': 614 | $API=array( 615 | 'method' => 'GET', 616 | 'url' => 'http://music.baidu.com/data/music/fmlink', 617 | 'body' => array( 618 | 'songIds' => $id, 619 | 'rate' => $br, 620 | 'type' => 'mp3', 621 | ), 622 | 'decode' => 'baidu_url', 623 | ); 624 | break; 625 | } 626 | $this->_TEMP['br']=$br; 627 | return $this->curl($API); 628 | } 629 | 630 | public function lrc($id) 631 | { 632 | switch ($this->_SITE) { 633 | case 'netease': 634 | $API=array( 635 | 'method' => 'POST', 636 | 'url' => 'http://music.163.com/api/linux/forward', 637 | 'body' => array( 638 | 'method' => 'POST', 639 | 'params' => array( 640 | 'id' => $id, 641 | 'os' => 'linux', 642 | 'lv' => -1, 643 | 'kv' => -1, 644 | 'tv' => -1, 645 | ), 646 | 'url' => 'http://music.163.com/api/song/lyric', 647 | ), 648 | 'encode' => 'netease_AESECB', 649 | 'decode' => 'netease_lyric', 650 | ); 651 | break; 652 | case 'tencent': 653 | $API=array( 654 | 'method' => 'GET', 655 | 'url' => 'https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_new.fcg', 656 | 'body' => array( 657 | 'songmid' => $id, 658 | 'g_tk' => '5381', 659 | ), 660 | 'decode' => 'tencent_lyric', 661 | ); 662 | break; 663 | case 'xiami': 664 | $API=array( 665 | 'method' => 'GET', 666 | 'url' => 'http://api.xiami.com/web', 667 | 'body' => array( 668 | 'v' => '2.0', 669 | 'app_key' => '1', 670 | 'id' => $id, 671 | 'r' => 'song/detail', 672 | ), 673 | 'decode' => 'xiami_lyric', 674 | ); 675 | break; 676 | case 'kugou': 677 | $API=array( 678 | 'method' => 'GET', 679 | 'url' => 'http://m.kugou.com/app/i/krc.php', 680 | 'body' => array( 681 | 'keyword' => '%20-%20', 682 | 'timelength' => 1000000, 683 | 'cmd' => 100, 684 | 'hash' => $id, 685 | ), 686 | 'decode' => 'kugou_lyric' 687 | ); 688 | break; 689 | case 'baidu': 690 | $API=array( 691 | 'method' => 'GET', 692 | 'url' => 'https://musicapi.qianqian.com/v1/restserver/ting', 693 | 'body' => array( 694 | 'method' => 'baidu.ting.song.lry', 695 | 'songid' => $id, 696 | 'format' => 'json', 697 | 'from' => 'ios', 698 | 'channel' => '(null)', 699 | 'cuid' => 'appstore', 700 | 'from' => 'ios', 701 | 'version' => '5.9.12', 702 | ), 703 | 'decode' => 'baidu_lyric' 704 | ); 705 | break; 706 | } 707 | return $this->curl($API); 708 | } 709 | 710 | public function pic($id, $size=300) 711 | { 712 | switch ($this->_SITE) { 713 | case 'netease': 714 | $url='https://p3.music.126.net/'.$this->netease_pickey($id).'/'.$id.'.jpg?param='.$size.'y'.$size; 715 | break; 716 | case 'tencent': 717 | $url='https://y.gtimg.cn/music/photo_new/T002R'.$size.'x'.$size.'M000'.$id.'.jpg?max_age=2592000'; 718 | break; 719 | case 'xiami': 720 | $format=$this->_FORMAT; 721 | $data=$this->format(false)->song($id); 722 | $this->format($format); 723 | $data=json_decode($data, 1); 724 | $url=$data['data']['song']['logo']; 725 | $url=str_replace(array('_1.','http:','img.'), array('.','https:','pic.'), $url).'@'.$size.'h_'.$size.'w_100q_1c.jpg'; 726 | break; 727 | case 'kugou': 728 | $format=$this->_FORMAT; 729 | $data=$this->format(false)->song($id); 730 | $this->format($format); 731 | $data=json_decode($data, 1); 732 | $url=$data['imgUrl']; 733 | $url=str_replace('{size}', '400', $url); 734 | break; 735 | case 'baidu': 736 | $format=$this->_FORMAT; 737 | $data=$this->format(false)->song($id); 738 | $this->format($format); 739 | $data=json_decode($data, 1); 740 | $url=isset($data['songinfo']['pic_big'])?$data['songinfo']['pic_big']:$data['songinfo']['pic_small']; 741 | break; 742 | } 743 | return json_encode(array('url'=>$url)); 744 | } 745 | 746 | private function curlset() 747 | { 748 | $BASE=array( 749 | 'netease'=>array( 750 | 'referer' => 'https://music.163.com/', 751 | 'cookie' => 'os=linux; appver=1.0.0.1026; osver=Ubuntu%2016.10; MUSIC_U=78d411095f4b022667bc8ec49e9a44cca088df057d987f5feaf066d37458e41c4a7d9447977352cf27ea9fee03f6ec4441049cea1c6bb9b6; __remember_me=true', 752 | 'useragent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36', 753 | ), 754 | 'tencent'=>array( 755 | 'referer' => 'https://y.qq.com/portal/player.html', 756 | 'cookie' => 'pgv_pvi=22038528; pgv_si=s3156287488; pgv_pvid=5535248600; yplayer_open=1; ts_last=y.qq.com/portal/player.html; ts_uid=4847550686; yq_index=0; qqmusic_fromtag=66; player_exist=1', 757 | 'useragent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36', 758 | ), 759 | 'xiami'=>array( 760 | 'referer' => 'http://h.xiami.com/', 761 | 'cookie' => 'user_from=2;XMPLAYER_addSongsToggler=0;XMPLAYER_isOpen=0;_xiamitoken=123456789;', 762 | 'useragent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36', 763 | ), 764 | 'kugou'=>array( 765 | 'referer' => 'http://www.kugou.com/webkugouplayer/flash/webKugou.swf', 766 | 'cookie' => '_WCMID=123456789', 767 | 'useragent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36', 768 | ), 769 | 'baidu'=>array( 770 | 'referer' => 'http://ting.baidu.com/', 771 | 'cookie' => 'BAIDUID=123456789', 772 | 'useragent' => 'ios_5.9.12', 773 | ), 774 | ); 775 | return $BASE[$this->_SITE]; 776 | } 777 | 778 | /** 779 | * 乱七八糟的函数,加密解密... 780 | * 正在努力重构这些代码 TAT 781 | */ 782 | private function netease_AESECB($API) 783 | { 784 | $KEY='7246674226682325323F5E6544673A51'; 785 | $body=json_encode($API['body']); 786 | if (function_exists('openssl_encrypt')) { 787 | $body=openssl_encrypt($body, 'aes-128-ecb', pack('H*', $KEY)); 788 | } else { 789 | $PAD=16-(strlen($body)%16); 790 | $body=base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, hex2bin($KEY), $body.str_repeat(chr($PAD), $PAD), MCRYPT_MODE_ECB)); 791 | } 792 | $body=strtoupper(bin2hex(base64_decode($body))); 793 | 794 | $API['body']=array( 795 | 'eparams'=>$body, 796 | ); 797 | return $API; 798 | } 799 | private function tencent_singlesong($result) 800 | { 801 | $result=json_decode($result, 1); 802 | $data=$result['data'][0]; 803 | $t=array( 804 | 'songmid' => $data['mid'], 805 | 'songname' => $data['name'], 806 | 'albummid' => $data['album']['mid'], 807 | ); 808 | foreach ($t as $key=>$vo) { 809 | $result['data'][0][$key]=$vo; 810 | } 811 | return json_encode($result); 812 | } 813 | private function netease_pickey($id) 814 | { 815 | $magic=str_split('3go8&$8*3*3h0k(2)2'); 816 | $song_id=str_split($id); 817 | for ($i=0;$i $data['data'][0]['url'], 837 | 'br' => $data['data'][0]['br']/1000, 838 | ); 839 | } else { 840 | $url=array( 841 | 'url' => '', 842 | 'br' => -1, 843 | ); 844 | } 845 | return json_encode($url); 846 | } 847 | private function tencent_url($result) 848 | { 849 | $data=json_decode($result, 1); 850 | $GUID=mt_rand()%10000000000; 851 | $API=array( 852 | 'method' => 'GET', 853 | 'url' => 'https://c.y.qq.com/base/fcgi-bin/fcg_musicexpress.fcg', 854 | 'body' => array( 855 | 'json' => 3, 856 | 'guid' => $GUID, 857 | 'format' => 'json', 858 | ), 859 | ); 860 | $KEY=json_decode($this->curl($API), 1); 861 | $KEY=$KEY['key']; 862 | 863 | $type=array( 864 | 'size_320mp3' => array(320,'M800','mp3'), 865 | 'size_192aac' => array(192,'C600','m4a'), 866 | 'size_128mp3' => array(128,'M500','mp3'), 867 | 'size_96aac' => array(96 ,'C400','m4a'), 868 | 'size_48aac' => array(48 ,'C200','m4a'), 869 | ); 870 | foreach ($type as $key=>$vo) { 871 | if ($data['data'][0]['file'][$key]&&$vo[0]<=$this->_TEMP['br']) { 872 | $url=array( 873 | 'url' => 'https://dl.stream.qqmusic.qq.com/'.$vo[1].$data['data'][0]['file']['media_mid'].'.'.$vo[2].'?vkey='.$KEY.'&guid='.$GUID.'&uid=0&fromtag=30', 874 | 'br' => $vo[0], 875 | ); 876 | break; 877 | } 878 | } 879 | if (!isset($url['url'])) { 880 | $url=array( 881 | 'url' => '', 882 | 'br' => -1, 883 | ); 884 | } 885 | return json_encode($url); 886 | } 887 | private function xiami_url($result) 888 | { 889 | $data=json_decode($result, 1); 890 | if (!empty($data['location'])) { 891 | $location = $data['location']; 892 | $num = (int)$location[0]; 893 | $str = substr($location, 1); 894 | $len = floor(strlen($str)/$num); 895 | $sub = strlen($str) % $num; 896 | $qrc = array(); 897 | $tmp = 0; 898 | $urlt = ''; 899 | for (;$tmp<$sub;$tmp++) { 900 | $qrc[$tmp] = substr($str, $tmp*($len+1), $len+1); 901 | } 902 | for (;$tmp<$num;$tmp++) { 903 | $qrc[$tmp] = substr($str, $len*$tmp+$sub, $len); 904 | } 905 | for ($tmpa=0;$tmpa<$len+1;$tmpa++) { 906 | for ($tmpb=0;$tmpb<$num;$tmpb++) { 907 | if (isset($qrc[$tmpb][$tmpa])) { 908 | $urlt.=$qrc[$tmpb][$tmpa]; 909 | } 910 | } 911 | } 912 | $urlt=str_replace('^', '0', urldecode($urlt)); 913 | $url=array( 914 | 'url' => str_replace('http://','https://',urldecode($urlt)), 915 | 'br' => 320, 916 | ); 917 | } else { 918 | $url=array( 919 | 'url' => '', 920 | 'br' => -1, 921 | ); 922 | } 923 | return json_encode($url); 924 | } 925 | private function kugou_url($result) 926 | { 927 | $data=json_decode($result, 1); 928 | 929 | $max=0; 930 | $url=array(); 931 | foreach ($data['data'][0]['relate_goods'] as $vo) { 932 | if ($vo['info']['bitrate']<=$this->_TEMP['br']&&$vo['info']['bitrate']>$max) { 933 | $API=array( 934 | 'method' => 'GET', 935 | 'url' => 'http://trackercdn.kugou.com/i/v2/', 936 | 'body' => array( 937 | 'hash' => $vo['hash'], 938 | 'key' => md5($vo['hash'].'kgcloudv2'), 939 | 'pid' => 1, 940 | 'behavior' => 'play', 941 | 'cmd' => '23', 942 | 'version' => 8400, 943 | ), 944 | ); 945 | $t=json_decode($this->curl($API), 1); 946 | if (isset($t['url'])) { 947 | $max=$t['bitRate']/1000; 948 | $url=array( 949 | 'url' => $t['url'], 950 | 'br' => $t['bitRate']/1000, 951 | ); 952 | } 953 | } 954 | } 955 | if (!isset($url['url'])) { 956 | $url=array( 957 | 'url' => '', 958 | 'br' => -1, 959 | ); 960 | } 961 | return json_encode($url); 962 | } 963 | private function baidu_url($result) 964 | { 965 | $data=json_decode($result, 1); 966 | if (isset($data['data']['songList'][0]['songLink'])) { 967 | $url=array( 968 | 'url' => $data['data']['songList'][0]['songLink'], 969 | 'br' => $data['data']['songList'][0]['rate'], 970 | ); 971 | $url['url']=str_replace('http://yinyueshiting.baidu.com', 'https://gss0.bdstatic.com/y0s1hSulBw92lNKgpU_Z2jR7b2w6buu', $url['url']); 972 | } else { 973 | $url=array( 974 | 'url' => '', 975 | 'br' => -1, 976 | ); 977 | } 978 | return json_encode($url); 979 | } 980 | /** 981 | * 歌词处理模块 982 | * 用于规范化歌词输出 983 | */ 984 | private function netease_lyric($result) 985 | { 986 | if (!$this->_FORMAT) { 987 | return $result; 988 | } 989 | $result=json_decode($result, 1); 990 | $data=array( 991 | 'lyric' => isset($result['lrc']['lyric'])?$result['lrc']['lyric']:'', 992 | 'tlyric' => isset($result['tlyric']['lyric'])?$result['tlyric']['lyric']:'', 993 | ); 994 | return json_encode($data); 995 | } 996 | private function tencent_lyric($result) 997 | { 998 | $result=substr($result,18,-1); 999 | if (!$this->_FORMAT) { 1000 | return $result; 1001 | } 1002 | $result=json_decode($result, 1); 1003 | $data=array( 1004 | 'lyric' => isset($result['lyric'])?base64_decode($result['lyric']):'', 1005 | 'tlyric' => isset($result['trans'])?base64_decode($result['trans']):'', 1006 | ); 1007 | return json_encode($data); 1008 | } 1009 | private function xiami_lyric($result) 1010 | { 1011 | if (!$this->_FORMAT) { 1012 | return $result; 1013 | } 1014 | $result=json_decode($result, 1); 1015 | $data=''; 1016 | if(!empty($result['data']['song']['lyric'])){ 1017 | $API=array('method'=>'GET','url'=>$result['data']['song']['lyric']); 1018 | $data=$this->curl($API); 1019 | $data=preg_replace('/<[^>]+>/', '', $data); 1020 | } 1021 | preg_match_all('/\[([\d:\.]+)\](.*)\s\[x-trans\](.*)/i',$data,$match); 1022 | if(sizeof($match[0])){ 1023 | for($i=0;$i str_replace($match[0],$A,$data), 1029 | 'tlyric' => str_replace($match[0],$B,$data), 1030 | ); 1031 | } 1032 | else{ 1033 | $arr=array( 1034 | 'lyric' => $data, 1035 | 'tlyric' => '', 1036 | ); 1037 | } 1038 | return json_encode($arr); 1039 | } 1040 | private function kugou_lyric($result) 1041 | { 1042 | if (!$this->_FORMAT) { 1043 | return $result; 1044 | } 1045 | $arr=array( 1046 | 'lyric' => $result, 1047 | 'tlyric' => '', 1048 | ); 1049 | return json_encode($arr); 1050 | } 1051 | private function baidu_lyric($result) 1052 | { 1053 | if (!$this->_FORMAT) { 1054 | return $result; 1055 | } 1056 | $result=json_decode($result, 1); 1057 | $data=array( 1058 | 'lyric' => isset($result['lrcContent'])?$result['lrcContent']:'', 1059 | 'tlyric' => '', 1060 | ); 1061 | return json_encode($data); 1062 | } 1063 | /** 1064 | * Format - 规范化函数 1065 | * 用于统一返回的参数,可用 ->format() 一次性开关开启 1066 | */ 1067 | private function format_netease($data) 1068 | { 1069 | $result=array( 1070 | 'id' => $data['id'], 1071 | 'name' => $data['name'], 1072 | 'artist' => array(), 1073 | 'album' => $data['al']['name'], 1074 | 'pic_id' => isset($data['al']['pic_str'])?$data['al']['pic_str']:$data['al']['pic'], 1075 | 'url_id' => $data['id'], 1076 | 'lrc_id' => $data['id'], 1077 | 'source' => 'netease', 1078 | ); 1079 | if (isset($data['al']['picUrl'])) { 1080 | preg_match('/\/(\d+)\./', $data['al']['picUrl'], $match); 1081 | $result['pic_id']=$match[1]; 1082 | } 1083 | foreach ($data['ar'] as $vo) { 1084 | $result['artist'][]=$vo['name']; 1085 | } 1086 | return $result; 1087 | } 1088 | private function format_tencent($data) 1089 | { 1090 | if (isset($data['musicData'])) { 1091 | $data=$data['musicData']; 1092 | } 1093 | $result=array( 1094 | 'id' => $data['mid'], 1095 | 'name' => $data['name'], 1096 | 'artist' => array(), 1097 | 'album' => trim($data['album']['title']), 1098 | 'pic_id' => $data['album']['mid'], 1099 | 'url_id' => $data['mid'], 1100 | 'lrc_id' => $data['mid'], 1101 | 'source' => 'tencent', 1102 | ); 1103 | foreach ($data['singer'] as $vo) { 1104 | $result['artist'][]=$vo['name']; 1105 | } 1106 | return $result; 1107 | } 1108 | private function format_xiami($data) 1109 | { 1110 | $result=array( 1111 | 'id' => $data['song_id'], 1112 | 'name' => $data['song_name'], 1113 | 'artist' => explode(';', isset($data['singers'])?$data['singers']:$data['artist_name']), 1114 | 'album' => $data['album_name'], 1115 | 'pic_id' => $data['song_id'], 1116 | 'url_id' => $data['song_id'], 1117 | 'lrc_id' => $data['song_id'], 1118 | 'source' => 'xiami', 1119 | ); 1120 | return $result; 1121 | } 1122 | private function format_kugou($data) 1123 | { 1124 | $result=array( 1125 | 'id' => $data['hash'], 1126 | 'name' => isset($data['filename'])?$data['filename']:$data['fileName'], 1127 | 'artist' => array(), 1128 | 'album' => isset($data['album_name'])?$data['album_name']:'', 1129 | 'url_id' => $data['hash'], 1130 | 'pic_id' => $data['hash'], 1131 | 'lrc_id' => $data['hash'], 1132 | 'source' => 'kugou', 1133 | ); 1134 | list($result['artist'], $result['name'])=explode(' - ', $result['name'], 2); 1135 | $result['artist']=explode('、', $result['artist']); 1136 | return $result; 1137 | } 1138 | private function format_baidu($data) 1139 | { 1140 | $result=array( 1141 | 'id' => $data['song_id'], 1142 | 'name' => $data['title'], 1143 | 'artist' => explode(',', $data['author']), 1144 | 'album' => $data['album_title'], 1145 | 'pic_id' => $data['song_id'], 1146 | 'url_id' => $data['song_id'], 1147 | 'lrc_id' => $data['song_id'], 1148 | 'source' => 'baidu', 1149 | ); 1150 | return $result; 1151 | } 1152 | } 1153 | --------------------------------------------------------------------------------