3
我正在尋找一些解決方案,以從我的流http://vibesradio.org:8002/中獲取元數據信息以顯示在我正在開發的應用程序的UILabel中。解析shoutcast .pls流以在iOS中顯示元數據
在此先感謝。
我正在尋找一些解決方案,以從我的流http://vibesradio.org:8002/中獲取元數據信息以顯示在我正在開發的應用程序的UILabel中。解析shoutcast .pls流以在iOS中顯示元數據
在此先感謝。
下面是答案,在堆有一些部分答案在這裏,所以我提出完整的解決方案:
首先在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;
}
}
}
而且多數民衆贊成它,沒有你應該顯示你的流信息。
我只是試過這種方法,但得到了以下錯誤'屬性'timedMetadata'找不到對象的類型'AVPlayer *''任何建議? – vzm