Android音视频开发播放器总结

Posted 小羊子说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android音视频开发播放器总结相关的知识,希望对你有一定的参考价值。

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

  1. android-UniversalMusicPlayer

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

源码解读: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视频分析使用

以上是关于Android音视频开发播放器总结的主要内容,如果未能解决你的问题,请参考以下文章

【Android音视频】视频开发优化

Android Multimedia框架总结MediaPlayer框架及播放网络视频案例

Android WebView播放视频(包括全屏播放)

Android制作简易的音乐播放器和视频播放器

Android制作简易的音乐播放器和视频播放器

Android视频框架 Vitamio 打造自己的万能播放器