是视频格式或者图片格式吗如果都不是,则合并不了
你对这个回答的评价是?
近期需要做音轨合成这样一个功能何为音轨合成,说白了就是N个音频文件合成一个同时播放N个声音。然而网上各种找代码并没有一个能用的,最后终于找到一个外國大神写的合音工具类稍加修改便成了自己的东西,现在分享出来,方便大家使用
模拟器没办法录音,所以这里先只提供一张效果图
我這里做的效果是点击开始录音开始录制声音停止后将该录音文件存储在sd卡,并在中间的ListViw显示名字点击item选中多条后,即可开始合音
1.录音並将录音文件存储在sd卡下
从大的方向来讲要实现这里的效果只需以上三步
我这里使用的MediaRecorder录音,首先点击按钮后开始录音:
1.要合音的文件格式必须相同,比如必须都是MP4或都是MP3否则合出来的音会像卡带了一样
2.采样率、通道、精度必须相同,有一个参数不同都会影响到合出來的效果
3.做的时候还遇到一个问题设置采样率、通道、比特率的代码必须放在setOutputFormat后面,如果放在setOutputFormat前面合出来的音也是有问题的。至于这個为什么 我暂时也没有找到答案,当时因为这个问题困扰了很久无意间放到setOutputFormat后面才意外成功
录音结束后,将文件名字添加到List中来充當ListView的数据
接下来,就是选择录音的文件并进行解码将解码后的文件存在sd卡,合音时将解码后的文件进行合音。 // 将解码后的路径保存在listΦ,方便后面取值 // 将需要合音的音频解码后的文件放到数组里 // 下面的都是合音的代码Demo中只是实现该操作有些东西没有加,如判断sd卡、判断權限是否关闭等这些实际操作中切勿忘记自行加上
由于所需要的类还是比较多的,这里不能贴上全部代码有需要的可自行下载Demo:
Demo中重偠的地方我都加了注释,基本都能看得懂
本篇讲的是音轨合成接下来的几篇会增加音轨拼接、音轨与视频合成,有需要的加个关注方便get
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。