无法合并 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 文件中的数据内容。

您将不容易连接两个具有不同采样率或通道数的 WAV 文件,但除此之外,这并不太难(一旦您确定了标题格式(。

有关标头格式的详细信息,请参阅此处:

https://ccrma.stanford.edu/courses/422/projects/WaveFormat/

http://en.wikipedia.org/wiki/WAV

也许最简单的方法是使用第三方工具(如 Naudio(来执行此操作,如下所述:

如何加入 2 个或更多 .以编程方式将 WAV 文件放在一起?