Потоковая передача iOS: метаданные времени не возвращают все значение - PullRequest
0 голосов
/ 10 мая 2018

Попытка воспроизведения живого аудиопотока, в котором я наблюдаю «timedMetadata». Получаются обычные элементы данных, такие как заголовок контента и URL-адрес. Но есть некоторые дополнительные данные, поступающие как часть ICEcast, которые в основномдля воспроизведения объявлений. Эти данные, однако, видны у Чарльза, не заполняются в AVMetadataItem

for (AVMetadataItem *data in item.timedMetadata) {
    NSLog(@"Identifier : %@",data.identifier);
    NSLog(@"Value : %@",data.value);
    NSLog(@"Datatype : %@",data.dataType);
}

Я что-то здесь упускаю? Эти же данные можно получить в классах AudioStreamer Мэтта. Можно ли это сделать с помощью AVPlayer?Это под другим наблюдателем?1. Как я могу получить эти данные?

AVPlayerItem *item = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:urlString]];
self.songPlayer = [AVPlayer playerWithPlayerItem:item];
CALayer *superlayer = self.playerView.layer;

AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.songPlayer];
[playerLayer setFrame:self.playerView.bounds];
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
[superlayer addSublayer:playerLayer];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(playerItemDidReachEnd:)
                                             name:AVPlayerItemDidPlayToEndTimeNotification
                                           object:[self.songPlayer currentItem]];
[item addObserver:self forKeyPath:@"status" options:0 context:nil];
[item addObserver:self forKeyPath:@"currentItem" options:0 context:nil];
[item addObserver:self forKeyPath:@"timedMetadata" options:0 context:nil];
Какие существуют разные наблюдатели для AVPlayer?
...