Не удается инициализировать AVPlayer музыкой с iPod

Я пытаюсь инициализировать AVPlayer содержимым песни из библиотеки iPod устройства. У меня есть следующий код в viewDidLoad моего корневого контроллера (извлек его в тестовое приложение, чтобы изолировать его).

MPMediaQuery* query = [MPMediaQuery songsQuery];

MPMediaItem* firstItem = [query.items objectAtIndex:0];
NSURL* url = [firstItem valueForKey:MPMediaItemPropertyAssetURL];
AVPlayerItem* playerItem = [[AVPlayerItem alloc] initWithURL:url];

self.player = [[AVPlayer alloc] initWithPlayerItem:playerItem];
[self.player play];

Код всегда генерирует следующее исключение в строке, где я вызываю valueForKey для firstItem, чтобы получить URL-адрес актива:

* Завершение работы приложения из-за необработанного исключения "NSUnknownKeyException", причина: "[ valueForUndefinedKey:]: этот класс не соответствует кодированию значения ключа для ключевого ресурсаURL". * Стек вызовов первого броска:

Код кажется мне довольно простым, не уверен, что мне здесь не хватает, любая помощь была бы фантастической. Это iOS 5.1 на iPhone 4S. Пробовал как с включенным iTunes Match, так и с устройством, на котором есть только локальная музыка, результат тот же.


person nickbona    schedule 11.09.2012    source источник


Ответы (1)


Вам необходимо использовать valueForProperty: метод вместо этого.

person A-Live    schedule 11.09.2012
comment
Спасибо, так получилось. Очень тонкая оплошность с моей стороны. - person nickbona; 12.09.2012