【问题标题】:MPMoviePlayerController - catching network errors when loading a movieMPMoviePlayerController - 加载电影时捕获网络错误
【发布时间】:2010-11-10 23:22:55
【问题描述】:

有没有办法捕捉异常(尤其是网络错误 / 没有可用的连接)在使用 MPMoviePlayerController 时?

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

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

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

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

MPMovieLoadStateUnknown
MPMovieLoadStatePlayable
MPMovieLoadStatePlaythroughOK
MPMovieLoadStateStalled

(如果您想知道,MPMovieLoadStateStalled 由于某种原因在网络错误期间不会调用它?)

有一个已弃用的 MPMoviePlayerContentPreloadDidFinishNotification 提供带有“错误”键的 userInfo 字典,但对于 iOS 3.2 及更高版本没有。

非常感谢任何帮助。

【问题讨论】:

    标签: mpmovieplayercontroller


    【解决方案1】:

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

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

    【讨论】:

    • 您好,您可以添加示例代码吗?苹果文档缺少示例,我无法弄清楚如何按照您的建议进行操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    相关资源
    最近更新 更多