n374 / dmusic-plugin-NeteaseCloudMusic

NeteaseCloudMusic Plugin for Deepin Music Player
https://wu.nerd.moe/?p=1861
203 stars 45 forks source link

下载机制 #22

Closed SnDream closed 7 months ago

SnDream commented 8 years ago

插件的下载机制是“提供URL给播放器”吗,还是插件自行下载然后调用播放器呢? 如果是后者,能否考虑提供一个类似缓存的机制,毕竟连单曲循环都要重新下载,感觉不划算。

n374 commented 8 years ago

插件只提供URL给播放器,剩下的由播放器解决。 所以无法在直接由播放器缓存,但是应该还是可以在插件层级实现。

SnDream commented 8 years ago

那我转向去深度那边问了……

顺便问一下,插件中私人FM的机制是什么,怎么感觉就像是整个曲库中随便选歌一样……

n374 commented 8 years ago

就是直接调用网易云音乐的API,这是一个网页版的demo: http://music.163.com/demo/fm

n374 commented 8 years ago

网易应该会根据你喜欢的歌曲来推测你可能感兴趣的内容吧,有点类似豆瓣FM吧

SnDream commented 8 years ago

调用的是网页版啊,网页版我也一直再用,今天回到插件上面,感觉准多了。 不过插件一次性读取三首歌能否改成即时获取一首的方式? 比如说第一首我不喜欢,然而一次性读取的后面部分,还是和不喜欢的那首类似的风格,换成即时获取,那么网易那边应该就会对刚才的删除做出回应,提供其他风格的歌曲。

n374 commented 8 years ago

API并没有提供接口以获取一定数目的歌曲,所以只能被动接收。API一般都会返回3首歌曲,个别情况会返回一首。 而且不确定网易是否会实时更新,毕竟网易云音乐主页上的歌曲推荐是每天更新一次。

SnDream commented 8 years ago

API一次性返回三首吗?有点奇怪,毕竟网页版FM上只可能当场播放一首吧,估计也是缓存机制的一种?

n374 commented 8 years ago

用Fiddle分析网页版,确实是radio/get一次,连续播放3首。 不确定是不是私人FM相对较费资源,一次返回多个结果以减少访问次数。

SnDream commented 8 years ago

我用网页元素审查,确实是每三首歌进行一次http://music.163.com/api/radio/get,红心和删除不会改变get的节奏。 非常感谢。

SnDream commented 8 years ago

有段时间没开深度FM了,听自己歌单的现成曲目。 今天切回FM,发现推送的又是一堆明显不合口味的歌曲。 我稍微注意了一下,在“推送不合口味”的状态下,对曲目进行删除操作,并不会进入私人FM的“已删除曲目”的列表。 重新登录后推送的又是正常曲目,且对曲目进行删除操作能进入“已删除列表”,是否是长期不用的FM会造成独立于歌单的登录授权问题(比如cookie过期之类的?当场尝试了一下重启深度,然而没有复现问题),导致FM随机推送音乐?

n374 commented 8 years ago

推测是Cookie失效导致 目前并没有相关代码检测Cookie失效问题 失效后私人FM会返回歌曲,有可能导致你所说的问题

顺便问下在什么地方查看已删除曲目?网页版和手机版上并没有找到

SnDream commented 8 years ago

我个人是手机版(Android),FM中长按删除按钮,就可以看到已删除音乐的菜单。