QQ音乐vkey获取,更新播放url
生活随笔
收集整理的這篇文章主要介紹了
QQ音乐vkey获取,更新播放url
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QQ音樂接口播放經常換,
最開始
url: `http://ws.stream.qqmusic.qq.com/${musicData.songid}.m4a?fromtag=46`
然后
url:`http://ws.stream.qqmusic.qq.com/C100${musicData.songmid}.m4a?fromtag=0&guid=126548448`
現在
url: `http://dl.stream.qqmusic.qq.com/C400${musicData.songmid}.m4a?fromtag=38&guid=5931742855&vkey=${vkey}`
?
vkey的獲取
// 獲取歌曲的vkey export function getSongVkey(songmid) {const url = 'https://c.y.qq.com/base/fcgi-bin/fcg_music_express_mobile3.fcg'const data = Object.assign({}, {callback: 'musicJsonCallback',loginUin: 3051522991,format: 'jsonp',platform: 'yqq',needNewCode: 0,cid: 205361747,uin: 3051522991,guid: 5931742855,songmid: songmid,filename: `C400${songmid}.m4a`})return jsonp(url, data) }調用
//重組 res.data.list 數據,只拿需要的 _formatSongs(list){let result = []list.forEach((item)=>{// console.log('item',item)// 解構賦值-拿到item 下的 musicData 列表數據let {musicData} = item//------------- 更新的加上vkeygetSongVkey(musicData.songmid).then((res) => {const vkey = res.data.items[0].vkey;if (musicData.songid && musicData.albummid) {result.push(CreatSong(musicData, vkey))}})//-------------// console.log('musicData',musicData)// if(musicData.songid && musicData.albummid){// result.push(CreatSong(musicData))// } })return result} export function CreatSong(musicData,vkey){ //加了一個傳參和更新了urlreturn new Song({id: musicData.songid,mid: musicData.songmid,singer: filterSinger(musicData.singer),//filterSinger 中處理一遍 name: musicData.songname,album: musicData.albumname,duration: musicData.interval,image: `https://y.gtimg.cn/music/photo_new/T002R300x300M000${musicData.albummid}.jpg?max_age=2592000`,url: `http://dl.stream.qqmusic.qq.com/C400${musicData.songmid}.m4a?fromtag=38&guid=5931742855&vkey=${vkey}` }) }調用調試完成!
轉載于:https://www.cnblogs.com/Byme/p/9989544.html
總結
以上是生活随笔為你收集整理的QQ音乐vkey获取,更新播放url的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汇编语言--微机CPU的指令系统(五)(
- 下一篇: PHP小白学习日程之旅