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

时间:2012-11-22 21:00:01

标签: ios metadata shoutcast

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

提前致谢。

1 个答案:

答案 0 :(得分:5)

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

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

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

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

- (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;
    }
  }
}

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