音乐播放器之QQ音乐最新api,亲测可用

article/2025/3/4 22:02:57

大家好,前段时间重写了自己的音乐播放器,源码放在github上,源码地址和项目地址下面都有,如果喜欢记得star一下哈。

由于之前给大家分享的api虽然可以用,但是版本太旧了,很多也没有了歌词,今天博主给大家分享一个最新的qq音乐api,亲测可用,话不多说直接上代码

最新音乐

        let url = 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_toplist_cp.fcg?g_tk=5381&uin=0&format=json&inCharset=utf-8&outCharset=utf-8&notice=0&platform=h5&needNewCode=1&tpl=3&page=detail&type=top&topid=27&_=1519963122923';$.ajax({url:url,type:"get",dataType:'jsonp',jsonp: "jsonpCallback",scriptCharset: 'GBK',//解决中文乱码success: function(data){//最新音乐数据},error:function (e) {console.log('error');}});

这里用的是jsonp跨域,json数据获取成功后可以在数据中的songList数组下找到很多条数据,这些都是最新音乐的信息,打开其中一条,找到data并展开,找到两个重要参数字段songmid以及albummid,分别用获取歌曲源和歌词以及图片用的

推荐音乐

        let url = 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_toplist_cp.fcg?g_tk=5381&uin=0&format=json&inCharset=utf-8&outCharset=utf-8&notice=0&platform=h5&needNewCode=1&tpl=3&page=detail&type=top&topid=36&_=1520777874472';$.ajax({url:url,type:"get",dataType:'jsonp',jsonp: "jsonpCallback",scriptCharset: 'GBK',//解决中文乱码success: function(data){//推荐音乐数据},error:function (e) {    console.log('error');}});

同样jsonp获取信息,得到数据和获取最新音乐差不多

歌曲

 
let url = 'https://api.bzqll.com/music/tencent/url?key=579621905&id='+songSmallMessage.songmid+'br=320''

这里的songmid就是上面所说过得啦,拿进来放到audio标签中就能直接听啦

搜索

let val = '青花瓷';
let url = 'https://c.y.qq.com/soso/fcgi-bin/search_for_qq_cp?g_tk=5381&uin=0&format=jsonp&inCharset=utf-8&outCharset=utf-8&notice=0&platform=h5&needNewCode=1&w='+val+'&zhidaqu=1&catZhida=1&t=0&flag=1&ie=utf-8&sem=1&aggr=0&perpage=20&n=20&p=1&remoteplace=txt.mqq.all&_=1520833663464';
$.ajax({url:url,type:"get",dataType:'jsonp',jsonp: "callback",jsonpCallback:'callback',scriptCharset: 'GBK',//解决中文乱码success: function(data){//获取搜索数据},error:function (e) {console.log('error');Indicator.close();}
});

歌词

获取歌词也算是个坎,因为QQ因为设置了防盗链我们需要伪装一下自己,单纯用js恐怕无法实现了,我们可以用后端语言去获取,博主用的是node,里有个request的依赖包,用来修改我们的header,从而得到数据

