Android开发:视频播放横竖屏切换回忆笔记

本文介绍了在Android客户端使用原生MediaPlayer+SurfaceView实现视频播放时,如何平滑地进行横竖屏切换,避免切换布局导致的视频重载问题。通过控制底部控件的可见性,处理横竖屏切换时的Activity生命周期和视频尺寸调整,实现了良好的用户体验。
摘要由CSDN通过智能技术生成

前言

话说这个功能还是两年多前做的,当时博客草稿箱留了这篇博客标题,已经很久了,但是到现在,依旧没有在网上看到一些相关的博客介绍,可能是太简单了?今整理博客,在这将自己的回忆记录成此,如有纰漏,还望斧正。

本文作者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实现直接横屏的全屏播放。当时脑子进了死胡同,忘记

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值