背景
因为嫌弃Wordpress博客过于庞大的华而不实,所以换了Typecho博客。
但是发现默认的Typecho很丑,也没有几个好看的主题,无意看到朋友说到handsome主题,发现很棒,便装了,由于平时强迫症都是喜欢听随机音乐,看到博客自带的音乐播放器一直是固定的播放顺序,老是同一首歌曲,听到吐了,则萌生了修改随机播放的想法。
过程
在折腾的过程中,研究了修改js的方案,发现的确有效果,但是每次点击下一首,这个歌曲定位都不知道飞到哪里去了,而且上一首无法记忆,就感觉不太好用。
既然想到从源头去处理,最后发现将解析好的歌曲列表打乱顺序就好了。代码如下
shuffle($info);
将上述代码加入文件 handsome/libs/interface/Get.php
的189行下面。
修改前:
case 'collect':
$datas = $api->format(true)->playlist($id);
$datas = json_decode($datas,true);
foreach ( $datas as $keys => $data){
$cover = json_decode($api->format(true)->pic($data['pic_id']),true)['url'];
$info[$keys] = array(
'name' => $data['name'],
'url' => '',
'song_id' => $data['id'],
'cover' => $cover,
'author' => $data['artist'][0]
);
}
break;
修改后:
case 'collect':
$datas = $api->format(true)->playlist($id);
$datas = json_decode($datas,true);
foreach ( $datas as $keys => $data){
$cover = json_decode($api->format(true)->pic($data['pic_id']),true)['url'];
$info[$keys] = array(
'name' => $data['name'],
'url' => '',
'song_id' => $data['id'],
'cover' => $cover,
'author' => $data['artist'][0]
);
}
shuffle($info);
break;
显示的效果是页面上播放逻辑操作都不变,只是列表变成乱序了,刷新一次网页就是一个新的乱序列表。
兼容handsome7.3.1版本
转自《handsome随机播放音乐》