You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过ISRC码在MusicBrainz获取曲目对应的专辑mbId?

如何通过ISRC获取曲目所属专辑的MusicBrainz ID?

我来帮你搞定这个问题~ 你遇到的情况其实是MusicBrainz API的默认行为导致的:ISRC接口返回的是**录音(Recording)层面的数据,而专辑属于发行(Release)**范畴——虽然录音和发行是关联的,但ISRC查询接口默认不会返回关联的发行信息,所以你才看不到专辑相关的元数据。

解决方法分两步走,很简单:

  1. 从ISRC响应中提取录音的mbId
    你已经通过ISRC查询拿到了录音列表,比如第一个录音的ID是92e27a47-3546-4bc2-a9f7-b19e43d7a531,这个就是你要的录音唯一标识。

  2. 用录音ID查询关联的发行(专辑)数据
    MusicBrainz的录音API支持通过inc参数扩展返回内容,你需要指定inc=releases来获取该录音所属的所有发行(也就是专辑/单曲等)。请求格式如下:

    https://musicbrainz.org/ws/2/recording/92e27a47-3546-4bc2-a9f7-b19e43d7a531?fmt=json&inc=releases
    

    这个请求返回的JSON里,会有一个releases数组,数组中的每个对象对应一个包含该录音的发行(专辑)。每个发行对象里的id字段就是你要的专辑mbId,同时你还能拿到专辑标题、发行日期、介质信息等额外数据。

小提示

如果一个录音被收录在多个发行里(比如不同地区版本的专辑、单曲发行),releases数组会包含所有相关条目。你可以通过release-group下的type字段来筛选,比如区分是“Album”还是“Single”类型的发行。

内容的提问来源于stack exchange,提问作者nick.tdr

火山引擎 最新活动