苹果音乐套件 - 为店面 B 的用户播放店面 A 中用户 ID 的歌曲



如果我在美国,我想播放Two Door Cinema Club的歌曲"Sun",我会使用ID544390857。 我可以在(例如(systemMusicPlayer中执行此操作,歌曲开始在 Apple Music 中播放。

如果我的朋友在英国并且想要播放同一首歌曲,将544390857发送到 systemMusicPlayer 会导致歌曲无法识别(并且没有播放任何内容(。

该歌曲的 GB 店面等效 ID 为674900368

我有两个问题:

  • 有没有一种简单的方法可以让我在Apple Music中播放来自另一个店面的ID(使用systemMusicPlayer(,或者我是否必须在新的第二个店面ID下重复搜索?

  • 或者,有没有办法将一个歌曲 ID(即美国 ID(替换为替代(即 GB(?

感谢您提供的任何帮助!

您可以尝试使用 Apple Music API 来获取正确的信息:

(仅当您事先不知道歌曲名称时才需要第 1 步,您只知道 songId(

  1. 根据storeFrontCountryCode("US"(和songId(与"US"商店匹配(,您可以使用"Get song"API调用获取songName("Sun"(。

  2. 您需要检索用户当前店面。您可以使用requestStorefrontCountryCodeWithCompletionHandler来做到这一点(

    你会得到类似"GB"的东西。

  3. 使用歌曲名称("太阳"(和用户storeFrontCountryCode("GB"(,我们执行"搜索目录资源"以获得正确的歌曲ID。

最终,为了防止出现歌曲名称重复的问题,您可以将艺术家姓名添加到"搜索目录资源"API 调用中。

可以使用歌曲的 isrc 属性来筛选对另一个区域中的歌曲 ID 的搜索。然后,从返回的列表中,您可以比较哪一个最匹配。(即一首歌曲可能出现在多个专辑中并具有不同的编辑(。

第一步是查询原始区域中歌曲的 isrc 属性。例如:

GET https://api.music.apple.com/v1/catalog/us/songs/544390857

然后,您将在属性字典中拥有 isrc 字符串,然后在 GB 店面中查询它:

GET https://api.music.apple.com/v1/catalog/gb/songs?filter[isrc]=XXXXXX

这种方法比按歌曲名称+艺术家姓名搜索要准确得多。

文档链接在这里:Apple Music API

我认为这是您正在寻找的API:

按 ID 获取等效目录歌曲

相关内容

  • 没有找到相关文章

最新更新