我正在开发音乐iPhone应用程序。我想为用户提供一些选项,以便他们可以通过流式传输来收听歌曲/音乐,或者他们可以通过在应用下载音乐。我知道如何以编程方式在应用中流式传输音频文件。但是,我不知道如何下载应用程序中的音频文件并播放音频。用户也可以在下载时暂停下载。有可能吗?任何人都可以请指导我,请为我分享任何示例代码或教程?我还有一个疑问:你能帮我在应用程序内创建一个文件夹吗?请帮帮我。提前致谢。如何从互联网上下载音频/视频文件并存储在iPhone应用程序中?
回答
创建文件夹
对于每一个应用程序,你有一个Documents Folder
。您在应用中使用的任何文件都存储在此处。如果你想在这里创造更多的目录,然后你会做这样的事情:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"MyNewFolder"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error]; //Create folder if it doesn't already exist
下载
如果你想从互联网上下载的音频文件,然后你想看看的异步的做法。这意味着应用程序可以在下载发生在后台时继续执行任务。
对此,我建议您使用ASIHTTPREQUEST。对于执行任何下载请求非常有用,可为您提供多种选项,例如暂停下载(根据您的要求)。
该网站提供了大量有关下载和存储文件的文档。看看下载文件部分this页面。
你只希望做这样的事情:
NSURL *url = [NSURL URLWithString:@"http://www.fileurl.com/example.mp3"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadDestinationPath:[NSString stringWithFormat:@"%@",dataPath]]; //use the path from earlier
[request setDelegate:self];
[request startAsynchronous];
然后,只需处理通过ASIHTTPRequest提供委托方法的进度和完成。
播放
播放该文件是非常简单的。一旦它在设备上,并且您知道它在哪里,只需将其加载到音频播放器中即可。
这里有一个很好的教程,使用AVAudioPlayer播放声音。在你的情况下使用它的一个非常简单的例子是:
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3",dataPath];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
if (audioPlayer == nil)
NSLog([error description]);
else
[audioPlayer play];
很好的评论,很好的解释! +1 – onetwopunch 2012-10-29 23:13:31
+1这样一个很好的答案:),这应该被接受,想知道为什么人们问问题和消失:( – swiftBoy 2013-01-29 08:12:21
@Liam很好的回答:) +1 – 2013-06-25 10:02:41
是的,你可以通过AVAudioPlayer下载音频文件和播放下载的文件。我不完全知道如何在下载时暂停,但我已经下载了音频并播放。您可以从ASIHTTP请求或其他下载。
您可以按照这些链接。
+1我推荐使用ASIHTTPRequest – CarlJ 2012-04-20 12:19:12
是的,Sure ASIHTTPRequest是最好的方法,你应该用这个下载你的音频文件,如果问题出现的话请让我知道,我会尽力解决,insha阿拉。 – 2012-04-20 14:14:53
- 1. 如何在网络上编程音频/视频应用程序?
- 2. 如何从互联网下载文件并保存在iPhone上的“文档”中?
- 3. 如何从互联网下载音频文件并在iPhone sdk中使用AvAudioplayer进行播放?
- 4. 如何在iphone应用程序中同步音频和视频
- 5. 使用iPhone sdk从服务器下载并播放音频/视频文件到我们的应用程序
- 6. 如何在视频Web应用程序中存储视频
- 7. 如何在wp7 mediaLiabrary下载并保存音频和视频?
- 8. 从iPhone下载视频在iPhone应用程序
- 9. 从互联网上播放视频
- 10. 如何使用PHP从任何远程URL下载视频或音频文件?
- 11. iPhone - 从互联网上下载文件,并保存到文件direcory
- 12. 从网站下载音频文件
- 13. 如何从网站下载视频并保存在图库中?
- 14. 如何从Android应用程序中从服务器下载时减少音频和视频文件大小?
- 15. 如何访问iphone中的视频。它在哪里存储下载的视频?
- 16. 如何禁用网页中的视频/音频下载?
- 17. android:我如何在应用程序文件夹中存储音频文件
- 18. 如何从iphone/ipad SDK下载或打开互联网上的.docx,.pdf,.zip和视频文件
- 19. 将音频文件存储在html5本地存储中 - 使用javascript下载音频文件
- 20. 在iPhone应用程序中合并两个视频文件
- 21. 如何从HTP网址在iPhone应用程序播放视频
- 22. 如何加载安装的应用程序支持音频和视频文件
- 23. 在PouchDB中存储视频/音频
- 24. 音频文件存储按需移动应用程序下载技术
- 25. 下载视频并将其存储在iphone本地文件夹中
- 26. 如何在网站上传输视频和音频文件
- 27. 只从流式视频下载音频?
- 28. 仅从YouTube视频下载音频
- 29. 从网络下载字体.ttf文件并在iPhone上存储
- 30. 如何将音频添加到iPhone上的视频文件SDK
你应该接受@Liam乔治Betsworth的回答,他做了他最好的。 – swiftBoy 2013-01-29 08:10:09