使用其中一个叫 videoGravity 的属性,默认设置了AVLayerVideoGravityResize,查看该属性以及相关的其他属性值发现有3种值可以设置,

AVLayerVideoGravityResizeAspect

AVLayerVideoGravityResizeAspectFill

AVLayerVideoGravityResize

逐一试用后发现了其中的一些不同,在这里分享一下,可能我说的不太标准,只是个人的一些理解。

开始把描述放到百度翻译上去翻译了一下,

1.Preserve aspect ratio; fit within layer bounds
2.Preserve aspect ratio; fill layer bounds
3.Stretch to fill layer bounds

解释是

1.保持纵横比;适合层范围内
2.保持纵横比;填充层边界
3.拉伸填充层边界

再看我分别设置了

1. wmPlayer.playerLayer.videoGravity =AVLayerVideoGravityResizeAspect

2. wmPlayer.playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill

3. wmPlayer.playerLayer.videoGravity = AVLayerVideoGravityResize

第1种模式AVLayerVideoGravityResizeAspect是按原视频比例显示,是竖屏的就显示出竖屏的,两边留黑;

第2种AVLayerVideoGravityResizeAspectFill是以原比例拉伸视频,直到两边屏幕都占满,但视频内容有部分就被切割了;

第3种AVLayerVideoGravityResize是拉伸视频内容达到边框占满,但不按原比例拉伸,这里明显可以看出宽度被拉伸了。

有点像UIImageView的ContentMode设置,这里是个人对这个属性值得一些理解,有不足还请包涵。

[绍棠] iOS视频播放AVPlayer的视频内容拉伸设置相关推荐

  1. iOS 视频播放 - AVPlayer

    iOS实现视频播放,原生代码播放视频更多的使用AVPlayer和AVPlayerViewController进行播放. 其中, AVPlayer不能单独进行播放,仅使用AVPLayer的话,还需要将其 ...

  2. iOS 视频播放(AVPlayer)

    文章目录一.AVPlayer1.简介2.视频播放的解决方案二.AVPlayer中的MVC1.v层 :AVPlayerLayer2.m层 :AVPlayerItem3.c层 :AVPlayer三.实现简 ...

  3. [绍棠] iOS文件目录和文件操作 及NSFileManager的读写操作

    1.理解部分 1.1文件 <1>文件管理类NSFileManager 2.对文件进行管理操作 a.遍历查看目录下的文件 [深度遍历] [浅度遍历] b.创建文件/目录 c.拷贝文件/目录 ...

  4. [绍棠] iOS不错的框架

    入门 Road Map iOS– 开发 iOS 应用从今天开始,苹果指南.★ Lifehacker– 我想写一个 iOS 应用,该从哪里开始? Codeproject– 入门 iPhone 和 iOS ...

  5. [绍棠] iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件) 以及 iOS App与iTunes文件传输的方法和对iOS App文件结构的说明

    就像很多iOS上面的播放器App一样,本文编写一个程序可以通过iTunes往里面放文件,比如编写一个视频播放器程序,通过itune往里面放视频文件,然后通过这个App来播放这个视频.下面是通过iTun ...

  6. [绍棠] iOS开发经验总结

    一. iPhone Size 手机型号 屏幕尺寸 iPhone 4 4s 320 * 480 iPhone 5 5s 320 * 568 iPhone 6 6s 375 * 667 iphone 6 ...

  7. iOS 视频播放(AVPlayer、MPMoviePlayerController、MPMoviePlayerViewController 区别)

    //联系人:石虎  QQ: 1224614774昵称:嗡嘛呢叭咪哄 一.AVPlayer介绍  1.能播放本地.远程的音频.视频文件 2.基于Layer显示,得自己去编写控制面板 3.AVPlayer ...

  8. iOS 视频播放 AVPlayer 循环播放 闪屏

    问题终于解决,选用AVPlayer,重置一下AVPlayerItem就不会出现闪屏现象,注册一个通知同样可以实现循环播放,而且AVPlayer可以自定义播放样式,给了我们更大的发挥空间,完全可以自己D ...

  9. [绍棠] iOS开发中正则表达式的基础使用

    正则表达式?什么是正则表达式? 百度百科给出的解释是这样的:正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串. 根据我的学习,我理解的正则表达式是:一个字符串,这个字符串用来描述我们 ...

最新文章

  1. python--安装PIL
  2. 【性能优化】纳尼?内存又溢出了?!是时候总结一波了!!
  3. 【Google Play】IARC 年龄分级 ( IARC 国际年龄分级联盟 | Google Play 设置应用年龄分级 )
  4. java设计模式之委派模式
  5. SAP Cloud for Customer和Hybris Commerce的session保护机制
  6. jq判断html加载完成,jquery – 检测页面是否已完成加载
  7. windows server 安装php环境
  8. Android Lint 代码检查工具的使用
  9. 【5G核心网】 GTP协议
  10. COM ---- Inside COM Note
  11. 华为android10手机指纹,华为P10这些指纹功能你知道几个?
  12. 干货|TTL电路详细讲解,工作原理+电路图,图文结合,轻松搞定
  13. Redis主从搭建(哨兵模式),springboot整合redis主从
  14. [转载]中国最致命的薄弱环节!(一个机械类毕业生的心声)
  15. 小数除法用计算机探索规律教学反思,小数除法教学反思
  16. 【spark】RDD容错机制Checkpoint
  17. pdf怎么提取页面?可以试试这些方法
  18. 使用VM15创建虚拟机并安装CentOS 7 连接不到网络解决方法(设置静态ip)
  19. Windbg使用说明书
  20. 基于labelme创建自己的仿cityscapes的训练数据集(视频转图片训练集)

热门文章

  1. 保健养生不容错过这一菜王--笋
  2. 计算机考研自我介绍大概多少字,1分钟自我介绍大概多少字
  3. 计算机组成原理笔记(王道考研) 第二章:数据的表示和运算2
  4. 传智播客软件测试学习视频汇总:
  5. 数字信号处理FFT快速傅立叶变换MATLAB实现——实例
  6. 通俗科普:弦论要求空间必须是25维的解释
  7. 贝尔曼算法队列优化(SPFA)
  8. jetson-inferenc显示fatal error: connect_parts.hpp
  9. 计算机视觉作业(二)Local Feature Matching
  10. 用字节数组存放二维地图数据