解析 shoutcast .pls 流以在 iOS 中显示元数据



我正在寻找一些解决方案来从我的流 http://vibesradio.org:8002/中获取元数据信息,以显示在我正在开发的应用程序的 UILabel 中。

提前谢谢。

这是答案,堆栈上有一些部分答案,所以我提交完整的解决方案:

首先在viewDidLoad中,我们需要添加可观察的元数据对象:

 [playerItem addObserver:self forKeyPath:@"timedMetadata" options:NSKeyValueObservingOptionNew   context:NULL];

现在,我们只需要 UILabel 和一个函数来显示元数据,假设创建了 UIlabel nowPlay,我们添加以下代码:

- (void) observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object
                     change:(NSDictionary*)change context:(void*)context {
if ([keyPath isEqualToString:@"timedMetadata"])
{
    playerItem = object;
    for (AVMetadataItem* metadata in playerItem.timedMetadata)
    {
        NSLog(@"nkey: %@nkeySpace: %@ncommonKey: %@nvalue: %@", [metadata.key description], metadata.keySpace, metadata.commonKey, metadata.stringValue);
        NSString *edited = [metadata.stringValue stringByReplacingOccurrencesOfString:@"_" withString:@" "];
        self.nowPlaying.text = edited;
    }
  }
}

就是这样,现在您应该显示您的流信息。

最新更新