iOS系统 两种处理视频的框架 1.
<MediaPlayer/MediaPlayer.h>
2.<AVFoundation/AVFoundation.h>
在iOS中播放视频,可以使用MPMoviePlayerController
类来完成,该类具备一般的播放器控制功能,例如播放、暂停、停止等。但是其自身并不是一个完整的视频的视图控制器,而是继承于NSObject
的一个对象。如果要在UI中展现视频需将其view属性
添加到界面中。
![](PSVideoPlayer/PSPng/屏幕快照 2016-09-05 下午2.28.46.png)
MPMoviePlayerViewController
继承于UIViewController
,默认是全屏模式展示、弹出后自动播放、作为模态窗口展示时,如果点击“Done”按钮会自动退出模态窗口等。
![](PSVideoPlayer/PSPng/屏幕快照 2016-09-05 下午2.28.08.png)
AVPlayer
本身并不能显示视频,而且它也不像MPMoviePlayerController
有一个view的属性。如果AVPlayer
要显示必须创建一个播放器层AVPlayerLayer
用于展示,播放器层继承于CALayer
,有了AVPlayerLayer之添加到控制器视图的layer中即可。
![](PSVideoPlayer/PSPng/屏幕快照 2016-09-05 下午2.25.50.png)
注:如果需要自定义播放器的样式,可以选择MPMoviePlayerController
和AVPlayer
进行拓展,在此很显然MPMoviePlayerViewController
已经不是适合使用了。但对于更好的选择,建议使用 AVPlayer
,可以更好的兼容以及满足需求,毕竟在 "iOS系统9.0"之后MPMoviePlayerController
已然弃用了。
但是无论是MPMoviePlayerController
还是AVPlayer
支持的视频编码格式很有限:H.264、MPEG-4,扩展名(压缩格式):.mp4、.mov、.m4v、.m2v、.3gp、.3g2
等。
使用
MPMoviePlayerController
和AVPlayer
这两种不同方式对视频播放器自定义样式的实现。同时结合现在iOS app开发过程中比较常见的两种UI模式 :1. 单独视频显示 ; 2. 和UITableView 列表的结合
####功能:
- 播放器功能: 播放 ,暂停,快进,后退。
- 功能拓展: 全屏显示,原屏显示,亮度调节,音量调节,锁屏,收藏等
####播放器:
![](PSVideoPlayer/PSPng/屏幕快照 2016-09-05 下午2.51.20.png)
![](PSVideoPlayer/PSPng/屏幕快照 2016-09-05 下午2.53.45.png)
![](PSVideoPlayer/PSPng/屏幕快照 2016-09-05 下午2.55.23.png)
![](PSVideoPlayer/PSPng/屏幕快照 2016-09-05 下午2.57.11.png) ![](PSVideoPlayer/PSPng/屏幕快照 2016-09-05 下午2.57.27.png)