В версии 3.0 я мог зарегистрироваться в MPMoviePlayerContentPreloadDidFinishNotification
и определять, был ли фильм предварительно загружен или нет, в зависимости от наличия объекта ошибки. Может кто подскажет аналог двух чехлов для iOS4?
[Обновление: ответ на первый комментарий здесь, поскольку максимальная длина комментария слишком мала.]
Если вы успешно воспроизвели фильм на iOS4, вы получите:
MPMoviePlayerContentPreloadDidFinishNotification
без объекта ошибки (устарело)MPMoviePlayerLoadStateDidChangeNotification
иplayer.loadState=MPMovieLoadStatePlayable
MPMoviePlayerPlaybackDidFinishNotification
иplayer.loadState=MPMovieLoadStatePlaythroughOK
Если это не удается (например, из-за неправильного URL-адреса), вы получаете:
MPMoviePlayerPlaybackDidFinishNotification
loadState=MPMovieLoadStateUnknown
И это все. Нет MPMoviePlayerContentPreloadDidFinishNotification
с объектом ошибки, как в 3.0, нет MPMoviePlayerLoadStateDidChangeNotification
. Значит, единственный способ обнаружить неудачную загрузку — проверить плеер.loadState
на наличие MPMovieLoadStateUnknown
в MPMoviePlayerPlaybackDidFinishNotification
?
Это кажется контринтуитивным, если не сказать больше.