2013-05-17 62 views
1

我正在使用AVAudioPlayer或AVPlayer在我的应用程序中播放实时音频流,但链接没有扩展名,所以无论何时尝试设置它,它都会失败。有没有人有什么建议?没有扩展名的iOS流音频

代码:

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

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

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

[player play];