在iPhone上从stream中获取ID3标签

我从HTTP Live Stream(使用m3u,m3u8播放列表文件)无法在iPhone上获得歌曲名称和composer php姓名。 我试过从这个网站的tempomix收音机 。 这是链接到stream – http://stream21.group-network.net:9012

我正在尝试使用下一个代码:

AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url]; _player = [[AVPlayer playerWithPlayerItem:playerItem] retain]; _player.actionAtItemEnd = AVPlayerActionAtItemEndNone; [_player addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:NULL]; [_player addObserver:self forKeyPath:@"currentItem" options:NSKeyValueObservingOptionNew context:NULL]; [_player addObserver:self forKeyPath:@"timedMetadata" options:NSKeyValueObservingOptionNew context:NULL]; 

然后在这里等待callback:

 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 

当callback来了 – 我检查AVPlayerStatus并运行播放。 收音机播放良好 – 但从来没有来观察ValueForKeyPath。

我知道这个问题看起来类似于这个问题,但描述的方法不适合我。

有任何想法吗? 谢谢。

ID3标签与您链接的stream无关。 SHOUTcast / Icecast不使用ID3标签。

你将不得不分析SHOUTcast元数据协议。 我已经在这里回答了PHP的这个问题: https : //stackoverflow.com/a/4914538/362536无论什么语言,校长是相同的。

另见http://www.smackfu.com/stuff/programming/shoutcast.html