我无法从HTTP Live Stream(使用m3u,m3u8播放列表文件)获取iPhone上的歌曲名称和作曲家名称。我试过从这个网站tempomix radio获取它。这是指向流媒体的链接 - 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];
然后在这里等待回电:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
当回调到来时 - 我检查AVPlayerStatus并运行play。 收音机播放得很好 - 但是从来没有观察过ValueVeyPath。
我知道这个问题与this question类似,但描述的方法对我不起作用。
有什么想法吗?感谢。
答案 0 :(得分:1)
ID3标记与您链接的流无关。 SHOUTcast / Icecast不使用ID3标签。
您必须解析SHOUTcast元数据协议。我在这里回答了PHP的这个问题:https://stackoverflow.com/a/4914538/362536无论语言是什么,校长都是相同的。