Android音视频开发之如何全屏显示视频且不拉伸?
Posted 刘兆贤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android音视频开发之如何全屏显示视频且不拉伸?相关的知识,希望对你有一定的参考价值。
本文来自刘兆贤的博客_CSDN博客-Java高级,Android旅行,Android基础领域博主 ,引用必须注明出处!
在考虑这个问题的,优先想到了ffmpeg,将视频剪切后再显示在屏幕上。但前提条件是,提供本地资源或者网络链接,开始播放时无卡顿,所以ffmpeg被直接pass。
接下来,还有哪些好方法呢?视频要全屏,要么适配屏幕宽度(screenWidth/videoWidth),要么适配屏幕高度,就看哪个比例大,就以哪个为准,进行视频拉伸。
我们会发现一个问题,即使拉伸后,MediaPlayer还是会自动适配,以合适的比例显示在屏幕上,即无法铺满全屏。
那么如何解决这个问题呢?
对的,我们让视频显示到屏幕以外,这样多余的部分是不可见的,那不就满足需求了!
实施的核心如下:
public class VideoLoopPlayer extends FrameLayout
private SurfaceView mSurfaceView;
private MediaPlayer mMediaPlayer;
private AssetFileDescriptor mAssetFileDescriptor;
private String mDataSource;
public VideoLoopPlayer(@NonNull Context context)
以上是关于Android音视频开发之如何全屏显示视频且不拉伸?的主要内容,如果未能解决你的问题,请参考以下文章