1

我希望使用 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];
}
4

1 回答 1

1

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

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

[player play];
于 2013-05-17T22:07:28.163 回答