[绍棠] iOS视频播放AVPlayer的视频内容拉伸设置
使用其中一个叫 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的视频内容拉伸设置相关推荐
- iOS 视频播放 - AVPlayer
iOS实现视频播放,原生代码播放视频更多的使用AVPlayer和AVPlayerViewController进行播放. 其中, AVPlayer不能单独进行播放,仅使用AVPLayer的话,还需要将其 ...
- iOS 视频播放(AVPlayer)
文章目录一.AVPlayer1.简介2.视频播放的解决方案二.AVPlayer中的MVC1.v层 :AVPlayerLayer2.m层 :AVPlayerItem3.c层 :AVPlayer三.实现简 ...
- [绍棠] iOS文件目录和文件操作 及NSFileManager的读写操作
1.理解部分 1.1文件 <1>文件管理类NSFileManager 2.对文件进行管理操作 a.遍历查看目录下的文件 [深度遍历] [浅度遍历] b.创建文件/目录 c.拷贝文件/目录 ...
- [绍棠] iOS不错的框架
入门 Road Map iOS– 开发 iOS 应用从今天开始,苹果指南.★ Lifehacker– 我想写一个 iOS 应用,该从哪里开始? Codeproject– 入门 iPhone 和 iOS ...
- [绍棠] iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件) 以及 iOS App与iTunes文件传输的方法和对iOS App文件结构的说明
就像很多iOS上面的播放器App一样,本文编写一个程序可以通过iTunes往里面放文件,比如编写一个视频播放器程序,通过itune往里面放视频文件,然后通过这个App来播放这个视频.下面是通过iTun ...
- [绍棠] iOS开发经验总结
一. iPhone Size 手机型号 屏幕尺寸 iPhone 4 4s 320 * 480 iPhone 5 5s 320 * 568 iPhone 6 6s 375 * 667 iphone 6 ...
- iOS 视频播放(AVPlayer、MPMoviePlayerController、MPMoviePlayerViewController 区别)
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄 一.AVPlayer介绍 1.能播放本地.远程的音频.视频文件 2.基于Layer显示,得自己去编写控制面板 3.AVPlayer ...
- iOS 视频播放 AVPlayer 循环播放 闪屏
问题终于解决,选用AVPlayer,重置一下AVPlayerItem就不会出现闪屏现象,注册一个通知同样可以实现循环播放,而且AVPlayer可以自定义播放样式,给了我们更大的发挥空间,完全可以自己D ...
- [绍棠] iOS开发中正则表达式的基础使用
正则表达式?什么是正则表达式? 百度百科给出的解释是这样的:正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串. 根据我的学习,我理解的正则表达式是:一个字符串,这个字符串用来描述我们 ...
最新文章
- python--安装PIL
- 【性能优化】纳尼?内存又溢出了?!是时候总结一波了!!
- 【Google Play】IARC 年龄分级 ( IARC 国际年龄分级联盟 | Google Play 设置应用年龄分级 )
- java设计模式之委派模式
- SAP Cloud for Customer和Hybris Commerce的session保护机制
- jq判断html加载完成,jquery – 检测页面是否已完成加载
- windows server 安装php环境
- Android Lint 代码检查工具的使用
- 【5G核心网】 GTP协议
- COM ---- Inside COM Note
- 华为android10手机指纹,华为P10这些指纹功能你知道几个?
- 干货|TTL电路详细讲解,工作原理+电路图,图文结合,轻松搞定
- Redis主从搭建(哨兵模式),springboot整合redis主从
- [转载]中国最致命的薄弱环节!(一个机械类毕业生的心声)
- 小数除法用计算机探索规律教学反思,小数除法教学反思
- 【spark】RDD容错机制Checkpoint
- pdf怎么提取页面?可以试试这些方法
- 使用VM15创建虚拟机并安装CentOS 7 连接不到网络解决方法(设置静态ip)
- Windbg使用说明书
- 基于labelme创建自己的仿cityscapes的训练数据集(视频转图片训练集)