iOS中在线播放视频主要有三种方式,分别为web view,MPMoviePlayer和AVPlayer。
在此主要简易地介绍AVPlayer的用法
1 导入头文件AVFoundation.h
2 声明AVPlayerItem:AVPlayerItem* avPlayerItem = [AVPlayerItem playerItemWithURL:xxxurl];
3 声明AVPlayer并从Item中取出 :AVPlayer* avPlayer = [AVPlayer playerwithPlayerItem:avPlayerItem];
4 把AVPlayer加入视图视图player中
5 调用AVPlayer代理play 或 stop 进行播放或暂停
如此便可直接播放在线视频 当然上述只是运用了AVPlayer API中最基础的部分
当然如此简捷的方式中必然存在部分bug 例如卡顿停播等原因 此时便可通过监听状态来解决
1 可用kvo方式来监听两个属性 其分别用status和loadedTimeRanges,简述作用分别为视频状态和加载进度,具体不一一阐述可阅读API理解。除此外还有另外两个"不常用"的属性,就不一一列举。
2 使用通知来获取当前Item六个状态,其中常用的分别用AVPlayerItemDidPlayToEndTimeNotification AVPlayerItemFailedToPlayToEndTimeNotification AVPlayerItemPlaybackStalledNotification 通过命名也非常容易理解
3 kvo和通知的用法就不一一列举 也很容易找到
如上 基本满足不是特别奇葩的不知名格式视频的在线播放 当然AVPlayer功能并不止如此 如不满足也可深入探究