在3.0中,我可以注册MPMoviePlayerContentPreloadDidFinishNotification
并检测电影是否预加载或失败,具体取决于是否存在错误对象。任何人都可以告诉我相当于iOS4的两个案例吗?
[更新:响应此处的第一条评论,因为最大评论时间太短。]
如果您在iOS4上成功播放电影,则会获得:
MPMoviePlayerContentPreloadDidFinishNotification
没有错误对象(不建议使用)MPMoviePlayerLoadStateDidChangeNotification
和player.loadState=MPMovieLoadStatePlayable
MPMoviePlayerPlaybackDidFinishNotification
和player.loadState=MPMovieLoadStatePlaythroughOK
如果失败(例如因为网址不正确),您会得到:
MPMoviePlayerPlaybackDidFinishNotification
loadState=MPMovieLoadStateUnknown
就是这样。没有MPMoviePlayerContentPreloadDidFinishNotification
错误对象,如3.0,没有MPMoviePlayerLoadStateDidChangeNotification
。因此,检测失败的负载以检查播放器的唯一方法是loadState
MPMovieLoadStateUnknown
MPMoviePlayerPlaybackDidFinishNotification
吗?
至少可以说这似乎违反直觉。
答案 0 :(得分:1)
注册MPMoviePlayerLoadStateDidChangeNotification
通知,然后查看loadState
的{{1}}媒体资源。