我希望使用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];
}
答案 0 :(得分:1)
NSData不构成流,而是静态数据(例如您创建的声音数据或从文件加载的数据)。您想要创建一个指向流的NSURL的AVPlayer对象。例如:
AVPlayer *player = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:path]];
[player play];