Spotify API 到 Swift

Posted

技术标签:

【中文标题】Spotify API 到 Swift【英文标题】:Spotify API to Swift 【发布时间】:2015-04-13 22:26:45 【问题描述】:

可能是一个简单的问题,但我正在尝试使用 Spotify 的 API,该 API 记录在 Objective C 中,但我一直在尽我所能在 Swift 中进行处理。

@property(非原子、只读、复制)NSArray *genres 然而,是他们的 SPTartist 类的 API 协议之一;我不知道如何在 swift 中以工作方式使用它。

这是我开始工作的示例代码。

    func updateTrackLength()
    if player?.currentTrackMetadata == nil 
        trackLength.text = ""
        return
    
    let length = player?.currentTrackMetadata[SPTAudiostreamingMetadataTrackDuration] as Int
    let convert = length / 60
    let remainder = length % 60
    var newlength = String(convert)
    var newRemainder = String(remainder)


    dispatch_async(dispatch_get_main_queue(),  () -> Void in
        self.trackLength.text = "Track length: " + newlength + " Minutes " + newRemainder + " Seconds"
    )

这使用 currentTrackMetaData 和任何 SPT 协议来跟踪字符串输出。当我尝试使用 SPTArtistGenres 或 SPTArtistGenre 代替 SPTAudioStreamingMetaDataTrackDuration 时,它不起作用。 要指定我的问题,我想使用 currentTrackMetaData 来调用上面的流派属性。非常感谢任何建议!

【问题讨论】:

【参考方案1】:

这与 Swift 完全无关——如果你尝试在 Objective-C 中做你正在做的事情,它也会失败。

播放器的 currentTrackMetadata 字典返回纯 URL - 如果您只是 println()player.currentTrackMetadata 的响应,您会看到它只包含 URL。

genres 属性在 SPTArtist 类上。要将您的裸 URL 转换为 SPTArtist,请使用 SPTRequest 类(特别是 requestItemAtURI 方法)。拥有SPTArtist 对象后,您将能够从中获取所需的所有元数据,包括流派。

有关详细信息,请参阅库随附的文档。此外,SDK 中包含的 Simple Player 演示应用也做了类似的事情。

【讨论】:

以上是关于Spotify API 到 Swift的主要内容,如果未能解决你的问题,请参考以下文章

Spotify API 到 Swift

将 EchoNest API 分析器迁移到 Spotify

Spotify 如何通过 API 将播放列表发布到 Facebook 墙上?

有啥方法可以找出专辑何时被添加到 web api 的 spotify 中?

无需登录即可将曲目添加到播放列表 - API Spotify

Spotify API 将 URL 重定向到本地文件系统?