在线视频播放App的实现

前一段时间在公司项目上做了一个视频播放的功能,当时时间紧,做完之后感觉有些地方处理的不好,所以就基于当时实现的思路进行了一些改进,加上自己平时喜欢看新闻客户端里面的一些短视频,所以就用网易等客户端的视频数据完成了一个独立的视频播放APP,顺便巩固下其他的技术。

主要使用的开源库

Mosby(一个MVP框架)、RxJava、Retrofit2、ButterKnife、Glide、Systembartint、TigerDB、Material Design相关控件

主要功能

  1. 列表中播放视频
  2. 列表滑动时如果正在播放视频,则列表中播放的视频自动切换为小窗口浮动播放
  3. 列表播放切换到全屏播放模式
  4. 视频播放时也添加了完整的暂停、播放等控制操作,也添加了视频播放进度,视频缓冲进度等显示功能
  5. 视频全屏播放时支持左右滑动实现视频的快进和后退,支持右边上下滑动调整播放音量,左边上下滑动调整播放器的亮度等手势控制操作

播放器

  1. 播放器采用Android中自带的TextureView + MediaPlayer实现,同时视频播放过程中因为涉及到列表、小窗口、全屏续播等问题,所以整个视频播放过程中,播放器采用的是全局单例模式实现,这样就可以达到无缝切换续播的问题
  2. 切换到全屏播放时,是直接重新开启一个横向的Activity来实现全屏播放

APP实现效果图






github地址

猛戳这里

感兴趣的朋友欢迎去我的githubstarfork


原创文章,本文采用知识共享署名 2.5(中国大陆许可协议)进行许可,欢迎转载,但转载请注明来自ittiger.cn,并保证转载后文章内容的完整性。本人(laohu)保留所有版权相关权利。



评论