前言
音频编辑系列:
本篇主要讲解音频PCM数据的合成,这里合成包括音频之间的拼接,混合。
音频拼接:一段音频连接着另一段音频,两段音频不会同时播放,有先后顺序。
音频混合:一段音频和另一段音频存在相同的区间,两者会有同时播放的区间。
下面是音频拼接,音频混合的效果图:
音频拼接
音频混合
音频拼接
如果大家理解了android音频编辑之音频转换PCM与WAV和android音频编辑之音频裁剪的原理。那么音频拼接的原理其实就很好理解了。总的说来就是新建一个音频文件,将一段音频的PCM数据复制到新音频上,再将另一段音频的PCM数据复制到新音频上。但这里还是有一些需要注意的。
情景一
假设A音频40秒,B音频20秒,B音频数据拼接到A音频后面,得到60秒的C音频文件。
这种情况最简单了,新建音频文件C,将A音频的PCM数据复制到C音频文件上,再将B音频的PCM数据复制到C音频文件上,然后为C音频写上wav文件头信息,得到可播放的WAV文件。
情景二
假设A音频40秒,B音频20秒,B音频数据插入到A音频10秒的地方,得到60秒的C音频文件。
这种情况稍微复杂点,新建音频文件C,将A音频前10秒的PCM数据复制到C音频文件上,再将B音频的PCM数据复制到C音频文件上,再将A音频后30秒的PCM数据复制到C音频文件上,最后为C音频写上wav文件头信息,得到可播放的WAV文件。
情景三
假设A音频40秒,B音频20秒,B音