frameworks/base/media知多少
来源:互联网 发布:top域名好便宜 编辑:程序博客网 时间:2024/04/29 02:24
1、./frameworks/base/media/jni
JAVA本地调用部分。编译后生成的目标是libmedia_jni.so.
android_media_MediaPlayer.cpp: MediaPlayer 的JAVA本地调用部分。
它定义了一个JNINativeMethod(JAVA本地调用方法)类型的数据gMethods,
用来描述,接口的关联信息。
android_media_MediaRecorder.cpp: 定义了录音的本地调用实现。
android_media_AmrInputStream.cpp: amr 编码相关的本地调用实现。
android_media_MediaScanner.cpp: 媒体扫描相关的本地调用实现。
soundpool/android_media_SoundPool.cpp:定义了音频系统的本地调用实现。
2、 ./frameworks/base/media/libmedia
./frameworks/base/include/media/
这里为多媒体的的底层库,编译生成libmedia.so.这个库处于android多媒体架构的核心
位置,它对上层提供的接口主要有MediaPlayer、MediaRecorder、MediaScanner等类.
android.meida.* 就是通过libmedia_jni.so 调用libmedia.so实现的接口实现的。
还需要注意的是MediaPlayerInterface.h 这个头文件,他定义了MediaPlayer的
底层接口。它主要定义了下面的类:
MediaPlayerBase:MediaPlayerInterface的抽象基础类,里面包含了音频输出、
视频输出、播放控制等的基本接口。
MediaPlayerInterface、MediaPlayerHWInterface 继承自MediaPlayerBase针对不同输出作出的扩展。
3、 ./frameworks/base/media/libmediaplayerservice
这是多媒体的服务部分,编译生成libmediaplayerservice.so.
MediaPlayerService.cpp 实现了一个名字为media.player的服务,MediaPlayer通过
IPC同其实现通讯,以建立合适的播放器。
在MediaPlayerService.cpp 会根据playerType的类型来决定创建不同的播放器。
现有的播放器类型有PVPlayer、MidiFile、VorbiPlayer三个播放器类,他们都是有继承
MediaPlayerInterface得到,具有相同的播放接口。我们这里可以通过继承MediaPlayerInterface
的方法,实现增加新的播放器实现。
- frameworks/base/media知多少
- android-source/frameworks源码地址 65a73f4e8c79d05c0d9001b660325748d4ecf37b - platform/frameworks/base -
- 解说== frameworks/base/cmds/app_process/
- ResourceID(frameworks/base/libs/utils/README)
- android/frameworks/base/core/java/android/os
- Media Framework你知道多少
- xref: /frameworks/av/media/libstagefright/httplive/M3UParser.cpp
- android : 修改frameworks/base/ 代码需要注意的地方
- frameworks/base/core/jni中Android.mk分析
- android : 修改frameworks/base/ 代码需要注意的地方
- Android 重新编译frameworks/base/core/res资源文件
- Android: frameworks\base\core\java\android\os\FileUtils
- Android 重新编译frameworks/base/core/res资源文件
- 在Windows下下载Android frameworks/base源代码
- android : 修改frameworks/base/ 代码需要注意的地方
- 解说==frameworks/base/core/tests/bandwidthtests/
- Android.mk 分析:./frameworks/base/core/res/Android.mk
- frameworks\base\packages\SettingsProvider\res\values\defaults.xml
- 懒加载——网页图片的加载技术
- 实现TRACE宏功能(内联函数形式和宏形式),无MFC时打印到Output窗口
- 写给我们这些浮躁的程序员
- My Link
- 110209
- frameworks/base/media知多少
- 再再再论___数组名与指针
- LingosHook:Lingoes生词本下载页
- sql查询优化之个人体会
- 有关日期手工输入验证、日期弹出框、数值输入验证、必须输入验证等(共三个文件)
- android2.2模拟器安装google market
- - 用db2look导出表结构,用db2move完成数据库的复制
- Make best use of our tools
- C++ primer 第二章