開発中のアプリのUILabelに表示されるストリームhttp://vibesradio.org:8002/からメタデータ情報を取得するためのソリューションを探しています。
前もって感謝します。
開発中のアプリのUILabelに表示されるストリームhttp://vibesradio.org:8002/からメタデータ情報を取得するためのソリューションを探しています。
前もって感謝します。
ここに答えがあります、ここにスタックでいくつかの部分的な答えがあったので、私は完全な解決策を提出します:
最初にviewDidLoadで、監視可能なメタデータオブジェクトを追加する必要があります。
[playerItem addObserver:self forKeyPath:@"timedMetadata" options:NSKeyValueObservingOptionNew context:NULL];
ここで、必要なのはUILabelとメタデータを表示するための関数だけです。UIlabelnowPlayingが作成されたと仮定して、次のコードを追加します。
- (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;
}
}
}
これで、ストリーム情報が表示されるはずです。