我試圖用NAudio將立體聲.wav文件轉換爲單聲道。一個要求是我不能使用任何本地調用,因爲我需要在Azure上運行此代碼。這是我帶來的:將wav文件轉換爲單聲道
using (var waveFileReader = new WaveFileReader(sourceFileName))
{
var toMono = new StereoToMonoProvider16(waveFileReader);
WaveFileWriter.CreateWaveFile(destFileName, toMono);
}
我的代碼沒有錯誤,但輸出是一個包含純沉默的文件。
是否有任何其他方式將文件轉換爲單聲道?
.wav文件是一個字節數組。所以你可以在沒有任何外部庫的情況下進行處理。唯一的問題是你如何定義轉換?我的意思是,如果你有兩個頻道 - L,R - 你期望的輸出是什麼?他們的總和?平均? – TDG
是的,我知道,但我認爲我不必花時間從頭開始計算wav文件格式和代碼。像NAudio這樣的圖書館應該有這樣的東西,不是嗎? 事實上,我幾乎可以單獨使用mscorlib來做任何事情,但有什麼意義呢? – ulu
爲什麼你需要mscorlib以字節數組的形式讀取wav文件,然後循環播放音頻數據並做簡單的計算? – TDG