基于ffmpeg+openGL ES实现的视频编辑工具-添加背景音乐(十一)
在视频编辑领域,为视频添加背景音乐并实现音频的完美融合是一项关键任务。在上一篇文章中,我们大体介绍了添加背景音乐的整体逻辑,而本文将深入探讨其中音频合并所依赖的滤镜逻辑,通过对相关代码的详细解读,揭示音频合并的核心技术。
一、音频合并滤镜类的初始化
AudioAMixFilters类承担着管理音频合并滤镜的重任。其构造函数设置了音频的关键参数,如采样率、格式以及声道布局。
AudioAMixFilters::AudioAMixFilters(int sampleRate, AVSampleFormat format)
: Object("AudioAMixFilters"), aBufferSink_ctx(nullptr),
filter_graph(nullptr),
sample_rate(sampleRate),
sample_fmt(format),
ch_layout(AV_CHANNEL_LAYOUT_STEREO) {
// 打印初始化的通道布局
char layout_desc[64];
av_channel_layout_describe(&ch_layout, layout_desc, sizeof(layout_desc));
DEBUG_LOG_FAT(TAGS, "Initialized channel layout: %s", layout_desc);
}