2013-11-04 39 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."); 
      } 
}]; 
相关问题