我不知道我是否可以在这里提出这样的问题。我的问题如下。
我自己制作音乐播放器,我想为那些没有专辑图片的歌曲下载专辑图片。就像N7Music Player正在做的那样。我自己做了一些搜索,我发现使用MusicBrainz我们可以下载图像。
我找了它的API,但我没弄清楚。我有疑虑。
我在等待您的宝贵回应。
提前感谢你。
答案 0 :(得分:13)
您需要做的第一件事就是找出要从中获取图像的相册的发布标识符(发布MBID),您可以使用搜索API执行此操作,例如:
http://www.musicbrainz.org/ws/2/recording/?query=artist:nikes+recording:ftg2
因为它是一个搜索,你会得到很多结果,其中一些会是错误的。在这种情况下,第一个结果是正确的,只匹配一个版本,它具有以下MBID:“c04730ea-87cb-478b-a256-08c0561d20e6”。
现在你有了一个标识符,你可以在coverartarchive进行查找:
http://coverartarchive.org/release/c04730ea-87cb-478b-a256-08c0561d20e6/
这会给你一个带有可用图像列表的json响应(如果该版本在coverartarchive中没有封面,则为404)。
然而,coverartarchive是相当新的,可能并不总是有封面艺术。 MusicBrainz有时会有一个涵盖艺术的链接,您可以通过在网络服务请求中包含“url-rels”来查找,例如发布MBID“fdfdb3c0-8820-4c22-94e6-6aa136e36c31”您可以执行此请求:< / p>
http://musicbrainz.org/ws/2/release/fdfdb3c0-8820-4c22-94e6-6aa136e36c31?inc=url-rels
在输出中,您将看到图像的网址:
<relation type="cover art link">
<target>http://liveweb.archive.org/http://www.8bitpeoples.com/images/albums/large/8BP049.gif</target>
</relation>
答案 1 :(得分:1)
我写了similar question的答案。
现在有一些可在Android上使用的库:
Last.fm的CoverArtArchiveClient是封面艺术网络服务的Java数据绑定 musicbrainzws2-java是当前MusicBrainz Web服务的Java绑定(WS / 2 =“NGS”)。
答案 2 :(得分:0)
如果您知道相册名称和艺术家姓名,则下面的链接将非常有用。它将为您提供图片。