CocoaLibSpotify获得五首最近加星标的歌曲

时间:2014-07-22 02:46:59

标签: ios spotify playlist cocoalibspotify-2.0

我正在尝试获取Spotify用户已加星标的最后5首歌曲。在看了Spotify提供的Guess the Intro示例后,我能够拉出整个播放列表,但我想知道cocoaLibSpotify中是否有一种方法可以让我一次只能拉出一定数量的歌曲。以下是我用来从已加星标的播放列表中获取曲目的功能:

+ (void)gatherTracksWithBlock:(void (^)(BOOL, NSArray *))block {
    __block SPPlaylist *starred = [SPSession sharedSession].starredPlaylist;
    [SPAsyncLoading waitUntilLoaded:starred timeout:20.0 then:^(NSArray *loadedItems, NSArray *notLoadedItems){

        if ([[starred items] count] == 0) {
            block(NO, nil);
            starred = nil;
            return;
        }

        NSMutableArray *topTracks = [[NSMutableArray alloc] initWithCapacity:[[starred items] count]];

        for (SPPlaylistItem *item in [starred items]) {
            if (item.itemClass == [SPTrack class]) {
                [topTracks addObject:item.item];
            }
        }

        block(YES, topTracks);
        starred = nil;
        return;
    }];
}

我是否可以进行任何修改以使此功能一次只拉出一定数量的曲目?另外,如果可以的话,我能否跳过之前拉过的曲目数量?

最后一个问题!是否可以使用cocoaLibSpotify收集用户最近播放的曲目?我正在查看较旧的帖子,我看到的答案是否定的,但是我想知道自那些帖子关闭后是否有任何改变。

提前抱歉复合问题。这是我第一次发帖!

谢谢, 泰勒

1 个答案:

答案 0 :(得分:0)

播放列表包含SPPlaylistItem个对象,其属性为dateAdded。获得已加星标的播放列表项目后,按该属性排序,您将按照添加日期的顺序排列数组 - 然后您只需抓住列表中的前五项即可完成。

你仍然无法获得最近播放的曲目。