用c#合并wav文件。
来源:互联网 发布:mp3转换文字软件 编辑:程序博客网 时间:2024/05/16 05:40
也做c#语音合成,参考了你的示例程序,给我很大帮助,谢谢!
Wave合并的关键在于 1: 复制一个头 2: 调整文件大小,数据大小 3: 数据区合并。 你在程序中只合并的文件长度。
因为不同的wave文件 ,数据区的位置是不一样的,一般在“data"后面 ,这是我的代码:
FileStream fs_1 = new FileStream(tb1.Text, FileMode.Open, FileAccess.Read);
FileStream fs_2 = new FileStream(tb2.Text, FileMode.Open, FileAccess.Read);
byte[] bInfo = new byte[56];
fs_1.Read(bInfo, 0, 56);
byte[] bInfo2 = new byte[56];
fs_2.Read(bInfo2, 0, 56);
// byte[] filesize = System.BitConverter.GetBytes((int)wavinfo_1.filesize + (int)wavinfo_2.filesize);
int file1size = System.BitConverter.ToInt32(bInfo, 4);
int file2size = System.BitConverter.ToInt32(bInfo2, 4);
byte[] filesize = System.BitConverter.GetBytes(file1size +file2size);
byte[] datasize = System.BitConverter.GetBytes(System.BitConverter.ToInt32(bInfo, 52) + System.BitConverter.ToInt32(bInfo2, 52)+48);
FileStream tofile = new FileStream("D://123.wav", FileMode.CreateNew);
byte[] dushu_1 = new byte[file1size];
byte[] dushu_2 = new byte[file2size];
BinaryWriter w = new BinaryWriter(tofile);
for (int i = 4, j = 0; i < 8; i++, j++)
{
bInfo[i] = filesize[j];
}
for (int i = 52, j = 0; i < 56; i++, j++)
{
bInfo[i] = datasize[j];
}
w.Write(bInfo);
fs_1.Read(dushu_1, 0, file1size);
w.Write(dushu_1, 0, file1size);
fs_2.Read(dushu_2, 0, file2size);
w.Write(dushu_2, 0, file2size);
w.Flush();
w.Close();
fs_1.Close();
fs_2.Close();
tofile.Close();
- 用c#合并wav文件。
- 合并多个wav文件
- c# 调用wav 文件
- 将两个Wav文件合并为一个
- 合并两个格式相同的wav文件
- Java中wav格式语音文件合并
- C#调用winmm播放音乐(.wav文件)
- .Net下C#播放WAV,WAVE文件
- C# 调用wav文件播放音乐
- C#文件合并
- WP7-wav 合并demo
- ffmpeg 多wav合并
- wav文件
- WAV文件
- C#获取WAV文件的长度和结构
- 如何在C#中实现wav文件的连续播放
- 使用C#播放MP3/WAV文件的四种方式
- C# 实现wav 文件读取并绘制波形图
- ASP.NET 页生命周期
- Oracle 10g ORA-12154: TNS: could not resolve the connect identifier specified 问题解决!
- 树形控件中双击的处理
- 疯狂的程序员69
- 介绍接个实用Eclipse RCP开发示例
- 用c#合并wav文件。
- 读“你真正进入软件行业开发了吗”
- 历届奥运会场馆经典回顾(1992-2008)
- 展望:ITIL将引领中国企业走向何方
- USB 基本知识
- Behavior Targeting应用之互联网广告
- 西安飞机工业集团携手广通铸就精品IT运维工程
- 一个效率比较高的分页存储过程(SQL)
- e世界"脱轨",冲破"和平"警戒线