[英]Unable to merge wav files
我試圖將兩個.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之類的第三方工具來執行此操作,如下所述:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.