Как определить, что фильм предварительно загружен/сбой на iOS4?

В версии 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?

Это кажется контринтуитивным, если не сказать больше.


person Mark Smith    schedule 10.09.2010    source источник


Ответы (1)


Зарегистрируйтесь для получения уведомления MPMoviePlayerLoadStateDidChangeNotification, а затем проверьте свойство loadState файла MPMoviePlayerController.

Источник: Документация для разработчиков ADC

person jrtc27    schedule 10.09.2010