MPMoviePlayerController - 加载电影时捕获网络错误
Posted
技术标签:
【中文标题】MPMoviePlayerController - 加载电影时捕获网络错误【英文标题】:MPMoviePlayerController - catching network errors when loading a movie 【发布时间】:2010-11-10 23:22:55 【问题描述】:有没有办法捕捉异常(尤其是网络错误 / 没有可用的连接)在使用 MPMoviePlayerController 时?
我特别担心,一旦播放器实例使用initWithURL:
初始化,您就无法知道电影加载是否由于某种原因而失败。
我已经查看了可用的文档并意识到我可以获得 通过
通知 loadState 更改moviePlayerLoadStateChanged:(NSNotification*)notification.
问题是可用的 loadState 常量不适合错误处理:
MPMovieLoadStateUnknown
MPMovieLoadStatePlayable
MPMovieLoadStatePlaythroughOK
MPMovieLoadStateStalled
(如果您想知道,MPMovieLoadStateStalled 由于某种原因在网络错误期间不会调用它?)
有一个已弃用的 MPMoviePlayerContentPreloadDidFinishNotification
提供带有“错误”键的 userInfo 字典,但对于 ios 3.2 及更高版本没有。
非常感谢任何帮助。
【问题讨论】:
【参考方案1】:最后,我通过订阅 MPMoviePlayerPlaybackDidFinishNotification 并观察 MPMovieFinishReasonPlaybackError 得到了排序。
更多详情在这里https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMoviePlayerController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006953-CH3-SW17
【讨论】:
您好,您可以添加示例代码吗?苹果文档缺少示例,我无法弄清楚如何按照您的建议进行操作。以上是关于MPMoviePlayerController - 加载电影时捕获网络错误的主要内容,如果未能解决你的问题,请参考以下文章
如何显示 MPMoviePlayerController 控件?
MPMoviePlayerController 隐藏 AirPlay 按钮
MPMoviePlayerController 上的专辑封面
MPMoviePlayerController 已弃用,现在怎么办?