【问题标题】:Spotify load Track using PlaylistSpotify 使用播放列表加载曲目
【发布时间】:2012-09-19 10:19:41
【问题描述】:

我正在使用 cocoalibspotify。我想知道如何从 SPPlaylist 获得 SPPlaylistItem?我有自己的播放列表。如何使用播放列表(按名称)获取播放列表项?

【问题讨论】:

    标签: iphone cocoalibspotify-2.0


    【解决方案1】:

    嗯..终于得到了答案。我找到了从播放列表中获取播放列表项的方法。

    在我的研究过程中,我了解到播放列表项来自 keypath @unionOfArrays.items。因此,通过删除它,我只能获得播放列表列表,而不是 playlistitem 。

    在这里参考我的代码:

        // arrPlaylist -> mutablearray which stores the value of loaded playlist in order to use it later 
        // tblPlaylist -> Tablename which displays list of playlist. 
    
    [SPAsyncLoading waitUntilLoaded:[SPSession sharedSession] timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedession, NSArray *notLoadedSession) 
        {
            // The session is logged in and loaded — now wait for the userPlaylists to load.
            NSLog(@"[%@ %@]: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), @"Session loaded.");
    
            [SPAsyncLoading waitUntilLoaded:[SPSession sharedSession].userPlaylists timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedContainers, NSArray *notLoadedContainers) 
            {
                // User playlists are loaded — wait for playlists to load their metadata.
                NSLog(@"[%@ %@]: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), @"Container loaded.");
    
                NSMutableArray *playlists = [NSMutableArray array];
                [playlists addObject:[SPSession sharedSession].starredPlaylist];
                [playlists addObject:[SPSession sharedSession].inboxPlaylist];
                [playlists addObjectsFromArray:[SPSession sharedSession].userPlaylists.flattenedPlaylists];
    
                [SPAsyncLoading waitUntilLoaded:playlists timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedPlaylists, NSArray *notLoadedPlaylists) 
                {
                    // All of our playlists have loaded their metadata — wait for all tracks to load their metadata.
                    NSLog(@"[%@ %@]: %@ of %@ playlists loaded.", NSStringFromClass([self class]), NSStringFromSelector(_cmd), 
                          [NSNumber numberWithInteger:loadedPlaylists.count], [NSNumber numberWithInteger:loadedPlaylists.count + notLoadedPlaylists.count]);
                                NSLog(@"loadedPlaylists >> %@",loadedPlaylists);
    
                    arrPlaylist = [[NSMutableArray alloc] initWithArray:loadedPlaylists];
                    NSLog(@"arrPlaylist >> %@",arrPlaylist);
    
                    [tblPlaylist reloadData];
                }];
            }];
        }];
    

    【讨论】:

      猜你喜欢
      • 2012-12-20
      • 2014-01-28
      • 1970-01-01
      • 2017-06-16
      • 2017-01-01
      • 2016-08-01
      • 2016-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多