基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)

2020博客之星年度总评选进行中:请为74号的狗子投上宝贵的一票!
我的投票地址:点击为我投票
在这里插入图片描述



前言

首先说明,本教程仅供个人学习,研究使用,禁止用于任何的商业和非法用途。(手动狗头)之所以要研究这个,是因为我想让我的播放器连上网络,而如果自己用数据库保存歌曲的相关信息不太现实,于是想到使用市面上的音乐软件,看看能不能找到api接口。最后声明,仅供学习使用,切莫用于商业用途。


1.获取歌曲搜索列表api接口

打开酷狗官网,在搜索栏中输入凤凰传奇,并按F12进入开发者工具,并选择Network(Network会显示网页和服务器之间的数据交流)。
在这里插入图片描述
我们再次按F5进行刷新,让页面与服务器进行交流,会立马显示很多数据:
在这里插入图片描述
我们试着找一找这些信息,不要漫无目的的找,我们的目标是api接口的地址,把重点放在地址上面,如果点开只有一小部分,但是还有被折叠的内容,也许就是我们要找的,经过排查,下面两个地址返回的内容包含我们所需要的歌曲信息。
在这里插入图片描述
通过比对ui列表的歌曲信息,可知有30条数据,经过对比,确定最终地址。
在这里插入图片描述
在这里插入图片描述
确定后,点击Headers,可以看到URL:
在这里插入图片描述
浏览器输入看看,是不是我们要找的接口:
在这里插入图片描述
果然没错,返回的是密密麻麻的json,我们用工具(在线解析)解析一下:
在这里插入图片描述
我们再回到酷狗界面
对照着搜索列表不难总结出:

AlbumName: "中国美"         				//专辑名称
FileName: "<em>玖月奇迹</em> - 中国范儿"  //文件名称
SingerName: "<em>玖月奇迹</em>"  		//演唱者
SongName: "中国范儿"  		  			//歌曲名称
FileHash: "275B12560EF5C29AAB19537F14FB055E"   //文件名称 用于获取歌曲详细信息
HQDuration: 229    			 			//歌曲名称 秒单位

现在我们得到了搜索列表的api接口:
https://complexsearch.kugou.com/v2/search/song?callback=callback123&keyword=%E7%8E%96%E6%9C%88%E5%A5%87%E8%BF%B9&page=1&pagesize=30&bitrate=0&isfuzzy=0&tag=em&inputtype=0&platform=WebFilter&userid=-1&clientver=2000&iscorrection=1&privilege_filter=0&srcappid=2919&clienttime=1597134090150&mid=1597134090150&uuid=1597134090150&dfid=-&signature=F3F2D045B6F17C6D606353AD42E8C1FF

这里的word 就是我们搜索的内容,而%E7%8E%96%E6%9C%88%E5%A5%87%E8%BF%B9其实是玖月奇迹,我们使用的时候可直接使用中文玖月奇迹,但是本人能力有限,破不了最后signature,只好用了网上前辈留下的api,前辈所说的方法,在现在的酷狗的也不再实用,但是试了一下,接口还是可以用的,找到了两个。

http://mobilecdn.kugou.com/api/v3/search/song?format=json&keyword=歌曲名称&page=1&pagesize=30

http://songsearch.kugou.com/song_search_v2?callback=jQuery191034642999175022426_1489023388639&keyword=歌曲名称&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1489023388641


2.获取单个歌曲详细信息包括歌词

找url的过程我们就跳过了,搜索列表中随便选择一首歌曲,有一个index打头的地址,打开后,就是歌曲的详情情况,包括(播放地址,歌词,照片等等)。
在这里插入图片描述

https://wwwapi.kugou.com/yy/index.php?r=play/getdata
&callback=jQuery19101743242916291361_1597125296933
&hash=3C3D93A5615FB42486CAB22024945264
&album_id=1645030
&dfid=3duBtm1dPh7H0yHDiX2OD3mw
&mid=a168b7359d24b7bc03957638c51d1cf9
&platid=4
&_=1597125296934
经过试验,发现有几个值是没有用的,可以使用如下的形式:
https://wwwapi.kugou.com/yy/index.php?r=play/getdata
&hash=275B12560EF5C29AAB19537F14FB055E
这里的hash 就是上面的filehash


3.总结

1.搜索列表api接口:

http://mobilecdn.kugou.com/api/v3/search/song?format=json&keyword=歌曲名称&page=1&pagesize=30

http://songsearch.kugou.com/song_search_v2?callback=jQuery191034642999175022426_1489023388639&keyword=歌曲名称&page=1&pagesize=30&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0&_=1489023388641


2歌曲详细信息api接口:

https://wwwapi.kugou.com/yy/index.php?r=play/getdata
&hash=275B12560EF5C29AAB19537F14FB055E

这里的275B12560EF5C29AAB19537F14FB055E就是搜索列表api中获取的值。

然后早些时候研究过json的解析,可能对大家有帮助:在java中json的解析和生成


  • 65
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 45
    评论
### 回答1: 酷狗音乐播放器是基于qt框架开发的一款音乐播放软件。它界面美观、易用,支持各种音频格式播放,包括MP3、FLAK、WMA等,并可在线播放网络收音机和音乐。 该播放器采用Qt提供的QMediaPlayer模块实现了音频播放功能,能够播放媒体文件、网络流和音频CD等多种形式。同时,还可通过QMultimedia模块实现音频采集、基本音效处理和视频播放等功能。 除基本播放功能外,酷狗音乐播放器还支持多语言、音效调节、循环播放、快捷键等特色功能,并且用户可自定义界面布局和皮肤。同时,酷狗音乐播放器还支持在线播放歌曲、MV、KTV等资源,满足用户对音乐的不同需求。 总之,基于qt酷狗音乐播放器不仅拥有丰富的音频播放功能,同时还能够提供用户自定义、多样化的操作和界面体验,是一款优秀的音乐播放软件。 ### 回答2: 基于Qt酷狗音乐播放器是一款功能强大、界面美观并且易于使用的音乐播放软件。Qt是一套跨平台的C++图形用户界面开发框架,可以同时支持Windows、Mac OS和Linux等多个操作系统。这意味着酷狗音乐播放器可以在不同的操作系统上都能够正常运行。 酷狗音乐播放器集成了丰富的音乐资源,用户可以通过搜索或者分类浏览的方式来寻找自己喜欢的音乐、专辑或者歌手。同时,它还支持歌词显示、锁屏歌词、自动匹配歌词,让用户可以更好地享受音乐。 此外,酷狗音乐播放器还具备强大的音效处理功能,用户可以通过自定义均衡器、立体声、增强等音效,将音乐播放效果发挥到极致。同时,它还支持多种音频格式,包括MP3、WMA、FLAC、APE等,保证了音乐的兼容性和播放质量。 用户可以通过多种方式管理自己的音乐库,包括通过文件夹导入、iTunes库导入和手动添加等。此外,还具备快捷键、手势操作等方便的控制方式,让用户可以自由切换音乐、音效和播放器设置等。 总之,基于Qt酷狗音乐播放器是一款完善的音乐播放软件,不仅具备良好的用户体验,而且能够满足不同用户的需求。无论是听歌还是管理音乐库,都能够让用户得到全面的满足。
评论 45
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花狗Fdog

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值