文档介绍:Android 的多媒体系统
Android 的多媒体系统
第一部分多媒体系统的结构
第二部分多媒体的各个层次
第三部分多媒体实现的核心部分 OpenCore
第一部分多媒体系统的结构
Android 的多媒体部分的框架涉及到应用
层、 JAVA 框架、 C 语言框架、硬件抽象层等环
节。
多媒体主要包括两方面的内容:
输入输出环节(音频视频的输入输出)
中间处理环节(编解码环节)
其中,输入输出环节由其他方面的硬件抽象
层实现,中间处理环节主要由 PacketVideo 实
现,可以使用硬件加速。
第一部分多媒体系统的结构
Android 的多媒体应用业务:
Music Player
Video Player
Camera
Sound Recorder
Camcorder
Video Telephone
第一部分多媒体系统的结构
Java Class of Media
Java 框架
Media JNI
Media API
libmedia
MediaPlayer MediaRecorder
Media Service
IPC
IMediaPlayer IMediaRecorder
PVPlayer PVAuthor
第一部分多媒体系统的结构
JAVA 类:
frameworks/base/media/java/android/media/
类的名称为 .*
JAVA 本地调用部分( JNI ):
frameworks/base/media/*
这部分内容编译成为目标是 .
基于 OpenCore 的多媒体播放器和记录器
external/opencore/
第一部分多媒体系统的结构
多媒体框架的 media 库:
frameworks/base/include/media/
frameworks/base/media/libmedia/
这部分的内容被编译成库 。
多媒体服务部分:
frameworks/base/media/libmediaplayerservice/
这部分内容被编译成库 。
第一部分多媒体系统的结构
从多媒体应用实现的角度,主要包括两方面的内容:
输入输出环节(音频、视频纯数据流的输入输出系统)
中间处理环节(文件格式处理环节和编解码环节)
以一个 MP3 播放器为例,从功能的角度就是将一个 mp3
格式的文件作为播放器的输入,将声音从播放设备输出。
从实现的角度, MP3 播放器经过了一下的阶段: MP3 格
式的文件解析、 MP3 编码流的解码、 PCM 输出的播放。
MP3 PCM
编码流
数据音频
MP3 文件格式解码
输出
文件解析单元单元
设备
多媒体的各种业务
Camera / Camcorder SoundRecoder Music (MediaPlayer) Android 的多媒体系统
Java
Aplication
Java FrameWork
Camera mediarecorder mediaplayer
Camera Service
MediaPlayer Serivice
Surface Audio
Flinger Filnger
PVAuthor PVPlayer
CameraHAL
Midi Vorbis AudioHAL
Packet Video Framework
Native Player Player OverlayHAL
FrameWork
Driver Camera Main Video Audio
Hardware Codec
Driver framebuffer Plane Driver
多媒体的各种业务
音频/ 视频播放器
Music (MediaPlayer)
Video Player
Java Music Player
Aplication