最近在学习Android中的音视频开发,《从AVFrame到MediaFrame数组》是一个学习的记录
它共分为4个部分:
(一):是对《从AVFrame到MediaFrame数组》所实现的功能以及涉及到知识点的介绍
(二):从AVFrame到Java层的Bitmap
(三):从AVFrame到Java层自定义的实体类MediaFrame
(四):从AVFrame到Java层自定义的实体类MediaFrame的数组
简介
目的
输入:一个视频素材
输出:Android屏幕上的画面
分析
用户将一个视频文件传递到底层,我们在底层通过FFmpeg解码视频,得到一个个视频帧(AVFrame),下面列举三种将AVFrame转换后,回传给Java层的情况:
- 将AVFrame转换成Bitmap,回调Java层接口,将Bitmap传递给Java层去渲染到Android屏幕上
-
实际项目中可能除了Bitmap,我们还需要Bitmap额外的数据,比如加一个Id,那我们就需要自定义一个实体类,封住一下这个Bitmap,我们给这个实体类起一个名字,叫MediaFrame:
public class MediaFrame { private String id; private Bitmap bitmap; public void setId(String id) { this.id = id; } public String getId() { return id; } public void setBitmap(Bitmap bmp) { this.bitmap = bmp; } public Bitmap getBitmap() { return bitmap; } }
- 有时候我们可能不只要上传一个图片,有可能要显示多个帧,那么我们就要返回给Java层一个MediaFrame数组
实现
基于上述三种回调,分别用三篇文章去记录,一步一步实现:
链接到下一文:《从AVFrame到MediaFrame数组(二)》
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。