Spotify iOS SDK track.availableTerritories

Posted

技术标签:

【中文标题】Spotify iOS SDK track.availableTerritories【英文标题】: 【发布时间】:2014-09-10 03:11:20 【问题描述】:

我正在构建的音乐应用程序中使用 Spotify ios SDK。我遇到的问题是,我经常遇到在美国不可用的曲目,因此 SPTTrackPlayer 无法播放它们。我注意到 SPTTrack 对象很方便地有一个 availableTerritories 属性,所以我想“简单,我只检查它在美国是否可用,如果没有,我会跳过它。”不幸的是,他们的数据集似乎非常不完整,因为在美国提供的许多歌曲(相同的 URI 在桌面客户端中播放而没有抱怨/当我没有按可用地区清除曲目时在我的应用程序中)没有列出美国在 availableTerritories 下,许多根本没有列出任何地区。所以我想知道,有没有另一种方法来检测这些轨迹?也许,SPTTrackPlayer 中的某些东西表明它无法播放曲目?任何建议将不胜感激,谢谢!

【问题讨论】:

【参考方案1】:

当我没有按 availableTerritory 清除曲目时,在桌面客户端/我的应用程序中播放相同的 URI,没有任何抱怨

这只是一个事实。桌面客户端会自动搜索替代曲目并在它不可用时播放。这对用户是完全透明的,因此您不会注意到它。

如果您遇到用户所在地区不可用的曲目,如果您进行搜索,您很有可能会找到相同曲目的另一个可用版本。

【讨论】:

所以只是为了确保我了解 iOS SDK 中发生了什么,当我给 SPTTrackPlayer 一个 SPTTrackProvider 包含一个没有将美国列为可用区域的轨道时,它正在替换它与一个在幕后做的?例如,当这首曲目 : Halo (spotify:track:3I5cWf8Zklg91QY43bkIN3) 播放时没有抱怨但没有列出美国,它实际上是在播放不同的曲目?谢谢! 您的评论直接与您的问题相矛盾。您的问题表明您不能播放不包含 US 的曲目,但您的评论说可以。是哪个? 两者,这正是我要问的问题,因为您似乎无法仅通过检查 SPTTrack 对象上的 availableTerritories 属性来区分哪些曲目在美国真正可用。我假设这要么是由于数据集不完整,要么是由于您的回答所暗示的一些幕后魔术。

以上是关于Spotify iOS SDK track.availableTerritories的主要内容,如果未能解决你的问题,请参考以下文章

将 Spotify SDK 与 Android 集成

在 spotify android sdk 中刷新令牌?

Android Spotify SDK登录错误意外令牌

如何为spotify sdk android创建队列

Flutter:如何将原生 SDK(Spotify Android SDK)添加到应用程序中?

如何使用 Android Spotify SDK 在应用程序中直接播放音乐?