怎么使用QQ音乐api搭建个人音乐站点

最近经常有人在oschina上追问怎么用QQ音乐接口的问题。
闲得无聊,重新折腾了一下网页版QQ音乐压缩版源码,整理了一个完整音乐站点搭建的过程。

https://y.qq.com/

话不多说,主要分三步,直接上菜。

1.搜索音乐结果。
2.解析结果,拿到f,解析f
3.获取音乐权限vkey

1⃣️. 首先想去拿音乐,以搜索音乐结果为例。qq音乐api接口是:http://s.music.qq.com/fcgi-bin/music_search_new_platform?t=0&n={你的pageSize}&aggr=1&cr=1&loginUin={QQ号码}&format=json &inCharset=GB2312&outCharset=utf-8 &notice=0 &platform=jqmi niframe.json&needNewCode= 0&p={当前页码}&catZhida=0 &remoteplace=sizer.newclient.next_song&w={搜索关键字}

例:直接get请求
http://s.music.qq.com/fcgi-bin/music_search_new_platform?t=0&n=3&aggr=1&cr=1&loginUin=123456&format=json&inCharset=GB2312&outCharset=utf-8&notice=0&platform=jqminiframe.json&needNewCode=0&p=1&catZhida=0&remoteplace=sizer.newclient.next_song&w=刚好遇见你

response: res.data.song.list 就是返回的音乐列表。
**(这里qq音乐的这个接口需要通过服务器端请求,直接浏览器去拿会跨域问题。或者用爬虫)
以其中一个对象为例:
获取 f 属性

5002383|声音|131|费玉清;李代沫|435987|声音|2102982|223|7|1|0|8959705|3584855|320000|0|0|0|4909876|5329730|0|000wbmA44e4VEM|0040MELG3TS8OW|000yT4Tj0zs7VP|0|4009“

2⃣️.解析结果:先把f属性拆分成一个数组方便取数据。

var data = f.split("|");
var img =data[22];//000yT4Tj0zs7VP
//获取音乐ID··
var musicId = data[20];//000wbmA44e4VEM,下一步会用到
//获取音乐封面```
var musicIcon = 'http://imgcache.qq.com/music/photo/mid_album_90/'+ img.charAt(img. length-2)+'/'+img.charAt(img.length-1)+'/'+img+'.jpg';

3⃣️.获取音乐权限vkey:
利用ajax jsonp方式请求:

http://c.y.qq.com/base/fcgi-bin/fcg_musicexpress.fcg?json=3&guid=123456

这里guid和获取musicId时候的传的loginUin={QQ号码} 保持一致

var musicId = {上一步中的获得的musicId}
$.ajax({type:"get",url:"http://c.y.qq.com/base/fcgi-bin/fcg_musicexpress.fcg?json=3&guid=123456",dataType:"jsonp",jsonpCallback:"jsonCallback"
}).done(function(rs){var key =rs.key //成功获取到vkey;var musicURI = 'http://ws.stream.qqmusic.qq.com/C200'+musicId+' .m4a?vkey='+res.key+'&guid=123456&fromtag=30';$("body").append('<audio class="hide" id="sound" src="'+musicURI+'" controls="controls"></audio>');document.getElementById("sound").play();//到此完成
});

详情见代码。

tips:请不要用于商业途径获利,仅供参考与技术交流分享
练手demo地址:http://www.cqudingx.xyz/jade/chat

