2012-07-05 4 views
1

spotify ios api (CocoaLibSpotify IOS Library)를 사용하여 iphone/ipod/ipad 장치에 트랙을 다운로드 할 수 있는지 여부를 알고 싶습니다. 그렇다면 나는 또한 그들에게 접근해서 내가 원할 때마다 놀 필요가있다. 나중에 내 앱에서 사용할 것입니다.ios 용 Spotify API : iOS에서 트랙을 다운로드하고 저장하고 액세스하십시오.

sp_track_offline_status를 사용하여 재생되는 트랙의 오프라인 상태를 확인할 수 있다고 생각합니다. 그러나 나는 그것을 극복 할 수 없습니다.

모든 샘플 코드 스 니펫이 큰 도움이 될 것입니다.

요구 사항 단순화 : 다운로드 및 iKenndac의 대답에 대한 응답으로, 갱신으로 iOS 장비에

를 스포티 파이 트랙을 저장하려면 offlineStatus 속성이되었다 '1'playist이 지역에 대한 동기화되는 것을 의미한다 저장.

SP_PLAYLIST_OFFLINE_STATUS_YES = 1 /// < 재생 목록은 로컬 저장소에 동기화

재생 목록 내의 모든 트랙을 의미

1.Does는 다운로드?

저는 그렇게 생각하지 않습니다. 다음과 같이 다른 국가가 있기 때문에 :

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; 

은 내가 offlineStatus 중 2 또는 3

  1. 이 또한 내 offlineDownloadProgress 속성은 항상 저를 보여주는를 '0'을 가지고 적이 없었다.
    내가 잘못하지 않으면 '0'에서 '1'로 증가해야합니다.

코드 :

[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]; 

다음과 같이 내가 상태를 확인하고 있습니다 :

-(void)checkOfflineStatus { 

    NSLog(@"playlist offline progress is: %f",currentPlaylist.offlineDownloadProgress); 

    NSLog(@"offline status: %d",currentPlaylist.offlineStatus); 

} 

출력은 다음과 같습니다

2012-07 -06 20 : 3 4 : 05.891 간단한 플레이어 [6571 : 10703] 재생 오프라인 진행은 : 0.000000

2012-07-06 20 : 34 : 05.892 간단한 플레이어 [6571 : 10703] 오프라인 상태 1

2012-07-06 20 : 34 : 06.039 간단한 플레이어 [6571 : 10703] 재생 목록 오프라인 진행은 다음과 같습니다 0.000000

2012-07-06 20 : 34 : 06.039 간단한 플레이어 [6571 : 10703] 오프라인 상태 : 1

무엇을 할 수 나는 다음에?

답변

3

MP3 파일이나 독립 재생을 위해 Spotify 트랙을 다운로드 할 수 없습니다.

그러나 iOS Spotify 클라이언트와 마찬가지로 사용자가 CocoaLibSpotify에 로그인 한 상태이면 오프라인에서 재생할 라이브러리 캐시 트랙을 가질 수 있습니다.

SPPlaylist 다음 재생 목록의 offlineDownloadProgressofflineStatus 특성이 더 많은 정보를 제공, 오프라인 액세스를 가능하게하는 markedForOfflinePlayback 속성이 있습니다.

CocoaLibSpotify는 오프라인 재생을 위해 재생 목록을 캐시하여 Macromedia 응용 프로그램의 작동 방식을 확인하는 Mac 샘플 응용 프로그램과 함께 제공됩니다. API는 Mac OS X 및 iOS 버전의 CocoaLibSpotify에서 모두 사용할 수 있으며 동일합니다.

+0

오프라인 재생을위한 Mac 샘플 애플리케이션 (및 샘플 앱의 이름)에 대한 링크를 게시 할 수 있습니까? 나는 그들을 헛되이 찾고 있었다. – revanth

+0

https://github.com/spotify/cocoalibspotify/ - Repo를 복제하면, 프로젝트는'Mac Framework/Sample Projects/Offline Playlists'에 있습니다. – iKenndac

+0

이것이 iOS SDK에서도 마찬가지입니까? TOS에서 사용자가 프리미엄 Spotify 서비스 사용자가 아닌 한 로컬 캐싱이 금지 된 것처럼 보입니다. 언급했듯이 사용자는 CocoaLibSpotify에 계속 로그인 할 수 있습니다. 많은 R & D를 통해 침입하기 전에 이것을 확인하기를 원합니다. Dan 감사합니다. –