使用iphone应用程序从url下载并播放mp3文件

时间:2010-04-16 07:37:59

标签: iphone

我们想要创建一个下载mp3文件的应用程序,然后开始播放它。

有没有人知道如何从网址下载mp3文件,然后将其存储在iPhone或应用程序中(取决于可能的)。

2 个答案:

答案 0 :(得分:2)

将以下import语句添加到标题中:

#import <AVFoundation/AVFoundation.h>

在你的实施中:

NSError *error;
NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://xyz/abc.mp3"]];

audioPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
audioPlayer.numberOfLoops = -1;
audioPlayer.delegate = self;
audioPlayer.volume = 1.0f;
[audioPlayer prepareToPlay];

if (audioPlayer == nil)
    NSLog(@"%@", [error description]);
else
    [audioPlayer play];

在某些时候不要忘记release玩家:

[audioPlayer release];

答案 1 :(得分:0)

污垢简单,在线程上:

myMP3 = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://..."]];

稍微简单,但有更多选择:

[NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://..."]] delegate:self];

或者直接播放:

[[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://..."] error:nil] play];

编辑:上面的代码片段会泄漏。您应该将创建的AVAudioPlayer实例存储在成员中,并在音频播放完成后释放它,否则您将完成它。如果发布播放AVAudioPlayer会停止播放音频,我就不知道了。