实时 BPM
播放时在浏览器里算,不靠预先标注。算出来不在区间内、或置信度不够就不显示 —— 宁可不说,也不猜。
MUSIC / LISTEN / API
四个平台的搜索、歌词与播放,收在同一个界面里。上游的限流、降级和失败由我们吸收 —— 但从不假装它们不存在。
无需登录即可开始播放 · 音频 302 跳上游 CDN,Portal 不存储音频

BUILT, NOT CLAIMED
下面每一条都能在产品里点到,也都带着一个可以核对的数。
播放时在浏览器里算,不靠预先标注。算出来不在区间内、或置信度不够就不显示 —— 宁可不说,也不猜。
进度条周围的细线读真实的 AnalyserNode。封面跨域取不到频谱时退回节拍包络,而不是把一帧静态点阵当成「正在播放」。
逐行时间轴,翻译随时开关。上游确实没有歌词时,界面就说没有,不走错误路径。
由当前封面推出三个数,整片背景的颜色全部由这三个数导出,不做整屏换肤。
把播放器开成一个独立的小窗口,切走标签页也在播。
按当前曲目动态解析可用档位,并显示你实际拿到的那一档 —— 不是你点的那一档。
CAPABILITY, PER PROVIDER
同一个端点在不同平台上并不等价。哪一格空着,我们就说空着。
| Provider | 搜索 | 播放地址 | 歌词 | 专辑 | 歌单 |
|---|---|---|---|---|---|
| 网易云音乐 | 支持 | 支持 | 支持 | 支持 | 支持 |
| JOOX | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| QQ 音乐 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| 酷狗音乐 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
酷狗查专辑会静默返回另一张,所以我们干脆不声明这个能力。与其给你一个「看起来成功」的错答案,不如明说做不到。
/api/v1/searchJSONq / type / provider / limit / offset/api/v1/stream/{provider}/{id}302缺省取当前曲目动态最高可用档/api/v1/lyric/{provider}/{id}JSON逐行时间轴,翻译可选/api/v1/album/{provider}/{id}TrackList仅网易云声明此能力/api/v1/playlist/{provider}/{id}TrackList仅网易云声明此能力/api/v1/track/{provider}/{id}501上游确认不支持,明确回 CAPABILITY_UNSUPPORTED$ curl -H "Authorization: Bearer lyc_YOUR_KEY" \
"https://lycagon.wlop.uk/api/v1/search?q=blue"
{
"results": [{ "title": "Blue", "artist": "Joni Mitchell" }]
}四道闸门顺序固定,每一道有自己的状态码,不合并成一个「请求失败」。
501 只用在一个地方。它和 502 分开,是因为带指数退避的客户端会一直重试一个永远不会成的请求 —— 既烧你的配额,也烧我们的限流桶。
拿一把 Key。API Key 目前按用途发放,不是自助注册 —— 说明你要做什么,我们再开。
YOUR NEXT SONG