怎么使用QQ音乐api搭建个人音乐站点相关推荐

  1. 音乐api搭建php音乐下载,百度音乐api接口

    百度音乐全接口 会利用使用接口找歌简单又快捷 http://tingapi.ting.baidu.com/v1/restserver/ting 获取方式:GET 参数:format=json或xml& ...

  2. Vue实现仿音乐播放器11-实现访问百度音乐API实现播放音乐功能

    场景 从今日推荐页面点击某首歌曲会将这首歌曲的songid通过路由传递到播放界面, 播放界面调用百度音乐接口实现数据的获取以及音乐的播放. 效果 实现 配置路由 首先在pages目录下新建musicp ...

  3. Vue实现访问百度音乐API实现播放音乐功能

    场景 从今日推荐页面点击某首歌曲会将这首歌曲的songid通过路由传递到播放界面, 播放界面调用百度音乐接口实现数据的获取以及音乐的播放. 效果 实现 配置路由 首先在pages目录下新建musicp ...

  4. 『Python』网易云音乐API爬虫(音乐搜索音乐播放)

    前言 永远相信美好的事情即将发生 背景 一直想做一个在线的音乐播放器,这个想法最早可以追溯到做毕设的那会,那时候做了个在线的商城系统, 里面有个在线听歌的模块,其实就是调用大佬们封装好的API进行搜索 ...

  5. 整理一份API接口,包括音乐API,图片API,聚合API等等

    音乐: MessAPI(支持网易QQ酷狗酷我咪咕百度) QQ音乐API 网易云音乐 NodeJS 版 API 自己动手开发QQ音乐api调用教程 自己动手开发网易云音乐api调用教程 图片: Unsp ...

  6. 使用豆瓣音乐API笔记

    蓝字是链接 豆瓣API V2 API地址: 上面不能用的话,可以试试这个 我这里用的是豆瓣音乐API: 获取音乐 GET https://api.douban.com/v2/music/:id 返回音 ...

  7. js封装QQ音乐api

    QQ音乐api文档地址:QQ音乐api文档 封装好后的api文件地址:需要引入请求封装文件-/ajax.js https://github.com/1015770492/yumbo-vue/blob/ ...

  8. qq音乐mp3解析php源码,QQ音乐API

    QQ音乐API搜索歌曲API: &aggr=1&cr=1&loginUin={3}&format=json&inCharset=GB2312&outCh ...

  9. 网易云音乐/QQ音乐API更新,支持多音质切换/MV获取

    自从上一版开源过后到现在音乐接口的调用量已经达到了快100W,但是最近由于网易云的更新,导致部分接口不能使用,最近在工作之余抽出时间把API重写. 本次API版本不再使用PHP,使用Java,相比以前 ...

  10. 【QQ音乐Api】移花接木 打造自己的音乐电台

    为什么80%的码农都做不了架构师?>>>    最近突发奇想想做个在线音乐小网页.需求很简单,如下 搜索歌曲 或 歌手 在线播放音乐 借用qq 或者 百度的 音乐接口 需求明确那就直 ...

最新文章

  1. LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法
  2. 为什么使用HashMap需要重写hashcode和equals方法_java常见面试题敲黑板了,HashMap最全的整理,大厂必考...
  3. oracle客户端没有装exp,oracle 10G 客户端安装后,尝试 exp 命令报错, 求解
  4. 【数理知识】co-inner-outer factorizations
  5. c语言实现连续几个bit位置1,【C语言简单说】四:常量
  6. 产品操作-查询全部产品
  7. 计算机文化基础第二章,计算机文化基础(第二章Windows2000操作系统)
  8. npm ERR! code ENOENT npm ERR! syscall open npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file
  9. 【skimage.util.shape】有关view_as_windows裁剪数组及恢复的简单尝试
  10. 数字电子技术基础-阎石老师版本-学习记录
  11. 基于springboot,vue图书管理系统
  12. 关闭计算机主机还亮着,Win10系统电脑关机后主机电源灯依然亮着的解决方法
  13. python 好用的库_12个超好用的Python库,都帮你们整理好了!
  14. 大淘客的index.php,index.php · zenozhengs/大淘客CMS底部菜单修改版 - Gitee.com
  15. 会话技巧---英文单词
  16. 2023年广东数据分析师CPDA认证招生简章(理论+实战)
  17. 一致性哈希算法的解析与实现
  18. Java设计模式之工厂模式篇 (转)
  19. Guava 之 Multiset
  20. IP安全讲解(DHCP Snooping、IPSG、DAI)

热门文章

  1. 实用开发工具及框架概述
  2. 随机梯度下降算法(SGD)
  3. 【操作系统】时间片轮转调度法
  4. uv422转换为yuv420_YUV420 Planar 转换为 YUV422 Packed
  5. 基于minio及tus断点续传及断点下载解决方案
  6. 用Python实现双色球随机选号
  7. Java关于周跨年的周数计算,编写一个JAVA类,用于计算两个日期之间的周数。
  8. 湖南省计算机二级考试题库,湖南省计算机二级考试题库..doc
  9. Unity世界坐标转换屏幕坐标(测试)
  10. jquery 常见特效_常见jQuery错误的解决方案