和视频播放有关的目录如下:
FFMpeg视频MetaData函数--av_dump_format()
AVPlayer播放器
FFMpeg 播放视频
直播秒开
由于MPMoviePlayerController的高度封装,导致定制界面基本不可能实现。iOS9.0之后AVFoundation框架中提供了AVPlayerViewController来替代MP,使用也是非常简单。
使用时导入2个头文件:

#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>

设置下资源路径Url和是否显示控制条就能快速的创建一个播放器了。

- (void)viewDidLoad
{[super viewDidLoad];// 设置资源路径NSString *path  = [[NSBundle mainBundle]  pathForResource:@"1" ofType:@"mp4"];NSURL *url = [NSURL fileURLWithPath:path];AVPlayer *avPlayer= [AVPlayer playerWithURL:url];// player的控制器对象AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init];// 控制器的player播放器playerViewController.player = avPlayer;// 试图的填充模式
/*

可以设置的值及意义如下:

AVLayerVideoGravityResizeAspect   不进行比例缩放 以宽高中长的一边充满为基准

AVLayerVideoGravityResizeAspectFill 不进行比例缩放 以宽高中短的一边充满为基准

AVLayerVideoGravityResize     进行缩放充满屏幕

*/

playerViewController.videoGravity = AVLayerVideoGravityResizeAspect; // 是否显示播放控制条 playerViewController.showsPlaybackControls = YES; // 设置显示的Frame playerViewController.view.frame = self.view.bounds; // 将播放器控制器添加到当前页面控制器中 [self addChildViewController:_playerViewController]; // view一定要添加,否则将不显示 [self.view addSubview:playerViewController.view]; // 播放 [playerViewController.player play]; }

效果如图所示

AVPlayer.png

AVPlayerViewController使用起来非常方便,但依然存在以下两个问题:

  • 支持的视频编码格式很有限:H.264、MPEG-4,扩展名(压缩格式):.mp4、.mov、.m4v、.m2v、.3gp、.3g2等,如果是RMVB就不行了,需要借助第三方的框架来实现更多格式的支持,如Kxmovie ,可以查看我另外一篇文章中的Kxmovie引用。
  • 实际开发中常常需要自定义界面,如点击按钮全屏播放,这时我们就需要使用AVPlayer自定义开发了,可以在我的另外一篇文章查看。

作者:Hardy_Hu
链接:https://www.jianshu.com/p/e3c6e0c77b9b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

视频播放AVPlayerViewController相关推荐

  1. iOS 音视频之网络视频播放AVPlayerViewController(iOS8.0+使用)

    1.视频播放新功能 iOS8.0之后新增了AVPlayerViewController,集成了AVPlayer iOS9.0之后增加了快进和后退功能,播放视频特别方便,再也不用复杂地封装AVPlaye ...

  2. iOS: ios视频播放(MPMediaPlayerController,AVPlayer,AVPlayerViewcontroller、ffmpeg-AVPlayer)...

    介绍: 和音频播放一样,ios也提供个很多的API.如mediaPlayer.framework下的MPMediaPlayerController.AVFounditon.framework下的AVP ...

  3. [iOS]-AVPlayerViewController实现视频播放

    AVKit从iOS8开始被引入iOS平台.针对iOS平台的AVKit是一个简单的标准框架-只包含一个AVPlayerViewController类.它是UIViewController的子类,用于展示 ...

  4. swift之视频播放AVKIT、AVPlayerViewController、音频录制和播放

    AVFoundation框架简介AVFoundation框架是iOS中专门处理音视频的框架,其中集成了音频播放以及处理和视频播放处理以及采集等功能(实现录制,编辑和播放音视频功能);以及配置音频会话更 ...

  5. 简单视频播放AVPlayer和AVPlayerViewController

    NSURL *url = [NSURL URLWithString:@"http://flv3.bn.netease.com/videolib3/1712/13/ouwHf3421/SD/o ...

  6. iOS 视频播放实现:AVPlayerViewController

    直接上代码 - (void)viewDidLoad { [super viewDidLoad]; [self.view addSubview:self.moviePlayer.view]; [self ...

  7. ios nslinkattributename 自定义url_iOS音视频播放指南(二)

    没看第一篇的小伙伴可以先看第一篇 wlzz:iOS音视频播放指南(一)​zhuanlan.zhihu.com 本章主要内容 画中画支持 后台音频播放,锁屏界面显示,远程音频控制 在耳机插拔.接听电话等 ...

  8. iOS之AVPlayerViewController的使用oc

    iOS之AVPlayerViewController的使用oc // // ViewController.m // AVPlayer01-oc // // Created by 鲁军 on 2021/ ...

  9. iOS视频播放的基本方法

    本文总结了iOS中最常见的视频播放方法,不同的方法都各具特点,我希望能够总结它们的不同,方便在开发中选择合适的技术方案. Apple为我们提供了多种方法来实现视频播放,包括MPMoviePlayerC ...

最新文章

  1. sklearn.feature_extraction.text.CountVectorizer 学习
  2. android吸附菜单,Android仿微博、人人Feed详情页吸附导航栏
  3. svn添加用户.sh
  4. linux烧录文件的格式,制作emmc 烧录文件
  5. 使用Flash彻底美化你的程序
  6. 华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”
  7. Spring Cloud 服务注册与发现 [ eureka ]
  8. linux 运行 级别(转)
  9. thinkphp ajax 无刷新分页效果的实现
  10. 15-struct(构造函数,重载)
  11. python learning2.py
  12. 如何动态确认每个输入的值都符合设定域
  13. declspec(dllexport)和declspec(dllexport)的实际应用
  14. 递归二叉树的序列打印
  15. 【业务安全-04】万能用户名及万能密码实验
  16. 上海往事之2015-07股市风云录
  17. BK06-部署蓝鲸智云社区版5.1-遇到的坑和解决方案
  18. ireport 5.6.0的常见使用及开发报表中经常遇到的问题总结
  19. 微软自带杀毒软件Security Essentials占电脑内存很小 推荐使用可以安装下载
  20. Mac无法写入移动硬盘

热门文章

  1. 互联网业英汉对照词汇
  2. qt实战技巧-数据可视化之COMTRATE格式解析(一)
  3. mysql 表如何分区数据恢复,如何从格式化的分区中恢复数据-万兴恢复专家
  4. 62道经典 iOS面试题
  5. mysql 查找具体sql执行性能
  6. 如何用excel批量新建文件夹并命名?
  7. golang的goroutine调度模型
  8. 人脸识别相比较其他生物识别技术,人脸识别主要有什么优缺点
  9. sunday算法特征码_C++ sunday算法 极速定位指定进程内存特征码!
  10. Mali GPU“补丁缺口”让 Android 用户容易受到攻击