我正在寻找一些解决方案,以便从我的流http://vibesradio.org:8002/中获取元数据信息,以便在我正在开发的应用的UILabel中显示。
提前致谢。
答案 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;
}
}
}
就是这样,现在您应该显示您的信息流信息。