StreamMusic
StreamMusic copied to clipboard
连接Airsonic-advance显示专辑艺术家错误
Describe the bug (BUG 描述) 显示的专辑艺术家还是歌曲艺术家 To Reproduce (复现步骤) Steps to reproduce the behavior: 随便播放一首歌,点击歌曲信息。
Expected behavior (期望行为)
分别显示歌曲艺术家和专辑艺术家
Screenshots (截图)
Platform and Device Info (操作系统及设备信息)
- OS: macOS
- Browser ?
- Version 1.2.9
Music Server Type (音乐服务器类型) kagemomiji/airsonic-advanced
Additional context (额外信息) 另外,能不能加上“前往专辑艺术家”的选项?会方便很多
暂时可以把airsonic-advance源码中airsonic-advance/airsonic-main/src/main/java/org/airsonic/player/controller/SubsonicRESTController.java 的第1298行改成
org.airsonic.player.domain.Artist artist = artistService.getArtist(mediaFile.getAlbumArtist());
此时点击前往歌手就是专辑艺术家
截图里的标签信息看着也只有一个 Preformer 像是艺术家?音流里面的subsonic没有区分歌曲艺术家还是专辑艺术家,因为不知道专辑艺术家返回的字段是什么,可能是当时漏掉了,你这有示例的结果吗
截图里的标签信息看着也只有一个 Preformer 像是艺术家?音流里面的subsonic没有区分歌曲艺术家还是专辑艺术家,因为不知道专辑艺术家返回的字段是什么,可能是当时漏掉了,你这有示例的结果吗
歌曲信息里面的artist是这首歌的,如果去到album里面获取到的artist就是专辑的。
举例来说这是一个可能的getAlbum返回(部分)
<subsonic-response
xmlns="http://subsonic.org/restapi" status="ok" version="1.8.0">
<album id="11053" name="efg" coverArt="al-123" songCount="1" created="2004-11-27T20:23:32" duration="2414" artist="abc" artistId="1">
<song id="71462" parent="71381" title="She's Got Balls" album="High Voltage" artist="bcd" isDir="false" coverArt="71381" created="2004-11-27T20:23:34" duration="290" bitRate="128" track="8" year="1976" genre="Rock" size="4651866" suffix="mp3" contentType="audio/mpeg" isVideo="false" path="ACDC/High voltage/ACDC - Shes Got Balls.mp3" albumId="11053" artistId="114514" type="music"/>
</album>
</subsonic-response>
对于这个返回结果,正确的处理是点击“前往歌曲艺术家”,去到bcd,id=114514,点击“前往专辑艺术家”,去到abc,id=1
换用支持单曲艺术家的lms实验,音流的前往歌手是前往单曲的歌手,无法前往专辑歌手。对于有多个歌手的,音流会前往第一个