欢迎来到天天文库
浏览记录
ID:19703077
大小:176.15 KB
页数:7页
时间:2018-10-05
《android多媒体框架初步分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android多媒体框架初步分析Android系统整体架构:我们先看一下多媒体框架在整个Android系统所处的位置从框架图可以看出MediaFramework处于Libraries这一层,这层的Library不是用Java实现,一般是C/C++实现,它们通过Java的JNI方式调用。多媒体架构:基于第三方PacketVideo公司的OpenCOREplatform来实现支持所有通用的音频,视频,静态图像格式CODEC(编解码器)使用OpenMAX1Linterface接口进行扩展,可以方便得支持hardware/softwarecodecplug-ins支持的格式包括:MPEG4、H
2、.264、MP3、AAC、AMR、JPG、PNG、GIF等。lOpenCore多媒体框架有一套通用可扩展的接口针对第三方的多媒体遍解码器,输入,输出设备等等。l多媒体文件的播放,下载,包括3GPP,MPEG-4,AACandMP3containersl流媒体文件的下载,实时播放,包括:3GPP,HTTPandRTSP/RTPl动态视频和静态图像的编码,解码,例如:MPEG-4,H.263andAVC(H.264),JPEGl语音编码格式:AMR-NBandAMR-WBl音乐编码格式:MP3,AAC,AAC+l视频和图像格式:3GPP,MPEG-4andJPEGl视频会议:基于H324-
3、Mstandard图中用黄线圈出的是MediaFrameworkOpenCore介绍:OpenCore是Android多媒体框架的核心,所有Android平台的音视频采集,播放的操作都是通过它来实现。它也被称为PV(PacketVideo),PacketVideo是一家专门提供多媒体解决方案的公司。通过OpenCore程序员可以方便快速的开发出想要的多媒体应用程序,例如:音视频的采集,回放,视频会议,实时的流媒体播放等等应用。OpenCore框架代码结构:OpenCore的代码在Android代码的External/Opencore目录中。这个目录是OpenCore的根目录,其中包含的
4、子目录如下所示:·android:这里面是一个上层的库,它实现了一个为Android使用的音视频采集,播放的接口,和DRM数字版权管理的接口实现。·baselibs:包含数据结构和线程安全等内容的底层库·codecs_v2:音视频的编解码器,基于OpenMAX实现·engines:核心部分,多媒体引擎的实现·extern_libs_v2:包含了khronos的OpenMAX的头文件·fileformats:文件格式的解析(parser)工具·nodes:提供一些PVMF的NODE,主要是编解码和文件解析方面的。·oscl:操作系统兼容库·pvmi:输入输出控制的抽象接口·protoco
5、ls:主要是与网络相关的RTSP、RTP、HTTP等协议的相关内容·pvcommon:pvcommon库文件的Android.mk文件,没有源文件。·pvplayer:pvplayer库文件的Android.mk文件,没有源文件。·pvauthor:pvauthor库文件的Android.mk文件,没有源文件。·tools_v2:编译工具以及一些可注册的模块。OpenCore上层代码结构在实际开发中我们并不会过多的研究OpenCore的实现,Android提供了上层的MediaAPI给开发人员使用,MediaPlayer和MediaRecorderAndroidMediaAPIslTh
6、eAndroidplatformiscapableofplayingbothaudioandvideomedia.Itisalsocapableofplayingmediacontainedintheresourcesforanapplication,orastandalonefileinthefilesystem,orevenstreamingmediaoveradataconnection.Playbackisachievedthroughtheandroid.media.MediaPlayerclass.lTheAndroidplatformcanalsorecordaudio.
7、Videorecordingcapabilitiesarecominginthefuture.Thisisachievedthroughtheandroid.media.MediaRecorderclass.MediaPlayer提供的基本接口如下:PublicMethodsstaticMediaPlayercreate(Contextcontext,Uriuri)ConveniencemethodtocreateaMediaPlayerfor
此文档下载收益归作者所有