iOS流音频没有扩展名

时间:2013-05-17 20:10:42

标签: ios audio streaming avaudioplayer avplayer

我希望使用AVAudioPlayer或AVPlayer在我的应用程序中播放实时音频流,但是该链接没有扩展名,因此每当我尝试设置它时,它都会失败。有没有人有任何建议?

代码:

NSString *path = @"http://audio7.radioreference.com/24705802";
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]];
NSError *error;

AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:data error:&error];
player.volume = 1.0f;
player.numberOfLoops = -1.0f;
[player prepareToPlay];

if (player == nil) {
    NSLog(@"Error: %@ Description: %@", error.localizedDescription, error.description);
}
else {
    [player play];
}

1 个答案:

答案 0 :(得分:1)

NSData不构成流,而是静态数据(例如您创建的声音数据或从文件加载的数据)。您想要创建一个指向流的NSURL的AVPlayer对象。例如:

AVPlayer *player = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:path]];

[player play];