ios - Swift 的 Spotify API

标签 ios objective-c swift spotify cocoalibspotify-2.0

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

@property (nonatomic, readonly, copy) NSArray *genres 然而,是他们的 SPTartist 类的 API 协议(protocol)之一;我不知道如何快速地以工作方式使用它。

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

    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 协议(protocol)来跟踪字符串输出。当我尝试使用 SPTArtistGenres 或 SPTArtistGenre 代替 SPTAudioStreamingMetaDataTrackDuration 时,它不起作用。 为了说明我的问题,我想使用 currentTrackMetaData 调用上面的 genres 属性。非常感谢任何建议!

最佳答案

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

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

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

有关详细信息,请参阅库随附的文档。此外,SDK 中包含的 Simple Player 演示应用程序也执行类似的操作。

关于ios - Swift 的 Spotify API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28490117/

相关文章:

ios - 尝试将数据共享到 IMessage 和社交媒体 Swift 时发生 fatal error

ios - 将 UTC 日期转换为 NSString

objective-c - 为什么相同的 Unicode 字符具有不同的整数值,反之亦然?

ios - 导航栏中的 SearchController 问题

ios - 扬声器的 CallKit 问题,接听电话后自动打开

ios - 如何在 iOS 中借助 ARKit 测量设备与人脸的距离?

ios webview流后台模式

ios - 更新值 Firebase Swift 3

ios - 为什么 __weak 对象会被添加到自动释放池中?

ios - 防止 NSManagedObject 引用更新 UITableViewCell