视频显示边缘空白的真相

         在多媒体开发过程中,难免会使用到video这一类型。但一直有部分开发者或产品人员总提出 “视频画面没有充满”其给定的窗口,其原因在于对视频不了解,想当然的去认为要“充满”。被问到此问题只能苦笑一声,哭笑不得。

         先看下几个效果:

  1.          左右空白       显示窗口320*240 ,视频分辨率720*576
  2.          上下空白       显示窗口320*240 ,视频分辨率1280*720
  3.          上下左右空白  显示窗口320*240,视频分辨率240*180 ,这种很少见或没见过吧。
看了上面3个图,是否想到了什么?没想到继续看下面:
第1、2都是正常的显示样子,由于窗口和画面长宽比例比一致,留空白是为了保持画面比例,“适应窗口”显示,如何适应,一句话:总有一边充满就对了。此时和原有的画面比例是一直的。此时如要完全充满,那就是拉伸的,后果就是变宽(1)或变长(2);        举个例子,如果视频显示的是一个人,第一种全部充满后脸会变胖 (宽),第二种全部充满后脸会变长(竖直方向)。至于第三种窗口和画面长宽比刚好相等,都是4:3,因此刚好能填充窗口而不变形,但由于放大到窗口大小,实际效果可能会变模糊,但一般都会充满,这也是很少或没有见过第三种显示方式的原因。
此外,由于平台的不同以及产品设计不同,不论是适应宽还是高,渲染的时候都有不同程度的缩放,可能是放大,也可能是缩小,看起来画面比例是一样的就是正确的。当然,有的产品设计不计较变形问题就要充满窗口,这就需要渲染有模式可选。
Gensee Android sdk的GSVideoView 根据用户的不同需求,提供了如下接口:setRenderMode(RenderMode renderMode) 
        
