引言
如果我们只是简单玩一下音频、视频播放,那么使用 MediaPlayer + SurfaceView 播放就可以了,但如果想加个水印,加点其他特效什么的,那就不行了;
学习 Android 自带的硬件码类 – MediaCodec。
MediaCodec 介绍
在Android中是使用MediaCodec类进行编解码。
MediaCodec是什么呢?
MediaCodec是Android提供的用于对音视频进行编码(压缩)和解码(解压缩)的类,它通过访问底层的codec来实现编解码的功能。
比如你要把摄像头的视频yuv数据编码为h264/h265,pcm编码为aac,h264/h265解码为yuv,aac解码为pcm等等。MediaCodec是Android 4.1 API16引入的,在Android 5.0 API21加入了异步模式。
通常与MediaExtractor, MediaSync, MediaMuxer, MediaCrypto, MediaDrm, Image, Surface, 以及AudioTrack一起使用;
数据交换
可以看到,MediaCodec 的数据分为两个部分,从数据的输入到编解码后的数据的输出</