旧工程适配iOS6和iPhone5续之MPMoviePlayerController

好吧,都一个多月了,还在继续这个适配iOS6的问题,你说系统做成这样,某些人不离职成不?大人的事儿,咱就不管了,咱还是继续苦逼的解决问题吧。
最近好多用户,反映视频看过一次没看完,再次观看的时候不能继续从上次未看完的地方接着看。第一反应肯定不存在这样的问题,拿手机试了,确实没问题,但是这么多用户反应了,仔细分析了一下,发现这些人都是iOS6的系统,而且是系统问题?模拟器iOS5跑了一下,没问题,iOS6上一试,哇塞,还真不成!
ok,搜索半天发现,只要加了iOS6这个关键字,一点相关的内容都出不来。我还是自已总结症状和解决办法吧:
症状:
iOS6上,通过MPMoviePlayerController播放视频,第一次的时候,可以通过setInitialPlaybackTime设置开始播放时间,但是播放第二个视频的时候,就真心不好使了,而且通过输出日志,发现initialPlaybackTime竟然是设置了时间的,表示无语一个。
解决办法:
判断是iOS6及以上的系统,然后在开始播放以后,再设置一次播放时间:

[NNCDC addObserverForName:MPMoviePlayerLoadStateDidChangeNotification
                   object:nil queue:[NSOperationQueue mainQueue]
               usingBlock:^(NSNotification *note) {
                 if (IOSSystemVersion >= 6.0) {
                   if (moviePlayerView.moviePlayer.playbackState == MPMoviePlaybackStatePlaying) {
                     [moviePlayerView.moviePlayer setCurrentPlaybackTime:initialPlaybackTime];
                   }
                 }
               }];

然后就可以了,囧一个~

相关文章:
关于iOS6模拟器两个新发现
旧工程适配iOS6和iPhone5续之第三方静态库
旧工程适配iOS6和iPhone5续之UIActivityIndicatorView
关于iOS模拟器没有Home键的一些新认识


相关博文

    分享到:

About rainbird

IOS攻城狮
This entry was posted in iPhone and tagged , , , , . Bookmark the permalink.

2 Responses to 旧工程适配iOS6和iPhone5续之MPMoviePlayerController

  1. yanw says:

    还发现一个蛋疼问题,MPMoviePlayerController 点击全屏之后然后点down按钮退出全屏的时候ios5是会暂停下来的,但是在ios6下居然会重新开始从头播放视频。楼主不知道有没有解决办法。看过楼主的屏蔽全屏的方法,不过楼主的“关于MPMoviePlayerController禁用缩放和点击http://blog.cnrainbird.com/index.php/2013/02/18/guan_yu_mpmovieplayercontroller_jin_yong_suo_fang_he_dian_ji/”这个方法我试了,在ios6下面也不会起作用,而且会导致整个页面没响应。

发表评论