Spotify API for ios: baixe, salve, acesse trilhas do ios spotify api
Gostaria de saber se o download de faixas para os dispositivos iphone / ipod / ipad é possível usando o ios ios api (CocoaLibSpotify IOS Library). Se assim for, eu também preciso acessá-los e jogar sempre que quiser. Eu vou usá-los no meu aplicativo mais tarde.
Acho que podemos verificar o status off-line da faixa que está sendo reproduzida usando sp_track_offline_status. Mas eu sou incapaz de passar por isso.
Qualquer fragmento de código de amostra seria de grande ajuda.
Simplificando o requisito: baixar e salvar as faixas spotify em dispositivos iOS
Como atualização, em resposta à resposta do iKenndac, a propriedade offlineStatus tornou-se '1', o que significa que o reprodutor é sincronizado para armazenamento local.
SP_PLAYLIST_OFFLINE_STATUS_YES = 1, /// <Lista de reprodução sincronizada com armazenamento local
1. Isso significa que todas as faixas da lista de reprodução foram baixadas?
Acho que não. porque existem outros estados da seguinte forma:
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;
Eu nunca tinha o status offline ou 2 ou 3.
Também minha propriedade offlineDownloadProgress está sempre me mostrando '0'.Tem que aumentar de '0' para '1', se eu não estiver errado.
Fragmento de código:
[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];
Estou verificando o status da seguinte forma:
-(void)checkOfflineStatus {
NSLog(@"playlist offline progress is: %f",currentPlaylist.offlineDownloadProgress);
NSLog(@"offline status: %d",currentPlaylist.offlineStatus);
}
A saída é assim:
2012-07-06 20: 34: 05.891 Simple Player [6571: 10703] lista de reprodução offline O progresso é: 0.000000
2012-07-06 20: 34: 05.892 Simple Player [6571: 10703] status offline: 1
2012-07-06 20: 34: 06.039 Simple Player [6571: 10703] lista de reprodução offline O progresso é: 0.000000
2012-07-06 20: 34: 06.039 Simple Player [6571: 10703] status offline: 1
O que posso fazer a seguir?