使用java从musicbrainz下载封面艺术

使用java从musicbrainz下载封面艺术,java,albumart,musicbrainz,Java,Albumart,Musicbrainz,我现在正在为如何将discid链接到musicbrainz mbid而奋斗几个小时 因此,使用dietmar steiner/JMBDiscId JMBDiscId discId = new JMBDiscId(); if (discId.init(PropertyFinder.getProperty("libdiscid.path"))) { String musicBrainzDiscID = discId.getDiscId(PropertyFinder.getProperty(

我现在正在为如何将discid链接到musicbrainz mbid而奋斗几个小时

因此,使用dietmar steiner/JMBDiscId

JMBDiscId discId = new JMBDiscId();

if (discId.init(PropertyFinder.getProperty("libdiscid.path")))
{
    String musicBrainzDiscID = discId.getDiscId(PropertyFinder.getProperty("cdrom.path"));
}
或musicbrainzws2 java

Disc controller = new Disc();
String drive = PropertyFinder.getProperty("cdrom.path"); 

try {
    DiscWs2 disc =controller.lookUp(drive);
    log.info("DISC: " + disc.getDiscId() + " match: " + disc.getReleases().size() + " releases");
....
我可以轻松地(或多或少地)提取freedb或musicbrainz的discid,但我还没有找到一种方法来计算通过covertarchiveClient从last.fm下载封面艺术所需的id I

CoverArtArchiveClient client = new DefaultCoverArtArchiveClient();

try
{
  UUID mbid = UUID.fromString("mbid to locate release");
  fm.last.musicbrainz.coverart.CoverArt coverArt = client.getByMbid(mbid);
理论上,我假设,我可以使用musicbrainzws2 java收集的数据触发搜索,然后使用结果中的mbid。。。但这不是最好的选择

我很高兴能朝着正确的方向努力

干杯,
Ed.

您不计算MBID。MBID附加在从MusicBrainz检索的每个实体上。 当通过DiscID获取发布时,您会得到一个列表。每个条目都是一个版本,并有一个MBID,可通过
getId()
访问:

然后,您可能希望在每个版本中尝试CovertarArchive(CAA),并获得第一张封面

不幸的是,我不知道网络上有任何musicbrainzws2的API文档。我建议在所有源文件上运行
javadoc

for (ReleaseWs2 rel : disc.getReleases()){
   log.info("MBID: " + rel.getId() + ", String: " + rel.toString());
}