获取带有 MusicBrainz ID 的专辑曲目列表

Posted

技术标签:

【中文标题】获取带有 MusicBrainz ID 的专辑曲目列表【英文标题】:Get tracklist of album with MusicBrainz ID 【发布时间】:2015-02-20 20:00:33 【问题描述】:

我目前正在使用 mikealmond/MusicBrainz 类从美妙的 MusicBrainz 数据库中获取我需要的信息。

但我有一个问题,我需要从发行版中获取录音,我已经通过以下网址在浏览器中的 Web API 上找到了如何做到这一点:musicbrainz(dot)org/ws/2/release/ 61bf0388-b8a9-48f4-81d1-7eb02706dfb0?inc=录音

但是在我使用的类中,他们要求我在添加版本 ID 之前添加一个实体,但我不知道要添加什么。如果我试图把它拿走,我最终会得到一个这样的网址: musicbrainz(dot)org/ws/2/release/?=61bf0388-b8a9-48f4-81d1-7eb02706dfb0?inc=recordings 这不起作用。 有没有我可以添加的实体说我正在发布 mbid?

或者也许有人可以帮助我改变我用来完成这项工作的课程,我自己尝试过但失败了。

编辑:我尝试联系作者,但没有成功。

我已经尝试过上面提到的类中的这段代码:

$includes = array('recordings');
try 
    $details = $brainz->browseRelease('61bf0388-b8a9-48f4-81d1-7eb02706dfb0', $includes, 2);
    print_r($details);
 catch (Exception $e) 
    print $e->getMessage();

print "\n\n";

【问题讨论】:

你试过什么代码? @Mr.Concolato 在我的问题中添加了代码。 这似乎已经在forums.musicbrainz.org/viewtopic.php?id=5424解决了 【参考方案1】:

我是图书馆的作者。我刚刚在 GitHub 上回答了这个问题,但我想我也会在这里分享答案。

您要做的是查找。

$details = $brainz->lookup('release', '61bf0388-b8a9-48f4-81d1-7eb02706dfb0', array('recordings'));

另一种方法是根据版本浏览录音。

$details = $brainz->browseRecording('release', 'aad08360-f5cd-4e3b-9df6-88dae1b3e3f2', $includes, 2);

【讨论】:

以上是关于获取带有 MusicBrainz ID 的专辑曲目列表的主要内容,如果未能解决你的问题,请参考以下文章

Use MusicBrainz in iOS查询专辑的完整信息

来自曲目 MPMediaItem 的专辑插图

在套接字上发送包含曲目编号,标题,艺术家,专辑,流派和持续时间的歌曲列表?

如何对 MusicBrainz 搜索 API 的结果进行排序

如何在 Spotify 上播放专辑中的曲目,以便之后使用 Spotify App Remote SDK for Android 播放专辑的下一首曲目?

同一曲目的不同 Spotify ID