Spotify API dla ios: pobieranie, zapisywanie, dostęp do utworów z ios spotify api
Chciałbym wiedzieć, czy pobieranie utworów do urządzeń iphone / ipod / ipad jest możliwe przy użyciu spotify ios api (CocoaLibSpotify IOS Library). Jeśli tak, muszę również uzyskać do nich dostęp i grać w dowolnym momencie. Później będę ich używać w mojej aplikacji.
Myślę, że możemy sprawdzić status offline ścieżki odtwarzanej za pomocą sp_track_offline_status. Ale nie jestem w stanie przez to przejść.
Każdy przykładowy fragment kodu byłby bardzo pomocny.
Uproszczenie wymagania: pobierz i zapisz ścieżki spotify na urządzeniach z systemem iOS
Jako aktualizacja, w odpowiedzi na odpowiedź iKenndac, właściwość offlineStatus zmieniła się na „1”, co oznacza, że playista jest zsynchronizowany do lokalnego przechowywania.
SP_PLAYLIST_OFFLINE_STATUS_YES = 1, /// <Lista odtwarzania jest synchronizowana z pamięcią lokalną
1. Czy oznacza to, że wszystkie utwory z listy odtwarzania są pobierane?
Nie sądzę. ponieważ istnieją inne stany w następujący sposób:
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;
Nigdy nie miałem statusu offline 2 lub 3.
Również moja właściwość offlineDownloadProgress zawsze pokazuje mi „0”.Musi wzrosnąć z „0” do „1”, jeśli się nie mylę.
Fragment kodu:
[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];
Sprawdzam status w następujący sposób:
-(void)checkOfflineStatus {
NSLog(@"playlist offline progress is: %f",currentPlaylist.offlineDownloadProgress);
NSLog(@"offline status: %d",currentPlaylist.offlineStatus);
}
Dane wyjściowe wyglądają tak:
2012-07-06 20: 34: 05.891 Prosty gracz [6571: 10703] Postęp w trybie offline listy odtwarzania: 0,000000
2012-07-06 20: 34: 05.892 Prosty gracz [6571: 10703] status offline: 1
2012-07-06 20: 34: 06.039 Prosty gracz [6571: 10703] Postęp w trybie offline listy odtwarzania: 0,000000
2012-07-06 20: 34: 06.039 Prosty gracz [6571: 10703] status offline: 1
Co mogę zrobić dalej?