前言
话说这个功能还是两年多前做的,当时博客草稿箱留了这篇博客标题,已经很久了,但是到现在,依旧没有在网上看到一些相关的博客介绍,可能是太简单了?今整理博客,在这将自己的回忆记录成此,如有纰漏,还望斧正。
本文作者MichaelX,博客地址:http://blog.csdn.net/xiong_it,转载请注明出处。
需求
Android客户端视频播放,实现横屏竖屏切换播放。
正常竖屏播放简略图如下
横屏之后播放区域变为全屏,并且视频播放不中断。
实现过程
在那个ijkplayer还没开源,Vitamio授权收费的时候,笔者选择使用原生MediaPlayer+SurfaceView的方案进行视频播放。
刚开始想的时候是竖屏用一个layout,就是如上图所示的布局,而横屏用一个layout,其中只有一个Surfaceview。即该播放activity有2个layout文件夹:layout-port,layout-landscape。事实证明这个方案不是很好,因为切换layout意味着surface被销毁重建,视频进度需要重新加载缓冲,诸多事件需要重新处理,实现起来不是很好,体验也很差。
然后就想着能不能不切换layout实现直接横屏的全屏播放。当时脑子进了死胡同,忘记