android体系结构
媒体层结构
Android-MediaPlayer上层应用程序使用JAVA语言编写,实现逻辑处理;JAVA程序通过调用底层媒体库来实现具体的音视频文件和网络视频播放;
JAVA程序通过JNI接口实现对底层媒体库libmedia.so的调用;
MediaPlayer在运行的时候,可以大致上分成Client和Server两个部分,它们分别在两个进程中运行,它们之间使用Binder机制实现IPC通讯,图中libmediaplayerservice.so是服务端的实现库。
对于视频文件的播放,MediaPlayer通过调用Opencore提供的功能媒体播放功能来负责实现;
在opencore中负责媒体文件格式解析、音视频数据的解码、以及媒体数据的输出;
Opencore通过调用SurfaceFlinger的接口实现视频数据的显示;通过调用AudioFlinger的接口来实现音频数据的回放;
- 1
- 2
前往页