2010-09-10 6 views
1

Dans 3.0, je pourrais enregistrer pour MPMoviePlayerContentPreloadDidFinishNotification et détecter si le film a préchargé ou a échoué, selon s'il y avait un objet d'erreur. Quelqu'un peut-il me dire l'équivalent des deux cas pour iOS4?Comment détecter un film préchargé/a échoué sur iOS4?

[Mise à jour. En réponse au premier commentaire ici parce que la longueur du commentaire max est trop courte]

Si vous jouez avec succès un film sur iOS4, vous obtenez:

  • MPMoviePlayerContentPreloadDidFinishNotification sans objet d'erreur (obsolète)
  • MPMoviePlayerLoadStateDidChangeNotification et player.loadState=MPMovieLoadStatePlayable
  • MPMoviePlayerPlaybackDidFinishNotification et player.loadState=MPMovieLoadStatePlaythroughOK

Si elle échoue (par exemple en raison d'une URL incorrecte), vous obtenez:

  • MPMoviePlayerPlaybackDidFinishNotificationloadState=MPMovieLoadStateUnknown

Et voilà. No MPMoviePlayerContentPreloadDidFinishNotification avec un objet d'erreur comme dans 3.0, pas MPMoviePlayerLoadStateDidChangeNotification. Donc, c'est le seul moyen de détecter une charge défectueuse pour inspecter le lecteur. loadState pour MPMovieLoadStateUnknown dans MPMoviePlayerPlaybackDidFinishNotification? Il semble contre-intuitif, c'est le moins que l'on puisse dire.

Répondre

1

Enregistrez-vous pour la notification MPMoviePlayerLoadStateDidChangeNotification, puis vérifiez la propriété loadState du MPMoviePlayerController.

Source: ADC Developer Documentation