T-chuangxin/VideoMergeDemo

求助

Closed this issue · 3 comments

大佬, 看了您的项目, 学习和了解了很多. 我现在项目中有一个技术难点, 要求是实现录音与伴奏的合成(实时的), 可以支持试听, 大佬可以帮忙讲解一下思路吗? 最好重点是实时合成相关的吧. 目前我打算的是用AudioRecord来录制音频, 生成pcm; 伴奏是aac的, 求大佬指点

量化的语音信号的叠加等价于空气中声波的叠加。最简单的方式就是,将AAC格式的音频转为pcm,再相对应时间点的两段音频的采样值直接相加后就得到混合的音频了,还要注意你的伴奏的声道数,采样率等等,很麻烦!再有就是GitHub上有人已经编译好的FFmpeg,你引入,用FFmpeg的命令进行合成!

感谢回复! 还有几个问题

  1. 两个pcm合成的时候, 是操作对应的short[]吗? 我找到了AudioRecord的read方法.
  2. 如果录音和伴奏的声道数、采样率不同的话, 合成后会与预期的合成效果差距很大吗?
  3. 看了网上的介绍, ffmpeg支持两个pcm的实时合成吗? 网上有人说它的合成速度有些慢哈

1.pcm合成的话,你自己再看看源码,我很久没整那些东西了,具体的也不太清楚;
2.差距很大,隐影响播放速度甚至合成后没生音等等一系列问题;
3.实时合成是不可能的,需要你先录音,再合成,如果涉及到重新编码的话,会有点慢,这还得取决你的音频时长,大小等等;

建议:如果需要实时合成,就录音的时候播放伴奏,将伴奏一同录入(我没有试过),哈哈!还有就是录制的pcm一般都很大,所以一般都需要重新编码成MP3或者其他格式的,这点注意一下!