mebtte / cicada

A multi-user music service for self-hosting.
GNU General Public License v3.0
1.03k stars 80 forks source link

feat: 从歌曲文件里读取封面和歌词信息 #38

Closed CodeByZack closed 1 year ago

CodeByZack commented 1 year ago

大部分自己管理的音乐文件都会用 music-tag 等类似的软件批量去把封面/专辑,甚至歌词等信息写进了文件的。 上传的时候,可以直接从文件里读取到这些信息写进数据库的。

大概看了下代码,服务端的上传和创建音乐是分开的,创建音乐那里也已经拿不到原始的音频文件了。如果改动上传文件那个接口的话,影响有点多,对后端设计也不太熟,就没改后端的。

前端的话,就在前端拿到文件,上传音乐文件过后,从文件里读取 tags,然后再调用 api 去更新信息就可以了。缺点的话,api调用太多了,封面图其实算重复上传了。

还是可以考虑下,在后端做这个操作。

mebtte commented 1 year ago

前端做这个事挺好的, 毕竟是独立部署, 重复上传的消耗可以忽略

CodeByZack commented 1 year ago
  1. 前端上传歌曲文件
  2. 从歌曲文件读取 歌名、歌手、歌词、封面
  3. 如果用户还没填写 歌名、歌手,则自动填充
  4. 上传时,如果有歌词、封面信息,则在创建完歌曲后,更新相应的信息
mebtte commented 1 year ago

0.68.0