API Spotify pour ios: download, save, accéder aux pistes depuis ios Spotify api

Je voudrais savoir si le téléchargement de pistes vers les appareils iphone / ipod / ipad est possible en utilisant Spotify ios api (CocoaLibSpotify IOS Library). Si c'est le cas, je dois aussi y accéder et jouer quand je veux. Je vais les utiliser dans mon application plus tard.

Je pense que nous pouvons vérifier l'état hors ligne de la piste en cours de lecture en utilisant sp_track_offline_status. Mais je suis incapable de traverser ça.

Tout extrait de code exemple serait d'une grande aide.

Simplification de l'exigence : téléchargez et enregistrez les pistes Spotify dans les appareils iOS

En tant que mise à jour, en réponse à la réponse d'iKenndac, la propriété offlineStatus est devenue «1», ce qui signifie que le playist est synchronisé pour le stockage local.

SP_PLAYLIST_OFFLINE_STATUS_YES = 1, /// <La list de lecture est synchronisée avec le stockage local

1.Est-ce que cela signifie que toutes les pistes de la list de lecture sont téléchargées?

Je ne pense pas. parce qu'il y a d'autres états comme suit:

typedef enum sp_playlist_offline_status { SP_PLAYLIST_OFFLINE_STATUS_NO = 0, ///< Playlist is not offline enabled SP_PLAYLIST_OFFLINE_STATUS_YES = 1, ///< Playlist is synchronized to local storage SP_PLAYLIST_OFFLINE_STATUS_DOWNLOADING = 2, ///< This playlist is currently downloading. Only one playlist can be in this state any given time SP_PLAYLIST_OFFLINE_STATUS_WAITING = 3, ///< Playlist is queued for download } sp_playlist_offline_status; 

Je n'avais jamais eu le offlineStatus 2 ou 3.

  1. De plus, ma propriété offlineDownloadProgress me montre toujours '0'.
    Il doit augmenter de '0' à '1', si je ne me trompe pas.

Extrait de code:

 [SPAsyncLoading waitUntilLoaded:playList timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedItems, NSArray *notLoadedItems) { playList.markedForOfflinePlayback = YES; currentPlaylist = playList; statusTimer = [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(checkOfflineStatus) userInfo:nil repeats:YES]; 

Je vérifie le statut comme suit:

 -(void)checkOfflineStatus { NSLog(@"playlist offline progress is: %f",currentPlaylist.offlineDownloadProgress); NSLog(@"offline status: %d",currentPlaylist.offlineStatus); } 

La sortie ressemble à ceci:

2012-07-06 20: 34: 05.891 Simple Player [6571: 10703] la progression hors-ligne de la playlist est: 0.000000

2012-07-06 20: 34: 05.892 Simple Player [6571: 10703] état hors-ligne: 1

2012-07-06 20: 34: 06.039 Simple Player [6571: 10703] la progression hors-ligne de la playlist est: 0.000000

2012-07-06 20: 34: 06.039 Simple Player [6571: 10703] état hors-ligne: 1

Que puis-je faire ensuite?

Vous ne pouvez pas simplement download des pistes Spotify comme des files MP3, par exemple, pour une lecture indépendante.

Cependant, vous pouvez avoir les pistes du cache de la bibliothèque pour une lecture hors connection plus tard, tant que l'user rest connecté à CocoaLibSpotify, comme le fait le client iOS Spotify.

SPPlaylist a la propriété markedForOfflinePlayback pour activer l'access hors connection, puis les propriétés offlineDownloadProgress et offlineStatus de la playlist donnent plus d'informations.

CocoaLibSpotify est livré avec un exemple d'application Mac qui met en cache les lists de lecture pour une lecture hors connection pour voir comment cela fonctionne. L'API est disponible et identique sur les versions Mac OS X et iOS de CocoaLibSpotify.