Как определить, что фильм предварительно загружен / не выполнен на iOS4? - PullRequest
1 голос
/ 10 сентября 2010

В 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?

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

1 Ответ

1 голос
/ 10 сентября 2010

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

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

...