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

时间:2010-11-10 23:22:56

标签: mpmovieplayercontroller

是否有一种捕获异常的方法(特别是对于网络错误 /没有连接可用)使用MPMoviePlayerController?

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

我已经查看了可用的文档,并意识到我可以得到一个 通过

更改loadState的通知
moviePlayerLoadStateChanged:(NSNotification*)notification.

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

MPMovieLoadStateUnknown
MPMovieLoadStatePlayable
MPMovieLoadStatePlaythroughOK
MPMovieLoadStateStalled

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

有一个不推荐使用的MPMoviePlayerContentPreloadDidFinishNotification,它为userInfo字典提供了一个“错误”键,但是对于iOS 3.2及更高版本没有任何内容。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

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

此处有更多详情https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMoviePlayerController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006953-CH3-SW17