Android开发教程之多媒体框架源码.ppt

Android开发教程之多媒体框架源码.ppt

ID:51495917

大小:241.96 KB

页数:11页

时间:2020-03-25

Android开发教程之多媒体框架源码.ppt_第1页
Android开发教程之多媒体框架源码.ppt_第2页
Android开发教程之多媒体框架源码.ppt_第3页
Android开发教程之多媒体框架源码.ppt_第4页
Android开发教程之多媒体框架源码.ppt_第5页
资源描述:

《Android开发教程之多媒体框架源码.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android开发教程之多媒体框架源码简介Android多媒体框架的子目录Splitter的定义与初始化Splitter的定义与初始化过程Splitter的匹配过程简介Android中对于图形界面以及多媒体的相关操作比较容易实现。而且对于大多数手机用户来说,他们主要也就是根据这些方面的功能来对系统那个进行修改。我们可以通过本文介绍的Android多媒体框架的源码解读,来具体分析一下这方面的基本知识。AndroidAndroid开发教程之多媒体框架的子目录Android多媒体框架的代码在以下目录中:external/opencore/。这个目录是Android多媒体框架的根目录,

2、其中包含的子目录如下所示:*android:这里面是一个上层的库,它基于PVPlayer和PVAuthor的SDK实现了一个为Android使用的Player和Author。*baselibs:包含数据结构和线程安全等内容的底层库*codecs_v2:这是一个内容较多的库,主要包含编解码的实现,以及一个OpenMAX的实现*engines:包含PVPlayer和PVAuthor引擎的实现*extern_libs_v2:包含了khronos的OpenMAX的头文件Android开发教程*fileformats:文件格式的据具体解析(parser)类*nodes:编解码和文件解析的

3、各个node类。*oscl:操作系统兼容库*pvmi:输入输出控制的抽象接口*protocols:主要是与网络相关的RTSP、RTP、HTTP等协议的相关内容*pvcommon:pvcommon库文件的Android.mk文件,没有源文件。*pvplayer:pvplayer库文件的Android.mk文件,没有源文件。*pvauthor:pvauthor库文件的Android.mk文件,没有源文件。*tools_v2:编译工具以及一些可注册的模块。Android开发教程之Splitter的定义与初始化以wav的splitter为例,在fileformats目录下有解析wav文

4、件格式的pvwavfileparser.cpp文件,在nodes目录下有pvmf_wavffparser_factory.cpp,pvmf_wavffparser_node.h,pvmf_wavffparser_port.h等文件。我们由底往上看,vwavfileparser.cpp中的PV_Wav_Parser类有InitWavParser(),GetPCMData(),RetrieveFileInfo()等解析wav格式的成员函数,此类应该就是最终的解析类。我们搜索PV_Wav_Parser类被用到的地方可知,在PVMFWAVFFParserNode类中有PV_Wav_Pa

5、rser的一个指针成员变量。Android开发教程再搜索可知,PVMFWAVFFParserNode类是通过PVMFWAVFFParserNodeFactory的CreatePVMFWAVFFParserNode()成员函数生成的。而CreatePVMFWAVFFParserNode()函数是在PVPlayerNodeRegistry::PVPlayerNodeRegistry()类构造函数中通过PVPlayerNodeInfo类被注册到Oscl_Vector的vector中,在这个构造函数中,AMR,mp3

6、等node也是同样被注册的。由上可知,Android多媒体框架中对splitter的管理也是与ffmpeg等类似,都是在框架的初始化时注册的,只不过Opencore注册的是每个splitter的factory函数。Android开发教程之Splitter的定义与初始化过程每个splitter都在fileformats目录下有个对应的子目录,其下有各自的解析类。每个splitter都在nodes目录下有关对应的子目录,其下有各自的统一接口的node类和nodefactory类。播放引擎PVPlayerEngine类中有PVPlayerNodeRegistryiPlayerNode

7、Registry成员变量。在PVPlayerNodeRegistry的构造函数中,将AMR,AAC,MP3等splitter的输入与输出类型标示和nodefactory类中的createnode与releasedelete接口通过PVPlayerNodeInfo类push到Oscl_VectoriType成员变量中。Android开发教程之Splitter的匹配过程PVMFStatusPVPlayerNodeRegistr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。