歌词迷API文档学习

Android歌词API详解
一:学习目的
因进来做一个Android MP3播放器项目,需要用到歌词本地同步和在线同步,本地不存在在通过WiFi或GPRS从网络上获取;
二:学习API的网址:
http://api.geci.me/en/latest/index.html#indices-and-tables
三:学习前掌握的知识:
1)看的懂Json数据格式;
2)如果想深入了解此API要了解汉字和Unicode的转换!
四:学习内容
主要可以通过一下方式来获取歌词:
1) 根据歌曲名来获取歌词
2) 格局歌曲名和歌手名获取歌词
3) 根据歌曲编号获取歌曲URL
4) 根据专辑编号获取专辑封面URL
五:详细分析
<一>:根据歌曲名来获取歌词
1) 请求地址: http://geci.me/api/lyric/:song
2) 返回歌词格式: json字符串
3) 请求方式是:get方式;
Eg:查找“海阔天空”的歌词;url:http://geci.me/api/lyric/海阔天空
获取到的json数据格式如下:
{ "count": 15, "code": 0, "result":
[
{"aid": 1563419, "lrc": "http://s.geci.me/lrc/166/16685/1668536.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 1668536},
{"aid": 1571906, "lrc": "http://s.geci.me/lrc/167/16796/1679605.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 1679605},
{"aid": 1573814, "lrc": "http://s.geci.me/lrc/168/16819/1681961.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 1681961},
{"aid": 1618733, "lrc": "http://s.geci.me/lrc/174/17407/1740790.lrc", "artist": "\u5468\u534e\u5065", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 1740790},
{"aid": 1656038, "lrc": "http://s.geci.me/lrc/179/17907/1790768.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 1790768},
{"aid": 1718741, "lrc": "http://s.geci.me/lrc/187/18757/1875769.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 1875769},
{"aid": 1889264, "lrc": "http://s.geci.me/lrc/210/21070/2107014.lrc", "artist": "\u8d39\u7fd4", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 2107014},
{"aid": 2003267, "lrc": "http://s.geci.me/lrc/226/22642/2264296.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 2264296},
{"aid": 2020610, "lrc": "http://s.geci.me/lrc/228/22889/2288967.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 2288967},
{"aid": 2051678, "lrc": "http://s.geci.me/lrc/233/23323/2332322.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 2332322},
{"aid": 2075717, "lrc": "http://s.geci.me/lrc/236/23651/2365157.lrc", "artist": "\u8d39\u7fd4", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 2365157},
{"aid": 2253359, "lrc": "http://s.geci.me/lrc/261/26128/2612812.lrc", "artist": "\u9ec4\u79cb\u751f", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 2612812},
{"aid": 2319680, "lrc": "http://s.geci.me/lrc/270/27055/2705565.lrc", "artist": "\u4efb\u8d24\u9f50", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 2705565},
{"aid": 2346662, "lrc": "http://s.geci.me/lrc/274/27442/2744281.lrc", "artist": "\u6797\u5b50\u7965", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 2744281},
{"aid": 2412272, "lrc": "http://s.geci.me/lrc/283/28370/2837015.lrc", "artist": "DJ Tommy", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 2837015}
]
}
这并非我们所找歌曲的歌词,而是在歌词迷库中存在的不同版本歌曲歌词的url;
从这里看有15个版本(坑爹啊);
{"aid": 1563419, "lrc": "http://s.geci.me/lrc/166/16685/1668536.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 1668536}
Aid: 经多次测试,得到此编号指
Lrc:歌词的路径;
Artist:Beyond –歌手名字
Song: 海阔天空—歌曲名称;
Sid:是歌词编号;
<二>:根据歌曲名和歌手名获取歌词
1) 请求地址: http://geci.me/api/lyric/:song
2) 返回歌词格式: json字符串
3) 请求方式是:get方式;
Eg:查找黄秋生的“海宽天空” http://geci.me/api/lyric/海阔天空/黄秋生
<三>:根据歌曲编号获取歌词URL
1) 请求地址:http://geci.me/api/cover/:album_id
2) 返回歌词格式: json字符串
3) 请求方式是:get方式;
Eg:
{"aid": 1563419, "lrc": "http://s.geci.me/lrc/166/16685/1668536.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 1668536},
知道了以上信息可以通过http://s.geci.me/lrc/166/16685/1668536.lrc中1668536或sid获取歌词路径;
<四>:根据专辑编号获取专辑封面URL
1) 请求地址:http://geci.me/api/cover/:album_id
2) 返回歌词格式: json字符串
3) 请求方式是:get方式;
Eg:查找“海阔天空”的专辑封面:
首先要通过第一步(歌曲名称查询获取信息);

以第一个版本为例:
{"aid": 1563419, "lrc": "http://s.geci.me/lrc/166/16685/1668536.lrc", "artist": "Beyond", "song": "\u6d77\u9614\u5929\u7a7a", "sid": 1668536},

(1) http://geci.me/api/cover/aid
即:http://geci.me/api/cover/1563419
返回一个json字符串:

{"count": 1, "code": 0, "result": {"cover": "http://s.geci.me/album-cover/156/1563419.jpg", "thumb": "http://s.geci.me/album-cover/156/1563419-thumb.jpg"}}
主要看cover对应的值:http://s.geci.me/album-cover/156/1563419.jpg和thumb对应的值:http://s.geci.me/album-cover/156/1563419-thumb.jpg;
Cover和thumb对应的都是专辑封面的路径,但是thumb对的是小图片;

六:学习收获
初次学习关于歌词API,再加上官方给的文档没有详细的说明,学习起来很吃力。通过不断的测试对该API进行个人分析所得;做笔记供下次使用和有此需求的网友参考!
七:个人联系方式
扣扣:1139099238
Android群:262241818
以上纯属个人观点,最终解释权贵鄙人所有!
内容概要:本文详细介绍了“秒杀商城”微服务架构的设计与实战全过程,涵盖系统从需求分析、服务拆分、技术选型到核心功能开发、分布式事务处理、容器化部署及监控链路追踪的完整流程。重点解决了高并发场景下的超卖问题,采用Redis预减库存、消息队列削峰、数据库乐观锁等手段保障数据一致性,并通过Nacos实现服务注册发现与配置管理,利用Seata处理跨服务分布式事务,结合RabbitMQ实现异步下单,提升系统吞吐能力。同时,项目支持Docker Compose快速部署和Kubernetes生产级编排,集成Sleuth+Zipkin链路追踪与Prometheus+Grafana监控体系,构建可观测性强的微服务系统。; 适合人群:具备Java基础和Spring Boot开发经验,熟悉微服务基本概念的中高级研发人员,尤其是希望深入理解高并发系统设计、分布式事务、服务治理等核心技术的开发者;适合工作2-5年、有志于转型微服务或提升架构能力的工程师; 使用场景及目标:①学习如何基于Spring Cloud Alibaba构建完整的微服务项目;②掌握秒杀场景下高并发、超卖控制、异步化、削峰填谷等关键技术方案;③实践分布式事务(Seata)、服务熔断降级、链路追踪、统一配置中心等企业级中间件的应用;④完成从本地开发到容器化部署的全流程落地; 阅读建议:建议按照文档提供的七个阶段循序渐进地动手实践,重点关注秒杀流程设计、服务间通信机制、分布式事务实现和系统性能优化部分,结合代码调试与监控工具深入理解各组件协作原理,真正掌握高并发微服务系统的构建能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值