从网络下载音频和播放

问题描述:

我正在创建一个iphone应用程序,并希望从网上下载音频文件(我应该可以在没有任何帮助的情况下执行此操作),但我不熟悉播放该文件的任何方法在设备上。任何援助将不胜感激,谢谢:)从网络下载音频和播放

使用

AVAudioPlayer* player = [[AVAudioPlayer alloc] initWithContentsOfURL:... error:NULL]; 
... 
[player play]; 
+0

理想情况下,文件需要单独下载,因为它会有一些修改。 – Nippysaurus 2010-02-04 05:41:20

+0

@Nippysaurus:“URL”可以是一个文件的URL。 – kennytm 2010-02-04 06:20:15

+0

这是最简单的方法。通常,当我下载一个文件时,我使用FileManager将它写出到iPhone中。您可以将您发送到FileManager的URL/Path并将其正确赋予AVAudioPLayer使用。 – TurqMage 2012-02-21 16:26:54

你为什么不检查出MPMoviePlayerController class

+0

我可能是错的......但是看起来像电影播放器​​类型控制...我只想播放一些音频(用户将在屏幕上显示控件和其他内容)。 – Nippysaurus 2010-02-04 06:01:43

+0

您不仅可以播放电影,还可以播放AAC-LC,MP3等音频。 此外,该课程还可播放位于您的应用程序或远程服务器中的音频文件。 – tomute 2010-02-04 06:20:40

查看Apress的书“酷的iPhone项目”,其中有一章关于潘多拉的音频代码。源也可用http://apress.com/book/downloadfile/4453

他们这样做的方式是使用音频队列API,它允许通过HTTP同时下载和播放音频文件。

这是一个很好的例子,几乎应该说明这样做的一种方法。

音频队列的一个警告是它们可能具有高延迟并且不准确。对于基于网络的音频来说,这不会起作用,但AQ对于制作乐器或做任何类型的实时行为都毫无价值。