#.MedaiCodec简介
MediaCodec是Android中提供的音视频编码、解码工具。它主要是完成上层接口的封装,提供给开发者使用,编解码功能实际是在native底层服务中完成的。
#.MediaCodec工作的宏观流程:
![](https://img-blog.csdnimg.cn/91216ce98f7546c4baeac5d33b43f0da.png)
##.包换两个缓冲区队列
一个输入缓冲区队列,包含一组输入缓冲区(格式ByteBuffer);
一个输出缓冲区队列,包含一组输出缓冲区(格式ByteBuffer);
##.使用中,需要不断重复以下过程:
1.把原始数据放入输入缓冲区队列中一个空缓冲区上;2.编/解码器从输入缓冲队列中获取缓冲区上数据,进行编码处理,结果存放到输出缓冲区上一个空缓冲区上,处理完毕后,释放该输入缓冲区,它会被重新放回输入缓冲区队列,以便下次重复使用;3.对输出缓冲区上数据做自己需要的业务处理处理,处理完毕后,释放该输出缓冲区,它会被重新放回输出缓冲区队列,