Android音视频开发播放器总结

本文针对Android开发中的音视频播放器,做个小结,方便大家在项目中根据需要做个参考。
开源的播放器比较多,本文只针对以下三种常用的做进一步总结。

  1. android-UniversalMusicPlayer

    github上目前start 10K多,Google的官方播放器,demo展示了如何去开发一款音频媒体应用,该应用可跨多种外接设备使用,并为Android手机,平板电脑,Android Auto,Android Wear,Android TV和Google Cast设备提供一致的用户体验。
    手机端效果
    TV端效果

源码解读:Android 解读开源项目UniversalMusicPlayer
2.JieCaoVideoPlayer
github上star目前为止有:7.3k多,是一款视频开源框架,而且有中文文档说明。

主要特点
可以完全自定义UI和任何功能
一行代码切换播放引擎,支持的视频格式和协议取决于播放引擎,android.media.MediaPlayer ijkplayer
完美检测列表滑动
可实现全屏播放,小窗播放
能在ListView、ViewPager和ListView、ViewPager和Fragment等多重嵌套模式下全屏工作
可以在加载、暂停、播放等各种状态中正常进入全屏和退出全屏
多种视频适配屏幕的方式,可铺满全屏,可以全屏剪裁
重力感应自动进入全屏
全屏后手势修改进度和音量
Home键退出界面暂停播放,返回界面继续播放
WebView嵌套本地视频控件
demo中添加视频缓存的例子
这里写图片描述

源码解读:Android JiaoZiVideoPlayer源码分析

3.GSYVideoPlayer
github上star目前为止有:6.7k多,是一款基于IJKPlayer(兼容系统MediaPlayer与EXOPlayer2),实现了多功能的视频播放器。主 要功能如下:

类型 功能
缓存 边播边缓存,使用了AndroidVideoCache;ExoPlayer使用SimpleCache。
协议 h263\4\5、Https、concat、rtsp、hls、rtmp、crypto、mpeg等等。(ijk模式格式支持)
滤镜 简单滤镜(马赛克、黑白、色彩过滤、高斯、模糊、模糊等等20多种)、动画、(水印、画面多重播放等)。
帧图 视频第一帧、视频帧截图功能,视频生成gif功能。
播放 列表播放、列表连续播放、重力旋转与手动旋转、视频本身rotation旋转属性、快播和慢播、网络视频加载速度。
画面 调整显示比例:默认、16:9、4:3、填充;播放时旋转画面角度(0,90,180,270);镜像旋转。
内核 IJKPlayer、EXOPlayer、MediaPlayer切换、自定义内核
布局 全屏与非全屏两套布局切换、没有任何操作控件的纯播放支持、弹幕功能、继承自定义任何布局。
播放 单例播放、多个同时播放、视频列表滑动自动播放、列表切换详情页面无缝播放。
窗口 小窗口、多窗体下(包括桌面)的小窗口播放。
广告 片头广告、跳过广告支持、中间插入广告功能。
更多 暂停前后台切换不黑屏;调整不同清晰度的支持;无缝切换支持;锁定/解锁全屏点击功能;进度条小窗口预览(测试)。
自定义 可自定义渲染层、自定义管理层、自定义播放层(控制层)、自定义缓存层。

效果如图:
这里写图片描述

这里写图片描述
这里写图片描述

这里写图片描述

源码解读:GsyVideoPlayer视频分析使用

猜你喜欢

转载自blog.csdn.net/jun5753/article/details/81222448