iOS 播放视频使用MediaPlayer.framework中的MPMoviePlayerController类完成,这个支持本地播放和网络播放。
MPMoviePlayerController消息是通过通知中心来交换的。
MPMoviePlayerController除了一般的视频播放和控制外还有一些强大的功能,例如截取视频缩略图。请求视频缩略图时只要调用- (void)requestThumbnailImagesAtTimes:(NSArray *)playbackTimes timeOption:(MPMovieTimeOption)option方法指定获得缩略图的时间点,然后监控MPMoviePlayerThumbnailImageRequestDidFinishNotification通知,每个时间点的缩略图请求完成就会调用通知,在通知调用方法中可以通过MPMoviePlayerThumbnailImageKey获得UIImage对象处理即可。
如果想自定义视频播放器使用MPMoviePlayerController可能就不太合适,由于MPMoviePlayerController高度封装使得自定义难度提高。
自定义视频播放器推荐使用AVPlayer,它更加接近于底层,所以灵活性也更强
AVPlayer本身并不能显示视频,想要显示视频必须创建播放器层AVPlayerLayer
AVPlayer通常情况下可以通过判断播放器的播放速度来获得播放状态,它没有播放状态属性
AVPlayer提供了一个视频切换的强大功能