MPMoviePlayerController在线播放问题

苹果发布iOS 9系统之后已经弃用MPMoviePlayerController,在此讨论并无多大意义,但是我们的项目目前还没有迁移到AVKit框架,为了兼容iOS 7和iOS 8,仍然使用MPMoviePlayerController播放视频。在此对遇到的问题做一个记录:

1、在线播放视频崩溃问题

播放在线视频时出现概率崩溃,堆栈信息如下:

MPMoviePlayerController在线播放问题_第1张图片
在stack overflow上找到问题的解决办法, 链接在此

官方文档中关于movieSourceType的描述:
The default value of this property is MPMovieSourceTypeUnknown
. This property provides a clue to the playback system as to how it should download and buffer the movie content. If you know the source type of the movie, setting the value of this property before playback begins can improve the load times for the movie content. If you do not set the source type explicitly before playback, the movie player controller must gather this information, which might delay playback.
崩溃代码中未设置movieSourceType,个人推测可能是因为当播放器从网络加载视频的时候,因为网络原因数据传输不完成,播放器将movieSourceType推测为某一种类型,而当开始播放时,视频流却并不是播放器先前推测的类型,于是出现崩溃。

2、视频不显示,声音继续播放的问题

放播放器的方向为UIInterfaceOrientationMaskLandscape,从播放器界面弹出方向为UIInterfaceOrientationMaskPortrait的视图控制器,再从该视图控制器返回播放界面后,播放器视频不显示,但声音可以继续
由于屏幕方向旋转会引起播放器视图重新布局,当回到播放器之后,需要重新设置moviePlayer.view的Frame。

你可能感兴趣的:(MPMoviePlayerController在线播放问题)