建议加入判断请求到的歌词内容是否为空

BUG反馈 · 59 次浏览
柏吃支醉 创建于 2024-08-07 06:14

第一次用就发现失效了,但试了几首,结果发现其他歌曲均可正常使用

唯独这首不知道什么问题,虽然没有报错,但最终弹出的歌词窗口里,什么都没有
https://music.163.com/song?id=2160823413&userid=92431583

调试运行了下,跟普通歌曲的不同在于没有请求到歌词内容(左侧为成功的,右侧为失败的)

换言之,这个API请求返回的结果只返回了末尾的200
http://music.163.com/api/song/media?id=2160823413

换成这个API可以读取(下图右边,能看到歌词了)
https://music.163.com/api/song/lyric?id=2160823413&lv=1&kv=1&tv=-1

不过同样处于tlyric下的lyric,一个显示的是翻译后的歌词,另一个显示的就是原歌词,还得单独做些判断。

总之,歌词为空不在于歌曲本身没有歌词,而在于API没请求到,建议上这么个判断,如果发现没歌词就换另一个API。

我本来是找解决办法的,但这帖子写着写着发现解决了……所以既算是BUG反馈也算是功能建议吧

不过不知道为啥,这另一个API请求不到这首歌的歌词翻译(上图右边理应是有中文歌词的,见下图)


回复内容
Moy 2024-08-07 12:01
#1

恭喜你在探索的过程中自己解决了问题hhh  ( ̄▽ ̄)ノ



柏吃支醉 回复 Moy 2024-08-07 15:38 :

解决得不完全,我是把动作复制了一份,然后做了些微调,因为发现在不做进一步判断的情况下新API难以兼顾所有歌曲,所以是当动作提取失败时我再换这个改过后的动作来提取;二是,对于双语歌词,提取不到,就像帖子中这首,就算用了新API也没有歌词翻译……我看动作开头的注释里你还写着TODO,其中有条就是双语_(:з」∠)_

回复主贴