kuwo等騰訊系音樂軟件更新了接口,付費音樂全都不可用,Listen1暫時已失效!
好像更新了接口,但音質(zhì)大不如前。
Listen1讓你用一個網(wǎng)頁就能聽到多個網(wǎng)站的在線音樂(現(xiàn)已包括網(wǎng)易云音樂,QQ音樂,蝦米音樂,豆瓣音樂)。你可以非常的簡單的訪問和收聽在線音樂,而不用受到單個音樂網(wǎng)站資源不全的限制了。
它不僅能搜索多家在線音樂提供商的資源,還能方便的整理你喜歡的音樂,制作自己的歌單。盡興的享受音樂吧!
可能出于版權(quán)考慮,listen1 不提供下載功能,但互聯(lián)網(wǎng)中所見即所得,本文提供一種將音樂緩存下載為mp3的解決方案,結(jié)合listen1 Chrome Extension可以批量下載音樂。
說明
- 打開listen1 Chrome Extension,添加需要下載的歌曲到
當(dāng)前播放列表; -
F12打開控制臺,復(fù)制黏貼以下JS代碼后回車開始; - 批量下載可以在Chrome下載設(shè)置里關(guān)閉
下載前詢問每個文件的保存位置,并設(shè)置好保存位置,避免每次選擇位置;
JS代碼
// 下載函數(shù)
function download(url, title){
axios.get(url, {responseType: "blob"})
.then(resp => {
if(resp.status !== 200) console.log('get file failed.');
else return resp.data;
})
// 用blob方式來設(shè)置下載文件名為歌曲名
.then(blob => {
let link = document.createElement("a");
link.href = window.URL.createObjectURL(blob);
link.download = title;
link.click();
window.URL.revokeObjectURL(link.href);
})
}
// 設(shè)置文件名:歌曲名_歌手.mp3
function get_name(idx){
let obj = threadPlayer.playlist.filter(obj=>obj.id==idx)[0]
return obj.title+'_'+obj.artist+'.mp3';
}
// 修改原播放器獲取歌曲鏈接函數(shù),增加獲取鏈接時下載歌曲
threadPlayer.setMediaURI = function setMediaURI(uri, url) {
if (url) {
this._media_uri_list[url] = uri;
// 插入下載函數(shù)
download(uri, get_name(url));
}
}
// 循環(huán)播放列表所有歌,獲得每首歌的地址同時觸發(fā)下載
for(let i=0; i<threadPlayer.playlist.length; i++){
threadPlayer.retrieveMediaUrl(i,false)
}