'NSInvalidArgumentException', причина: '-[длительность AVPlayerItem]: отправлен нераспознанный селектор

Я пытаюсь воспроизвести MediaItem с помощью AVPlayer, а затем пытаюсь получить продолжительность текущего элемента следующим образом (длительность — это объект типа CMTime):

duration = [[player currentItem] duration];

У меня нет проблем с iPad, но с iPod Touch я получаю следующую ошибку. Я еще не пробовал это в iPhone.

Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «-[AVPlayerItem duration]: нераспознанный селектор отправлен экземпляру 0x186100»

Любые указатели на исправление будут очень признательны.


person Bijoy Thangaraj    schedule 15.02.2012    source источник


Ответы (1)


Скорее всего, вы тестируете это на iPod с iOS ‹ 4.3.

Согласно документации AVPlayerItem, duration доступно только в iOS 4.3 или более поздней версии.

person edc1591    schedule 15.02.2012
comment
Ой! Ага. Я тестировал на iPod с iOS 4.0. Есть ли другой способ получить продолжительность AVPlayerItem? - person Bijoy Thangaraj; 15.02.2012
comment
Я всегда получаю продолжительность как 0. Я пытаюсь воспроизвести песню из библиотеки iPod. Как мне получить продолжительность в этом случае? - person Bijoy Thangaraj; 15.02.2012
comment
Если это MPMediaItem, вы можете сделать [item valueForProperty: MPMediaItemPropertyPlaybackDuration]; - person edc1591; 15.02.2012
comment
Прохладный. +1 тебе edc1591. Это действительно помогает! - person Bijoy Thangaraj; 15.02.2012