android音视频介绍(一)

最近抽空回顾了下之前做过的一个音视频项目,突然发现曾经有踩过不少的坑,刚好这几天有时间就把这些东西整理了下,分享出来吧。。。

首先介绍下android中有关音视频播放使用到的类 : MediaPlayer 这个类吧
等等有人可能会说音频播放是这个类,但是视频播放不是使用的是VideoView么,好吧对于这样的提问我选择给你截图告诉你
第一张,android音视频介绍(一)
请关注我用红框标记的这个类,下来我们去看下这个接口
android音视频介绍(一)
ok了吧,这就已经从侧面说明了VideoView本质上就是一个MediaPlayer。

前面这么麻烦说了这么多,其实就是想说明他是一个MediaPlayer而已。既然他是一个MediaPlayer那么接下来就好说了。

那么首先我们就可以对android音视频有一个整体上的认识,MediaPlayer的生命周期它肯定是会遵守的,它的生命周期以及流程什么的网上各路大神已经给相当多的说明了,这里不再冗余述说了就给一张Google官方给的一张MediaPlayer的生命周期图吧
android音视频介绍(一)-<">。那咱们今天看看其他不一样!!好了不买关子了,我要说的你用VideoView播放视频没错是吧!那请问android原生支持哪几种视频格式呢?本人亲测,各位请看:
android音视频介绍(一)
那么也就是说android原生对视频的支持就只有这两种了。那么问题来了,现在市面上的播放器支持了多种视频播放格式什么avi,m3u8,ramb什么的,额这个就深入了(哦!~~用力),一般定制一款可以播放任意模式视频的播放器有两种选择:
1>直接对ffmpeg进行封装,通过特殊的视频压缩技术 如 H.264,H.265 什么就可以把元数据压缩成对应格式的视频
2>这种方式简单粗暴了,一款开源强大的视频播放库,vitamio为什么强大呢(支持android 同时支持ios)这个的使用很简单就是进去搞一个布局然后像使用一般空间一样的流程,当然什么一些功能的话还得自己加。接着就恭喜了,你已经打造了一款万能播放器了。
嘿嘿,逗你玩的怎么会这么简单呢?看见上面的那个图没,去把你要支持的视频格式都添加进去,格式就是仿照上面的写法。至此大功告成。这里视频的播放是放在一个activity中的这个期间不会牵扯到一些别的东西。。好了,视频就介绍到这里了下来我会在写一篇关于音频播放的,音频的播放什么的会和视频的播放有一点小小的区别。后续我也会把我之前的项目放到github上。
由于笔者水平有限欢迎各路大神的指正。。。