我可以在iOS上使用AV Foundation Framework流式传输.mp3链接吗?

时间:2012-07-24 12:17:20

标签: iphone ios audio

我正在为拥有自己收音机的人制作应用程序。 它只是一个流网址(例如http://stream.domain.com/highquality.mp3) 我已经使用AV Foundation Framework制作了代码,让它可以使用简单的.mp3文件。

这是我的代码:

-(IBAction)play {
if(clicked == 0) {
    clicked = 1;
    NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/test.mp3", [[NSBundle mainBundle] resourcePath]]];

    NSError *error;
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
    audioPlayer.numberOfLoops = 0;

    [audioPlayer play];
    [start setTitle:@"Stop" forState:UIControlStateNormal];
}
else {
    [audioPlayer stop];
    clicked = 0;
    [start setTitle:@"Start" forState:UIControlStateNormal];
}
}

我应该编辑什么?

编辑:上面的代码确实有效。我需要让它按下按钮来播放和停止它。我不想在我的设备上安装孔媒体播放器。简单而美丽..

编辑2:有些人找不到我需要的内容:我需要编辑才能使用.mp3流(例如上面的流)。

1 个答案:

答案 0 :(得分:0)

你只需要将NSURL传递给你的玩家对象,让它从那里播放流

-(IBAction)play {
if(clicked == 0) {
    clicked = 1;

    NSURL *url = [NSURL URLWithString:@"http://www.linktoyourstream.com"];

    NSError *error;
    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
    audioPlayer.numberOfLoops = 0;

    [audioPlayer play];
    [start setTitle:@"Stop" forState:UIControlStateNormal];
}