基本的音视频编解码,流媒体播放流程,这里不详细描述
1. Android 平台视频播放API的变迁
在2012年Android JellyBean之前,安卓平台的音视频播放,采用平台原生的MediaPlayer,对开发者来说都是一件简单的事情,对大部分开发者来说,不需要深入到底层Media Player Service。一件简单的application sample可以如下:
创建Media Player对象,传入URL(可以是本地文件,也可以是internet URL),start()播放方法,播放结束后释放资源。
但缺点也是显而易见的,
l 很多格式的container不支持;
l 很多Codec不支持,Google是大爷啊,我说能播那个就是那个,你想扩展还没法通过certification。
l 不支持面向互联网的adaptive streaming;
l Debug不方便
l 很多音视频播放功能不容易支持,二次开发难度大,比如缓冲大小,seek;
Android JellyBean引入了Media Codec API作为Media Player的补充,给系统集成开发者提供了很多方便和二次开发的便利, Media Codec API提供了更面向音视频播放底层,比如media codec API,container 解析 API,支持开发者更容易扩展支持第三方的codec和container格式。
http://www.jianshu.com/p/667d69eec40c