4

開発中のアプリのUILabelに表示されるストリームhttp://vibesradio.org:8002/からメタデータ情報を取得するためのソリューションを探しています。

前もって感謝します。

4

1 に答える 1

6

ここに答えがあります、ここにスタックでいくつかの部分的な答えがあったので、私は完全な解決策を提出します:

最初に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;
    }
  }
}

これで、ストリーム情報が表示されるはずです。

于 2012-11-23T20:24:41.187 に答える