无法合并 wav 文件
本文关键字:文件 wav 合并 | 更新日期: 2023-09-27 18:25:26
我正在尝试将两个.wav文件合并到另一个文件中。 但我只能在创建的文件中看到第一个文件的数据。
但是新创建的文件占用的空间等于源文件大小的总和。
foreach (string sourceFile in fileNamesList)
{
FileStream file= File.Open(sourceFile, FileMode.Open);
FileStream outFile = File.Open(output, FileMode.Append,FileAccess.Write);
byte[] buffer = new byte[file.Length];
int read;
if ((read=file.Read(buffer, 0, (int)file.Length))>0)
{
outFile.Write(buffer, 0, read);
}
file.Close();
file.Dispose();
outFile.Close();
outFile.Dispose();
}
谢谢
您不能只连接两个 WAV 文件,因为它们有一个定义格式、通道数、采样率、长度等的标头。
您需要读取并解析每个单独的 WAV 文件的头文件,然后将新头写入具有正确数据的新文件,然后附加每个 WAV 文件中的数据内容。
您将不容易连接两个具有不同采样率或通道数的 WAV 文件,但除此之外,这并不太难(一旦您确定了标题格式(。
有关标头格式的详细信息,请参阅此处:
https://ccrma.stanford.edu/courses/422/projects/WaveFormat/
http://en.wikipedia.org/wiki/WAV
也许最简单的方法是使用第三方工具(如 Naudio(来执行此操作,如下所述:
如何加入 2 个或更多 .以编程方式将 WAV 文件放在一起?