01
SurfaceView基础
什么是SurfaceView · 与TextureView对比 · 与普通View区别 · 生命周期
入门核心概念
02
SurfaceView核心API
SurfaceHolder · Surface · Canvas · lockCanvas/unlockCanvasAndPost · Callback
API渲染
03
渲染线程设计
独立线程 · 线程与Surface绑定 · HandlerThread · 线程安全与同步
多线程架构
04
MediaPlayer+SurfaceView
MediaPlayer基础 · 状态机 · SurfaceView显示载体 · 音视频同步概念
播放器音视频
05
MediaPlayer播放控制
prepare/prepareAsync · start/pause/stop/seekTo · 循环/单曲 · 状态监听
控制状态机
06
视频渲染循环
自定义渲染循环 · 帧率控制FPS · Choreographer优化 · VSync与渲染时机
性能动画
07
YUV数据渲染
YUV色彩空间 · YUV420P/NV12/NV21 · RenderScript转换 · OpenGL ES渲染YUV
YUVOpenGL
08
Camera1+SurfaceView
Camera1 API · 预览流程 · 设置预览尺寸 · 拍照与回调
Camera预览
09
Camera2+SurfaceView
Camera2架构 · CameraManager/CameraDevice · CaptureRequest/Session · 预览与拍照
Camera2高级
10
CameraX+SurfaceView
CameraX简介 · Preview用例 · ImageAnalysis · 生命周期绑定
JetpackCameraX
11
视频录制
MediaRecorder基础 · 录制参数 · 预览同步 · 状态回调
录制MediaRecorder
12
视频截图
getDrawingCache · ImageReader截图 · MediaMetadataRetriever · 注意事项
截图Bitmap
13
视频缩放与裁剪
Matrix变换 · setScaleX/Y · CENTER_CROP/FIT_CENTER/FIT_XY · 自定义裁剪
变换UI
14
视频旋转与镜像
旋转角度计算 · Matrix旋转 · 镜像翻转 · Camera旋转适配
旋转Matrix
15
多视频同屏渲染
多SurfaceView布局 · 层级管理 · Z-order控制 · 性能优化
多窗口高级
16
视频滤镜基础
颜色矩阵ColorMatrix · ColorFilter · 灰度/怀旧/负片滤镜
滤镜ColorMatrix
17
OpenGL ES入门
OpenGL ES简介 · EGL环境搭建 · 着色器基础 · 绘制三角形
OpenGL图形
18
OpenGL ES纹理渲染
纹理概念 · 纹理坐标 · 加载纹理 · 纹理映射到SurfaceView
纹理渲染
19
OpenGL ES视频滤镜
LUT滤镜 · 卷积滤镜(模糊/锐化) · 美颜滤镜基础
滤镜着色器
20
视频转场动画
转场原理 · 滑动转场 · 淡入淡出 · 自定义转场Shader
动画转场
21
视频播放器架构
分层设计 · 解码/渲染/控制层 · 状态机 · 事件总线
架构设计模式
22
ExoPlayer+SurfaceView
ExoPlayer简介 · 与MediaPlayer对比 · 核心组件 · 自定义Renderer
ExoPlayer高级
23
硬解码与软解码
MediaCodec基础 · 硬解码流程 · FFmpeg软解 · 解码器选择策略
解码MediaCodec
24
音视频同步
同步原理 · PTS/DTS · 同步策略(音频/视频/外部时钟) · A/V同步实现
音视频同步
25
视频缓存与预加载
LRU/FIFO缓存策略 · Http缓存 · 预加载机制 · 边下边播
缓存优化
26
性能优化
Systrace/Profiler · 减少掉帧 · 内存优化 · GPU过度绘制优化
性能调优
27
SurfaceView与动画
属性动画 · 帧动画 · 动画与渲染冲突 · 硬件加速
动画硬件加速
28
SurfaceView与触摸事件
触摸分发 · 手势识别(缩放/拖动/点击) · 触摸与渲染交互 · 自定义手势
触摸手势
29
SurfaceView与弹幕系统
弹幕渲染原理 · 布局算法 · 弹幕与视频同步 · 性能优化
弹幕实战
30
实战项目:短视频播放器
项目架构 · 功能模块 · 核心代码 · 性能调优与发布
项目完整