Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 苹果音乐套件-为店面B用户播放店面A用户ID为的歌曲_Ios_Apple Music_Apple Musickit - Fatal编程技术网

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

Ios 苹果音乐套件-为店面B用户播放店面A用户ID为的歌曲,ios,apple-music,apple-musickit,Ios,Apple Music,Apple Musickit,如果我住在美国,我想播放双门影院俱乐部的歌曲《太阳》,我会使用ID544390857。 例如,我可以在systemMusicPlayer中这样做,歌曲开始在苹果音乐中播放 如果我的朋友在英国,想要播放同一首歌曲,发送544390857到SystemMusicLayer会导致歌曲无法识别(并且无法播放) 该歌曲的GB店面等效ID为674900368 我有两个问题: 有没有一种简单的方法可以让我在Apple Music中播放另一个店面的ID(使用systemMusicPlayer),或者我必须在新

如果我住在美国,我想播放双门影院俱乐部的歌曲《太阳》,我会使用ID
544390857
。 例如,我可以在
systemMusicPlayer
中这样做,歌曲开始在苹果音乐中播放

如果我的朋友在英国,想要播放同一首歌曲,发送
544390857
到SystemMusicLayer会导致歌曲无法识别(并且无法播放)

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

我有两个问题:

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

  • 或者,有没有一种方法可以将一首歌的ID(即美国的ID)换成另一首歌的ID(即GB)

谢谢你能给我的帮助

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

(只有在您事先不知道歌曲名称的情况下才需要步骤1,您只知道SongID)

  • 根据storeFrontCountryCode(“US”)和songId(与该“US”商店匹配),您可以使用

  • 您需要检索用户当前的店面。你可以用它来做。)

    你会得到类似“GB”的东西

  • 使用songName('Sun')和用户storeFrontCountryCode('GB')我们进行了一次测试,以获得正确的歌曲id


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

    您可以使用歌曲的isrc属性筛选其他区域中的歌曲id搜索。从返回的列表中,您可以比较哪一个最匹配。(即,一首歌可能出现在多个相册中,并且有不同的编辑)

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

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

    然后,您将在属性字典中找到isrc字符串,然后在GB storefront中查询它:

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

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


    文档链接在这里:

    我知道这不是你想要的,但我想分享它,因为它有点相关。有一种方法可以使iTunes链接storefrontid独立:‌ 如果你只是链接到音乐,你可以在任何链接前加上“geo”前缀,我们会将用户路由到他们所在地区的正确内容,这样你就不必担心找到正确的ID。示例geo-aware链接结构:@BahriOkuroglu谢谢。我曾想过使用
    geo.
    链接来帮助我到达目的地,但如果用户的基本店面(例如)前往另一个国家,这对他们来说是不真实的。我的印象是,“geo”前缀确保Apple Music为用户的店面ID显示正确的内容。我用我的非美国苹果音乐订阅和美国唯一的songId验证了它。不幸的是,我找不到播放正确songId的方法,已修复为用户的storefrontid。@BahriOkuroglu当您请求
    geo.
    前缀URL时,我假设苹果使用您的IP地址(因为没有其他事情可以做)确定为…提供歌曲的位置,以便IP不会与用户的基本/本地店面ID保持一致。绝对,我同意这是一种可以做到的方法(在我的OP中建议),但我正在寻找一种可靠的方法来确定另一个地区的等效歌曲。目前来看,这只是一个“模糊”匹配,而不是同类匹配。如果店面许可开始发挥作用,那么它将在工作中增加一个新的扳手。我希望苹果方面能为不同地区的歌曲提供一个链接。很抱歉回复太晚。我非常喜欢这个解决方案。我想所有的歌曲都会附加IRSC值?如果它不可用呢?目前我还没有遇到缺少IRSC的情况,但我不会假设,因为对于音乐元数据库,一切都是可能的。因此,如果IRSC缺失,应该有一种方法返回到更乏味的歌曲名称+艺术家搜索方法。