2014-07-22 53 views
0

我想要獲取Spotify用戶出演的最後5首歌曲。看過Spotify提供的猜測前奏示例後,我能夠拉動整個播放列表,但我想知道cocoaLibSpotify中是否有一種方法可以一次只拉出一定數量的歌曲。下面是功能,我使用來從星號的播放列表中的曲目: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來收集用戶最近播放的曲目?我在看舊的帖子,我看到的答案是否定的,但是我想知道自這些帖子關閉後是否有任何改變。

對不起,複合問題。這是我第一次發佈!

感謝, 泰勒

回答

0

播放列表包含SPPlaylistItem對象,其中有一個dateAdded屬性。一旦你有了已加星標的播放列表中的項目,按該屬性排序,你將按照添加日期的順序創建一個數組 - 然後你只需抓取列表中的前五個項目,就完成了。

你仍然不能得到最近播放的曲目。

+0

嗨iKenndac, 感謝您的迴應!執行上述功能後,我目前按dateAdded排序以獲得最後五個曲目。不過,我想知道是否有辦法只拉那五個軌道,因爲我真的不需要其餘的陣列。有沒有辦法做到這一點?謝謝,泰勒 –