从服务器下载音乐文件并保存在我的应用程序中

时间:2011-04-11 11:53:00

标签: iphone ios4 mp3 download nsurlconnection

我需要从服务器下载.mp3音频文件以保存在我的应用程序中并无需下载即可播放,完全类似于下面的屏幕截图,下载进度条(我在App Store中找到了这个)。任何人都可以帮助我在我的应用程序中执行此操作,源代码? 任何帮助将不胜感激!提前谢谢!

我使用了NSURLConnection,但它并不适用于我。

以下是我想要做的截图。

Screenshot of download with progress bar

2 个答案:

答案 0 :(得分:3)

This问题讨论了您正在寻找的内容

编辑:

如果你想下载一个文件然后播放它,你需要做的是:

使用NSURLConnection将文件下载到磁盘 - this链接讨论保存大文件(当我不需要它们时我不会将2-5mb保留在内存中,即使它可能会起作用)

,比播放它的AVAudioPlayer - 检查this

编辑2:

对于取消按钮,它实际上应该只是调用[NSURLConnection cancel]方法,并做任何其他完成你的下载类需要...

对于进度条,在NSURLConnectionDelegate方法didReceiveResponse中,您获取NSURLResponse,将其强制转换为NSHTTPURLResponse,并使用expectedContentLength方法检索您正在下载的文件的大小。

然后在每次调用NSURLConnection:didRecieveData方法时,使用[data length]方法计算传入的字节数,将其除以前一个URL响应中的expectedContentLength,这就是浮点数代表你的进度传递到进度视图的progress属性

答案 1 :(得分:2)

是的,第一个。我在我的应用程序中下载文件并在表格视图中显示,然后在下载后播放。 - DAVEd 2011年4月11日14:34