1.android平台多媒体框架
1.1.media模块分层结构
Android系统很多模块都是采用采取C/S架构模式,金典的3层结构(ep: Camera, Audio, Surface, Mediaplayer ……)
以多媒体在安卓系统中的分层结构为例:
1.2.media模块整体框图
根据图上的播放地址,可以给android系统支持的多媒体分为3类
1:本地文件播放:也就是从手机的sdcard中读取文件播放,这里我将http://192.xxxx.mp4也分到本地文件,因为他们的解析是差不多的,不同的是http是从网络上取出一段MP4进行解析
2:http协议:这个根据m3u8文件格式进行解析
3:rtsp协议:直播协议
后面我会详细介绍这几种协议
1.2.1:本地文件播放:
1:mp4,ts,mkv这些格式相当于一个容器,里面封装了audio,video,字幕等数据。
2 :解析文件的目的有两个:
1):将音频和视频的数据分离
2):将播放时间对应到文件的内存地址(举个例子:用户想seek到mp4文件2min的地方播放
那解析完成之后,要通过这个时间找到对应的文件的内存地址。)