MPMoviePlayerController - 加载电影时捕获网络错误

Rog*_*Rog 6 mpmovieplayercontroller

有没有办法在使用MPMoviePlayerController时捕获异常(特别是网络错误/无可用连接)?

我特别担心的是,一旦播放器的实例初始化,initWithURL:您无法知道电影加载是否由于某种原因而失败.

我已经查看了可用的文档,并意识到我可以通过获取loadState更改的通知

moviePlayerLoadStateChanged:(NSNotification*)notification.
Run Code Online (Sandbox Code Playgroud)

问题是可用的loadState常量不适合错误处理:

MPMovieLoadStateUnknown
MPMovieLoadStatePlayable
MPMovieLoadStatePlaythroughOK
MPMovieLoadStateStalled
Run Code Online (Sandbox Code Playgroud)

(如果你想知道,MPMovieLoadStateStalled由于某些原因在网络错误期间没有调用它?)

有一个不推荐使用的MPMoviePlayerContentPreloadDidFinishNotification用户提供了一个带有"错误"键的userInfo字典,但是没有适用于iOS 3.2及更高版本的内容.

任何帮助将非常感谢.

Rog*_*Rog 2

最后,我通过订阅 MPMoviePlayerPlaybackDidFinishNotification 并观察 MPMovieFinishReasonPlaybackError 来排序。

更多详细信息请参见https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMoviePlayerController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006953-CH3-SW17