2013-11-04 66 views
0

我想從SoundCloud帳戶下載我的音頻到我的IOS應用程序。 soundcloud API中有一個屬性(download_url),允許我下載和鏈接在瀏覽器中加載文件,但在其網站中提到的iPhone/iPad中不起作用。下載並保存文件以供離線使用

任何人都可以在這裏找到一種方法將我的音頻從soundcloud下載到我的iphone應用程序中嗎?

此外,我試圖使用NSData保存文件,並重新讀取和播放它們,但我不能確定下載是否發生或保存?我沒有任何信息表明下載過程正在進行。

有關下載和保存文件以離線模式播放的任何想法?

+0

這裏沒有足夠的信息來提供任何幫助,對不起。您必須具體說明您要下載的內容,如何執行此操作以及哪些內容無法正常工作。使用特定應用程序中的特定代碼示例。 –

+0

我編輯了我的問題以澄清@JasonCoco – Twinkle

回答

0

SoundCloud擁有漂亮的ios Sdk SoundCloud docs。在文檔中寫下你所需要的全部內容。不需要重新發明輪子)))。

+0

我已經使用API​​,但關於他們說的下載http://help.soundcloud.com/customer/portal/articles/645892-can-i-download-my-sounds-我-ipod-iphone-ipad- ..我正在尋找一種方式。有應用程序允許下載,但我不知道如何! – Twinkle

+0

您需要創建連接並獲取用戶的令牌 – user2828120

0

有時你只需要閱讀SDK本身。

你真正應該問的是如何正確地調用以下內容。試試看。 我沒有測試過這個。只有猜測。

NSString *streamURL = [track objectForKey:@"stream_url"]; 
SCAccount *account = [SCSoundCloud account]; 
[SCRequest performMethod:SCRequestMethodGET 
       onResource:[NSURL URLWithString:streamURL] 
     usingParameters:nil 
      withAccount:account 
    sendingProgressHandler:nil 
     responseHandler:^(NSURLResponse *response, NSData *data, NSError *err) { 
      if (err == nil) { 

       if ([[NSFileManager defaultManager] fileExistsAtPath:localPath]) { 
        NSLog(@"Overwriting for import."); 
        BOOL success = [[NSFileManager defaultManager] removeItemAtPath:localPath error:nil]; 
        if (success) { 
         NSLog(@"Overwrite successful!"); 
        } else { 
         NSLog(@"Overwrite failed"); 
         return; 
        } 
       } 
       BOOL success = [[NSFileManager defaultManager] createFileAtPath:localPath contents:data attributes:nil]; 
       if (success) { 
        NSLog(@"download complete"); 
       } else { 
        NSLog(@"failed to create a new file"); 
       } 
      } else { 
       NSLog(@"Failed to download track."); 
      } 
}]; 
相關問題