Что ж, я удивлен, что никто не ответил на этот вопрос. На самом деле никто не ответил ни на один из моих других вопросов. Заставляет меня задаться вопросом, сколько знаний люди здесь действительно имеют.
В любом случае, я продолжу и отвечу на свой вопрос. Я узнал, как получить метаданные, выполнив следующие действия:
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url];
NSArray *metadataList = [playerItem.asset commonMetadata];
for (AVMetadataItem *metaItem in metadataList) {
NSLog(@"%@",[metaItem commonKey]);
}
Что дает мне список следующим образом:
title
creationDate
artwork
albumName
artist
Теперь с этим списком я знаю, как получить доступ к метаданным из моего аудиопотока. Просто просмотрите NSArray
и найдите AVMetadataItem
, у которого есть commonKey
, который мне нужен (например, title
). Затем, когда я нахожу AVMetadataItem
, просто получаю от него свойство value
.
Теперь это прекрасно работает, но возможно, что когда вы попытаетесь получить данные, это займет некоторое время. Вы можете загрузить данные асинхронно, отправив loadValuesAsynchronouslyForKeys:completionHandler:
только что найденному AVMetadataItem
.
Надеюсь, что это поможет всем, кто может столкнуться с той же проблемой.
person
raixer
schedule
20.10.2011