音频混音在音视频开发中是十分重要的一个环节,所谓音频混音就是将所有需要混音的数据相加得到混音数据,然后通过某个算法进行非法数据的处理;例如相加数值超过最大值,最小值等!
在实际的音频开发中,要实现混音的流程如下:
因此我们的编码实现就分为五部分:寻找解码器,音频解码,混音,创建编码器,音频编码;
1.寻找解码器
avformat_open_input:打开音频文件,解析其音频信息
avformat_find_stream_info:获取音频信息,返回媒体编号
av_find_best_stream:获取媒体流解码器
avcodec_alloc_context3:创建解码器参数结构
avcodec_parameters_to_context:将解析到的音频解码器参数复制到创建的解码器
avcodec_open2:初始化解码器
av_read_frame:读取音频数据