我试图用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