2010-11-10 9 views
6

¿Hay alguna forma de detectar excepciones (especialmente para errores de red /sin conexión disponible) cuando se utiliza un MPMoviePlayerController?MPMoviePlayerController: detecta errores de red al cargar una película

Me preocupa especialmente que una vez que una instancia del reproductor se haya inicializado con initWithURL:, no tenga forma de saber si la carga de la película ha fallado por alguna razón.

He revisado la documentación disponible y darse cuenta de que puedo conseguir una notificación para loadstate cambia a través

moviePlayerLoadStateChanged:(NSNotification*)notification. 

El problema es que las constantes loadstate disponibles no atender a la gestión de errores:

MPMovieLoadStateUnknown 
MPMovieLoadStatePlayable 
MPMovieLoadStatePlaythroughOK 
MPMovieLoadStateStalled 

(En caso de que se lo pregunte, MPMovieLoadStateStalled esto no se llama durante los errores de red por alguna razón?)

Hay una MPMoviePlayerContentPreloadDidFinishNotification obsoleta que proporciona un diccionario de información de usuario con una clave de "error" pero nada para iOS 3.2 y superior.

Cualquier ayuda sería muy apreciada.

Respuesta

2

Al final conseguí esto ordenado suscribiéndome a MPMoviePlayerPlaybackDidFinishNotification y mirando para MPMovieFinishReasonPlaybackError.

Más detalles aquí https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMoviePlayerController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006953-CH3-SW17

+0

Hey, ¿podría añadir un código de ejemplo? La documentación de Apple carece de ejemplos, y no puedo entender cómo hacer lo que usted recomienda. – Lombas

Cuestiones relacionadas