let url = "https://c.y.qq.com/lyric/fcgi-bin/fcg_query_lyric_new.fcg?callback=MusicJsonCallback_lrc&pcachetime=1494070301711&songmid="+songId+"&g_tk=5381&jsonpCallback=MusicJsonCallback_lrc&loginUin=0&hostUin=0&format=jsonp&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0";
let options = {url: url,headers: {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36","Accept": "*/*","Referer": "https://y.qq.com/portal/player.html","Accept-Language": "zh-CN,zh;q=0.8","Cookie": "pgv_pvid=8455821612; ts_uid=1596880404; pgv_pvi=9708980224; yq_index=0; pgv_si=s3191448576; pgv_info=ssid=s8059271672; ts_refer=ADTAGmyqq; yq_playdata=s; ts_last=y.qq.com/portal/player.html; yqq_stat=0; yq_playschange=0; player_exist=1; qqmusic_fromtag=66; yplayer_open=1","Host": "c.y.qq.com",}
};
request(options,(error, response, body)=>{if(!error && response.statusCode == 200){console.log(body);}else{console.log("error");}
});

上面获取的数据在body中,长这个样子

"MusicJsonCallback_lrc({\"retcode\":0,\"code\":0,\"subcode\":0,\"lyric\":\"W3RpOuaDs+S9oOS4gOaVtOWknF0NClthcjrlrZnlrZDmtrVdDQpbYWw65oOz5L2g5LiA5pW05aScXQ0KW2J5Ol0NCltvZmZzZXQ6MF0NClswMDowMC4yM13mg7PkvaDkuIDmlbTlpJwgLSDlrZnlrZDmtrUNClswMDowMS4wMF3or43vvJrlrZnlrZDmtrUNClswMDowMS4xNl3mm7LvvJrlrZnlrZDmtrUNClswMDowMS4zM13nvJbmm7LvvJrnjovmn4/puL8NClswMDowMS41Ml3liLbkvZzkurrvvJrotZbkvJ/plIsNClswMDowMS43NF3lkozlo7DnvJblhpkv5ZKM5aOw77ya6LWW5Lyf6ZSLDQpbMDA6MDIuNTdd5b2V6Z+z5biIL+W9lemfs+WupO+8muaxneaWh+WNmi9CaWcgSiBTdHVkaW8NClswMDowMy4wM13mt7fpn7PluIgv5re36Z+z5a6k77ya6LW16Z2WL0JpZyBKIFN0dWRpbw0KWzAwOjAzLjkzXeavjeW4puW3peeoi+W4iC/mr43luKblpITnkIblrqTvvJrlhajnm7jlvaYvT0ttYXN0ZXJpbmcgU3R1ZGlvDQpbMDA6MDQuNDldT1DvvJrljJfkuqznroDljZXlv6vkuZDmlofljJblj5HlsZXmnInpmZDlhazlj7gNClswMDowNS4wMV0KWzAwOjA1LjY0XeaDs+S9oCDmg7PkvaANClswMDowNy4wMV0KWzAwOjA4LjM2XeaDs+S9oOS4gOaVtOWknA0KWzAwOjEwLjcwXUNvbWUgb24NClswMDoxMS41OV0KWzAwOjEyLjU0XeS4iuS4gOenkuaIkeS7rOWkmuS5iOmAjemBpQ0KWzAwOjE1LjUzXeWDj+mmluatjOS4gOagtw0KWzAwOjE3LjUxXQpbMDA6MTguNDNd5bqf5LiA5byg54Gr6L2m56WoIOaKmOiFvuS4gOaZmuS4ig0KWzAwOjIxLjQ2XeWPquS4uuiDveaKseS4gOaKsQ0KWzAwOjIzLjU4XQpbMDA6MjQuMjJd5LiL5LiA56eS5oiR5Lus5aSa5LmI6K6h6L6DDQpbMDA6MjcuNDdd5YOP5a2p5a2Q5LiA5qC3DQpbMDA6MjkuNDddClswMDozMC40NV3ov5nlv4PotbfotbfkvI/kvI8g5LiN5piv5byA546p56yRDQpbMDA6MzMuNTBd5a6g5L2g5oiR5oiS5LiN5o6JDQpbMDA6MzUuNzVdClswMDozNy43NF3mg7PkvaDkuIDmlbTlpJwg5oiR6YO95rKh552hDQpbMDA6NDAuOTZd5YK755yL552A6L+Z5pif56m6DQpbMDA6NDMuMTNdClswMDo0My44NV3miJHnmoTlubznqJog5piv5oiR55qE6aKG6KKWDQpbMDA6NDYuOTdd5LiL5Luk5ZC75L2g6aKd5aS0DQpbMDA6NDkuMTFdClswMDo0OS43OV3niLHmg4XlsLHmmK/or6Ug55So5p2l56ew6aKCDQpbMDA6NTIuOTdd5b+D5Yqo5LiN5Lya5Y+Y5penDQpbMDA6NTUuMTVdClswMDo1NS44M13miYDosJPmhIEg5LiN6L+H5LiA56eN5b2i5a65DQpbMDA6NTguOThd5oiR5rKJ6YaJ5Zyo5byA5aS0DQpbMDE6MDEuMTBdClswMTowNC4wN13mg7PkvaAg5oOz5L2gDQpbMDE6MDUuNThdClswMTowNi45OV3mg7PkvaDkuIDmlbTlpJwNClswMTowOC42NV0KWzAxOjEzLjg0XeayoeeQhueUsea3i+mbqOmHjeeXheS4gOWcug0KWzAxOjE3LjAzXeaIkeWwseaYr+i/meagtw0KWzAxOjE5LjA3XQpbMDE6MTkuODVd5Ye65bGA6ICF55qE5L2Z5q+SIOi/mOmcgOimgemHiuaUvg0KWzAxOjIzLjA0XeaIkeeXm+eahOW+iOWao+W8oA0KWzAxOjI0Ljk3XQpbMDE6MjYuMDRd5Li65L2g5byD55aX5pyJ5LuA5LmI5aS45bygDQpbMDE6MjguOTZd5oiR5bCx5piv6L+Z5qC3DQpbMDE6MzAuODJdClswMTozMS45MV3mmK/ku5bku6zkuI3nn6XpgZMg5oiR5YaF5b+D5aSa5oOzDQpbMDE6MzQuOTdd5Li65LiA5Liq5Lq65Y+R54OnDQpbMDE6MzcuODJdClswMTozOS4yMV3mg7PkvaDkuIDmlbTlpJwg5oiR6YO95rKh552hDQpbMDE6NDIuNDdd5YK755yL552A6L+Z5pif56m6DQpbMDE6NDQuNjhdClswMTo0NS4yNV3miJHnmoTlubznqJog5piv5oiR55qE6aKG6KKWDQpbMDE6NDguNDhd5LiL5Luk5ZC75L2g6aKd5aS0DQpbMDE6NTAuNDhdClswMTo1MS4yMF3niLHmg4XlsLHmmK/or6Ug55So5p2l56ew6aKCDQpbMDE6NTQuNDZd5b+D5Yqo5LiN5Lya5Y+Y5penDQpbMDE6NTYuNjNdClswMTo1Ny4yNV3miYDosJPmhIEg5LiN6L+H5LiA56eN5b2i5a65DQpbMDI6MDAuNDNd5oiR5rKJ6YaJ5Zyo5byA5aS0DQpbMDI6MDIuODddClswMjowNC4xNF3mg7PkvaAg5oOz5L2gIOaDs+S9oA0KWzAyOjA3LjkzXQpbMDI6MDguNDdd5oOz5L2g5LiA5pW05aScDQpbMDI6MTAuMTFd5oOz5L2gIOaDs+S9oCDmg7PkvaANClswMjoxMy44MV0KWzAyOjE1LjA2XeaDs+S9oOS4gOaVtOWknCDmiJHpg73msqHnnaENClswMjoxOC40NF3lgrvnnIvnnYDov5nmmJ/nqboNClswMjoyMC41MF0KWzAyOjIxLjIyXeaIkeeahOW5vOeomiDmmK/miJHnmoTpooboopYNClswMjoyNC40NV3kuIvku6TlkLvkvaDpop3lpLQNClswMjoyNi42MF0KWzAyOjI3LjI0XeeIseaDheWwseaYr+ivpSDnlKjmnaXnp7DpooINClswMjozMC40OF3lv4PliqjkuI3kvJrlj5jml6cNClswMjozMi42M10KWzAyOjMzLjIxXeaJgOiwk+aEgSDkuI3ov4fkuIDnp43lvaLlrrkNClswMjozNi4zOV3miJHmsonphonlnKjlvIDlpLQ=\",\"trans\":\"\"})"

看到这串字符串了吗,不要方,我们先把这些数据拿到前台处理,其实他们是一个json串而已被函数MusicJsonCallback_lrc包着一同返回了,我们可以创建一个MusicJsonCallback_lrc函数并且在对这个字符串进行eval一下的得到的json字符串的lyric中的数据,这个数据是个base64形式的字符我们转换一下就可以看到歌词啦

import Base64 from 'js-base64'eval(data);//把获取的字符串放进去,通过eval再次执行一次代码//创建一个函数MusicJsonCallback_lrc
function MusicJsonCallback_lrc(data){
let lyric = Base64.Base64.decode(data.lyric);
console.log(lyric);//歌词
}

注意一下这里base64的解析用的是js-base64的所以记得先npm install js-base64 一下,然后引入,就可以看到歌词啦

博主自己做了一个音乐播放器如果喜欢记得star一下哈

github: https://github.com/hhzzcc/CMusic

项目地址:

效果图:

这些都是博主去QQ音乐上面一个个挖的以及参考一些大佬的博客得出来的心得,如果写的不好还请大家见谅,如果有疑问底下评论区可以提出来,或者私聊,博主会尽力即使给大家回复!


http://chatgpt.dhexx.cn/article/GKyETtuO.shtml

相关文章

步数精灵v3.0运动安卓版

软件介绍: 一键修改微信运动、支付宝运动的步数,让你在家足不出户也能走几万步,天天霸占好友排行榜首位! 软件预览图: 软件版本号:3.0 软件是否收费:免费软件/共享软件 运行环境:安卓 软件…

艾出行广告精灵挂机源码+对接码支付即时到账+充值系统+推广下级系统+封装app

简介: 安装说明:请使用win系统 apache php5.6 mysql5.6 进行安装。 1、上传到网站根目录 2、用phpMyadmin导入数据库文件.sql 3、修改数据库链接文件 /APP/Conf/config.php (记得不要用记事本修改,否则可能会出现验证码显示不了问…

支付平台架构:终端安全技术实现

前蚂蚁集团宣布即将IPO之后,9月11日晚间,以金融支付起家的京东数科也要上市了。近年来,第三方支付业务的资金规模不断扩大,支付业务量稳步增长,“第三方支付”及“移动支付”已成为年度搜索热词,支付平台作…

键盘精灵_键盘

键盘精灵 They folks over at DasKeyboard loaned me a reviewers copy of their totally blank keyboard about three weeks ago and Ive been typing on it since. 大约在三周前, DasKeyboard的同事们借给了我审阅他们完全空白的键盘的副本,此后我一直…

Telink ble mesh天猫精灵应用

文章目录 1 前言2 完美对接天猫精灵平台2.1 创建新产品2.1.1 添加产品类型2.1.2 添加产品信息2.1.3 添加产品功能 2.2 设置人机交互2.2.1 设置控制口令2.2.2 添加产品展示图2.2.3 添加配网指导2.2.4 添加升级指导2.2.5 添加控制面板 2.3 选择品牌模组2.4 下载并保管好三元组2.5…

[超详细] 2021支付宝集五福【攻略】来了-附自动化脚本

一年一度的支付宝集五福在2月1号的凌晨开始了,虽然一年比一年瓜分的少,但不知不觉集福卡成了过年最佳的消遣娱乐方式了。活动从2月1日开始至1月11日结束。 扫下面这个福字,必得沾福卡! 零、额外福利 额外福卡二维码扫福器下载地址…

小程序图标-精灵图

文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言、评论。

python调用按键精灵插件_【按键精灵】三分钟教你实现自动解决各种验证码

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习…

python调用按键精灵插件_【按键精灵教程】此帖在手,打码不愁

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习…

python调用按键精灵插件_按键精灵教程打码平台接入

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习…

手机端APP调起支付宝客户端支付!!!!

需要商户登录支付宝后台,在“账户中心-密钥管理”下配置MAPI网关产品密钥,用支付宝官方提供的openssl-1.0.2m工具生成一对私钥和公钥,把公钥配置上去就可以了。不清楚的也可以咨询支付宝的在线客服技术人员,很好的客服 赋代码&am…

支付宝蚂蚁森林php自动,auto.js蚂蚁森林智能脚本使用方法分享 支付宝蚂蚁森林自动辅助...

auto.js蚂蚁森林智能脚本使用方法分享 支付宝蚂蚁森林自动辅助 这个项目是 github上的一个开源项目,作者应该是 SuperMonster ,此人在52也有ID 不管怎么说是一个长期维护的开源项目,安全性 跟可用性完全不用担心了 重点就是你玩不玩蚂蚁森林了…

按键精灵初接触

初衷 当目前想模拟人工操作的时候,而且不想去操作底层协议去攻破各大系统漏洞,还想自动化的操作,加流量,加粉丝,加关注,自动挂机等等。解放双手,按键精灵就是你需要的。 目前按键精灵类似软件…

MacOS 按键精灵推荐

前段时间本人被反复枯燥的工作折磨,后突发奇想使用按键精灵。 按键精灵是一款功能强大的自动化操作工具,可以用来完成一系列重复性的操作,比如键盘快捷键的模拟、文本自动输入、鼠标操作的模拟等等,可以大大提高工作效率。 工具…

支付宝集五福攻略

新年到了,支付宝又开启了一年一度的集五福活动 (说实话一般情况下得不到多少钱),主要还是图个喜庆,图个高兴。下面小编为你奉上集五福攻略。 AR扫福这张图片大概率可以获得沾沾卡 第二是支付宝分别搜:滴滴…

1.3 JavaScript 输入与输出

1.3 JavaScript 输入与输出 输入 从HTML与用户的交互中输入信息,例如通过input、textarea等标签获取用户的键盘输入,通过click、hover等事件获取用户的鼠标输入。通过Ajax与WebSocket从服务器端获取输入标准输入,参考AcWing 1. A B let fs…

js控制文本框只能输入数字 及 常用字符对应ASCII码值

方法一: < INPUT TYPE =text NAME =text onkeypress ="a()" > < script language =javascript > ... function a()...{ var k = window.event.keyCode;if ( (k > 47 && k < 58) ||

js-确定输入字符串是否有效

// 给定一个仅包含字符 (, ), {, }, [ 和 ] 的字符串 s&#xff0c;// 确定输入字符串是否有效。// 输入字符串在以下情况下有效&#xff1a; // Input: s "()[]{}"// Output: true// Input: s "(]"// Output: false // Input: s "([)]"// Ou…

JS:js输出

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>js输出</title> </head> <body><script type"text/javascript">alert(hello javascript); // window.可省略 …

JS(javascript)动态判断输入文本框剩余可输入字符数

一、描述 我们在空间中发表状态&#xff0c;当我们输入一个字符&#xff0c;上面的剩余可输入字符数就会减一&#xff0c;直到输入的字符数达到之前设定的最大数量为止&#xff0c;效果如下图所示&#xff1a; 二、实现方法 首先&#xff0c;我们先确定文本框内的最大可输入长…