public enum RenderMode {RM_FILL_XY,                    //填充窗口(画面比失调)RM_ADPT_XY,                    //适应窗口(窗口可能会有边缘空白)RM_CENTER,RM_FILL_CENTER_CROP  //以小边放大或缩小 并裁剪后充满窗口(一般用于手机全屏直播)}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

word公式编辑器_毕业论文里面的各种公式该如何编辑

毕业论文中很多专业都会需要书写很多公式,而对于对Word使用不够熟练的朋友肯定会在编辑公式上很苦恼了,Word自带的公式编辑器又不够方便,本节给大家介绍一种很方便的公式编辑方法,而且更改公式后公式序号会自动跟着变。安装好后打…

Gensee移动SDK之(二)协议

首先,对于协议而言,有标准的,也有私有的,就看具体使用场景的修饰与更改情况了。部分朋友在接触SDK的时候会提出此疑问,只能说“各怀鬼胎”。第一,即便我们告知我们使用的协议,该用sdk的时候&…

vs点击方法跳不到对于的地方_内脏脂肪怎么测?这个方法也太方便了!| EASD 2020...

我马上开始减肥还不行么?秋天——丰收的日子,看着肥美的鱼蟹,软糯的栗蓉,甜美的桂花糕,不认真贴秋膘都对不起这么丰盛的美食!等等,别想了,看看肚子上层层叠起的肥肉,量量…

Android DDMS的打开以及查看手机页面布局层次

ddms 查看android的界面布局层次 有时候看到一个比较好的界面或体验好的界面,就忍不住想看看其实现结果,那么可以通过DDMS工具来看相连设备层次以及使用哪些view。 上图是查看微信布局展现。说明,这里查看的就是显示在当前屏幕上的界面&am…

fft之后求模值和相位_如何利用相位噪声测量表征时钟抖动来加速设计验证过程...

随着数据速率的提高,时钟抖动分析的需求也在与日俱增。在高速串行数据链路中,时钟抖动会影响发射机、传输线和接收机的数据抖动。时钟质量保证的测量方法也在不断发展。目前的重点是针对比特误码率(BER) 建立时钟性能和系统性能之间的直接联系。今天我们…

Android Studio 内存不足

android studio 4.2.2 编译的项目的时候,出现的内存不足问题,实际上android studio会有引导设置内存大小,可能都不太在意在哪个地方,设置完就完事了,在不提示的情况下可能找不到在哪设置,在此记录一笔。 出…

监控mysql锁定状态_企业实战Mysql不停机维护主从同步

实战环境:Mysql-5.7Xtrabackup-2.4Xtrabackup 介绍:Percona XtraBackup是一款基于MySQL的服务器的开源热备份实用程序,在备份过程中不会锁定数据库。它可以备份来自MySQL5.1,5.5,5.6和5.7服务器上的InnoDB,…

三相四线怎样查漏电_老电工支招!漏电保护器的接线方法

家居装修中,电路问题是比较重要的,尤其是现在家居中使用的电器越来越多,所以漏电保护器是一定要的,能有很好的保护作用,那漏电保护器接线图是怎样的呢,漏电保护器接线方法以及注意事项有哪些,快…

vc 通过句柄修改窗口大小_漫画:对象是如何被找到的?句柄 OR 直接指针?

小贴士:想要使用并定位 Java 对象,就要用到 Java 虚拟机栈(Java Virtual Machine Stack),它描述的是 Java 方法执行的线程内存模型:每个方法被执行的时候,Java 虚拟机都会同步创建一个栈帧&…

数据结构快速掌握和温习-面试神器

由于原文有部分文字没有显示,本文有所修改。主要包括文字和缩进。 目录 Q1:数据结构和算法的知识点整理: Q2:链表,队列和栈的区别 Q3:简述快速排序过程 Q4:快速排序算法的原理 Q5:简…

work节点使用外部包_AFLSmart工具简单分析及使用介绍

AFLSmart 是一个在 AFL 基础上,结合了 Peach 的结构化输入组件的灰盒 smart fuzz 工具。AFLSmart 链接:https://github.com/aflsmart/aflsmart参考资料:《Smart Greybox Fuzzing》什么是 AFLSmart灰盒 smart fuzz灰盒测试是基于程序运行时刻的…

Android日志[基础篇]二 Android Studio修改LogCat日志的颜色

上一篇提到Android日志的5个级别的日志输出,在logcat里面设置自己喜欢或习惯的颜色,本文不只讲Android Sudio修改logcat的日志颜色。 代码和效果 代码 private void logColor(){Log.v(TAG,"logColor verbose");Log.d(TAG,"logColor de…

readfile函数使用方法_1分钟学会LOOKUP函数,有网友说使用这个方法,初学者秒变大神...

Hi,大家好,本专栏将会从零开始和大家用图文的方式,30天让你从不会到熟练使用函数,0基础开始学习Excel函数,让你喜欢上它!有兴趣的小伙伴可以持续关注我,或者在专栏进行查看学习,愿与…

背景图层和普通图层的区别_图层样式(一)—高级混合选项

一、图层顺序为了便于说明,首先建立例子,新建图层,用画笔随便画个圈,新建蒙版随便画一笔,然后把所有图层样式加给它。可以看到样式从上到下的顺序,这也是它们混合的图层顺序。图层顺序我的效果,…

Android9.0 http网络请求失败问题的处理

目录处理方法(任意一种):APP改用https请求targetSdkVersion 降到27以下配置network-security-config(推荐)原因出错案例处理方法(任意一种): APP改用https请求 这种方式是最佳方法,需要前后端协调,后端得…

代码里无图片地址_项目实战:爬高清图片

↑ 关注 星标 ,后台回复【大礼包】送你2TPython自学资料好消息:Python学习交流群,已经建立,猛戳加入之前我发过一些爬虫的文章,不过一直没发过爬取图片的,今天就给大家分享一篇吧!/1 前言/上篇…

Android TextView通过SpannableString设置字体、大小、颜色、样式、超级链接

代码应该都能看明白 public class MainActivity extends ActionBarActivity {private TextView tv, tv2;private SpannableString sStr, sStr2;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.act…

winform项目_winform项目——仿QQ即时通讯程序01:原理及项目分析

即时通讯程序,腾讯QQ可以说是一家独大,虽然市场上仍然有类似QQ的即时通讯程序,但是基本上面向的对象都是特定人群。那么,现在做一个即时通讯的软件还有意义吗?在我看来,意义非常大。作为一个学习编程的人&a…

Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈)

Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Android日志[进阶篇]四-获取错误报告 Android日志[进阶篇]五-阅读错误报告 目录调试中的堆栈轨迹从外部来源打开堆栈轨迹监控剪…

Android日志[进阶篇]一-使用 Logcat 写入和查看日志

Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Android日志[进阶篇]四-获取错误报告 Android日志[进阶篇]五-阅读错误报告 目录查看应用日志写入日志消息Logcat 消息格式设置…