第一部分MediaPlayer概述

Android
MediaPlayer包含了Audiovideo的播放功能,在Android的界面上,MusicVideo两个应用程序都是调用MediaPlayer实现的。

MediaPlayer
底层是基于OpenCore(PacketVideo)的库实现的,为了构建一个MediaPlayer程序,上层还包含了进程间通讯等内容,这种进程间通讯的基础是Android基本库中的Binder机制。

以开源的Android为例MediaPlayer的代码主要在以下的目录中:
JAVA程序的路径:
packages/apps/Music/src/com/android/music/



JAVA类的路径:
frameworks/base/media/java/android/media/MediaPlayer.java

JAVA本地调用部分(JNI):
frameworks/base/media/jni/android_media_MediaPlayer.cpp
这部分内容编译成为目标是libmedia_jni.so

主要的头文件在以下的目录中:
frameworks/base/include/media/

多媒体底层库在以下的目录中:
frameworks/base/media/libmedia/
这部分的内容被编译成库libmedia.so

多媒体服务部分:
frameworks/base/media/libmediaplayerservice/
文件为mediaplayerservice.h和mediaplayerservice.cpp
这部分内容被编译成库libmediaplayerservice.so

基于OpenCore的多媒体播放器部分
external/opencore/
这部分内容被编译成库libopencoreplayer.so

从程序规模上来看,libopencoreplayer.so是主要的实现部分,而其他的库基本上都是在其上建立的封装和为建立进程间通讯的机制。

更多相关文章

  1. Android面试系列文章2018之Android部分之RecyclerView篇
  2. android core dump测试
  3. textview中自动换行显示文本内容
  4. textview中加链接
  5. Android(安卓)Dialog的7种形式
  6. 如何在横屏控制软键盘显示一部分
  7. textview中加链接
  8. Android(安卓)studio 卡的问题
  9. android的数据存储和访问 附源码

随机推荐

  1. 2020年!最全Android大厂面试真题合集(附答
  2. Android(安卓)11 (R) 分区存储
  3. 《第一行代码Android》笔记
  4. Android(安卓)Studio的build.gradle里面
  5. Android各种阴影效果
  6. Android中TextView所带的各类属性的使用
  7. 《Android高级进阶》— Android(安卓)书
  8. Android(安卓)实战制作简易天气预报
  9. 安卓基础学习 Day01 |第一个安卓应用程序
  10. 用 Kotlin 开发现代 Android(安卓)项目 P