我现在正在努力研究如何将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,但我还没有找到计算id的方法我需要通过last.fm的CoverArtArchiveClient下载封面。
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 ...但这不是最好的选择。
我很高兴任何进入正确的方向......
干杯, 编
答案 0 :(得分:0)
您不计算MBID。 MBID附加在从MusicBrainz检索的每个实体上。
通过DiscID获取版本时,您将获得一个列表。每个条目都是一个版本,并且有一个MBID,可以通过getId()
访问:
for (ReleaseWs2 rel : disc.getReleases()){
log.info("MBID: " + rel.getId() + ", String: " + rel.toString());
}
然后,您可能希望为每个版本尝试CoverArtArchive(CAA)并采用您获得的第一个封面艺术。
不幸的是,我不知道网上musicbrinzws2的任何API文档。我建议在所有源文件上运行javadoc
。