从iPhone上的流获取ID3标签

从iPhone上的流获取ID3标签,iphone,ios,streaming,audio-streaming,avplayer,Iphone,Ios,Streaming,Audio Streaming,Avplayer,我无法从HTTP Live Stream(使用m3u、m3u8播放列表文件)获取iPhone上歌曲的标题和作曲家的姓名。我试着从这个网站上获取它。这是流媒体的链接- 我正在尝试使用下一个代码: AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url]; _player = [[AVPlayer playerWithPlayerItem:playerItem] retain]; _player.

我无法从HTTP Live Stream(使用m3u、m3u8播放列表文件)获取iPhone上歌曲的标题和作曲家的姓名。我试着从这个网站上获取它。这是流媒体的链接-

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

        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。 收音机播放得很好,但从未出现过observeValueForKeyPath

我知道这个问题看起来很相似,但所描述的方法对我来说并不适用


有什么想法吗?谢谢。

ID3标记与您链接到的流无关。SHOUTcast/Icecast不使用ID3标记

您必须解析SHOUTcast元数据协议。我在这里回答了PHP的这个问题:无论使用何种语言,主体都是相同的


另请参见

ID3标记与链接到的流无关。SHOUTcast/Icecast不使用ID3标记

您必须解析SHOUTcast元数据协议。我在这里回答了PHP的这个问题:无论使用何种语言,主体都是相同的


另请参见

谢谢您的回答!对于这个流,我可以看到标题(在原始数据中)。但这一环节呢?这个列表提供了一些.st文件,但是里面没有冰冷的标签…@Sergey,你刚才链接到的那些流是完全不同的,SHOUTcast/Icecast不提供服务。如果存在元数据,则需要将其从MPEG流中提取出来。谢谢你的回答!对于这个流,我可以看到标题(在原始数据中)。但这一环节呢?这个列表提供了一些.st文件,但是里面没有冰冷的标签…@Sergey,你刚才链接到的那些流是完全不同的,SHOUTcast/Icecast不提供服务。如果存在元数据,则需要将其从MPEG流中提取出来。