Apple Music Kit - 为店面B的用户播放店面A中用户ID的歌曲

时间:2017-08-17 13:26:04

标签: ios apple-music apple-musickit

如果我在美国,我想播放Two Door Cinema Club的歌曲“Sun”,我会使用身份证<?xml version="1.0" encoding="utf-8"?> <!-- This file is used by the publish/package process of your Web project. You can customize the behavior of this process by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. --> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <ExcludeFilesFromDeployment>Web.config;Default.aspx;packages.config</ExcludeFilesFromDeployment> <ExcludeFoldersFromDeployment>bin;js;TestingUtils;TestPages;UI</ExcludeFoldersFromDeployment> <WebPublishMethod>FileSystem</WebPublishMethod> <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> <LastUsedPlatform>Any CPU</LastUsedPlatform> <SiteUrlToLaunchAfterPublish /> <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish> <ExcludeApp_Data>False</ExcludeApp_Data> <publishUrl>C:\website</publishUrl> <DeleteExistingFiles>True</DeleteExistingFiles> </PropertyGroup> </Project> 。 我可以在(例如)544390857中执行此操作,并且该歌曲将在Apple Music中播放。

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

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

我有两个问题:

  • 我是否可以通过简单的方式在Apple Music中使用其他店面播放ID(使用systemMusicPlayer),还是必须在新的第二个店面ID下重复搜索?

    < / LI>
  • 或者,是否有一种方法可以获取一首歌曲ID(即美国一种)并将其替换为另一种歌曲ID(即GB)?

感谢您提供任何帮助!

2 个答案:

答案 0 :(得分:2)

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

(只有在您事先不知道歌曲名称时才需要步骤1,您只知道歌曲ID)

  1. 根据storeFrontCountryCode('US')和songId(与'US'商店匹配),您可以使用'Get song' API call.

  2. 您需要检索用户当前的storeFront。您可以使用requestStorefrontCountryCodeWithCompletionHandler

    执行此操作

    你会得到像“GB”这样的东西。

  3. 使用songName('Sun')和用户storeFrontCountryCode('GB'),我们会'Search for catalog resources'获得正确的歌曲ID。

  4. 为了防止重复的歌曲名称出现问题,您可以将艺术家姓名添加到“搜索目录资源”API呼叫中。

答案 1 :(得分:1)

您可以使用歌曲的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

相关问题