以Wave格式为例的音频文件合成

本文介绍了如何合并两个WAVE格式的音频文件,并解释了为何直接连接文件内容无法实现正确合并的原因。文章重点讨论了WAVE文件头的结构,特别是ChunkSize和DataSize字段的含义及其在合并过程中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

合并音频文件需要了解音频文件的格式。

以WAVE为例:

合并两个WAVE文件并不能简单的两个字节流输入一个字节流输出,这样得到的文件大小改变但是播放时仍为第一个文件的语音。

如果要合并,应连同修改WAVE文件头的数据。

WAVE文件头有多种格式,而windows录音为最简单的44字节头。(详情搜索WAVE文件格式)

其第5字节到第8字节存储着ChunkSize,为整个文件大小减去8字节,即 ChunkSize=file_len - 8

其第41字节到第44字节为DataSize,是数据块的大小。


写了一个程序对44字节头的WAVE文件数据进行解析,转:http://blog.youkuaiyun.com/mzj245073253/article/details/63278423

所以合并两个文件关键在于将ChunkSize和DataSize进行修改,附代码,转:http://blog.youkuaiyun.com/mzj245073253/article/details/63279592

注:如果程序有ERROR,可能我在上传时误删了一些内容,请联系我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值