一、Android 播放器架构全景
1.1 为什么 Android 播放器开发值得深入
Android 平台的视频播放器开发,几乎涵盖了音视频技术的所有核心问题:
- 编解码:硬解码(MediaCodec + OMX)、软解码(FFmpeg)
- 渲染:SurfaceView、TextureView、GLSurfaceView、SurfaceTexture
- 同步:音画同步、缓冲管理、卡顿处理
- 协议:HTTP(ExoPlayer)、RTSP(Live555)、RTMP(FFmpeg)
- 系统:OMX 服务、MediaCodec 状态机、BufferQueue 机制
掌握这些,就掌握了整个 Android 多媒体子系统的半壁江山。
1.2 Android 播放器的技术演进
Android 1.0 ~ 2.3(2008-2010) └── VideoView(底层封装 MediaPlayer,仅 SurfaceView) └── MediaPlayer(C 层实现,不透明,扩展性极差) Android 3.0(2011)—— 里程碑 └── MediaCodec API 引入(OpenMax 标准化) └──