wangchenyan / ponymusic

An Android online music player like NetEase Cloud Music, based on Media3 and ExoPlayer
https://juejin.cn/post/7294072229003952143
2.63k stars 474 forks source link

歌曲超过1000首加载失败 #81

Closed cenguigui closed 6 months ago

cenguigui commented 6 months ago

歌曲超过1000首加载失败,大佬啥时候修复下 登录后在我的歌单加载失败 Screenshot_2024-03-27-21-42-17-07_c3f9a064d5c9f2e0954345a63ea93444

wangchenyan commented 6 months ago

哥,不是我不想改,是接口的问题,超过1000首歌曲,接口就报错了,我也没办法😰

Bumblebee202111 commented 4 months ago

@wangchenyan 请求reopen。尚未在您的app上测试过,但初步判断这是因为wyy所有批量的歌曲接口最多只支持1000首歌曲,而binaryify大佬简化的接口(实际包含两个请求)没考虑到这一点。 解决方法是自己实现这两步:

  1. 从/playlist/detail获取trackIds(全部歌曲ids)和第一页歌曲信息
  2. 对非第一页trackIds,chunked(1000)后分别走/song/detail 对于没必要一次性加载完的情况(如浏览)建议实现分页懒加载。

    更新:发现已修复,但是获取非第一页歌曲的接口大佬仍然可以考虑换成/song/detail,避免重复加载歌单信息,毕竟这些接口返回的数据还是比较庞大的。然后源码中歌单的limit都可以增大到1000。