我有一项工作任务,我需要将本地.wav文件转换为2个单独的PCM文件。
我已经设法将文件读入WavStream或Byte [],但不知道如何将每个通道转换为单独的文件,而不会丢失标题。
示例代码将受到高度赞赏。
谢谢,
Nokky。
P.S
这是我使用的代码。
public void WavToPcmConvert(string filePath)
{
string fileName = Path.GetFileNameWithoutExtension(filePath);
using (var reader = new WaveFileReader(filePath))
{
using (var converter = WaveFormatConversionStream.CreatePcmStream(reader))
{
WaveFileWriter.CreateWaveFile(, converter);
}
}
}
答案 0 :(得分:0)
在PCM文件中,样本左右交错。假设您有16位采样,这意味着左通道有两个字节,右边有两个字节,依此类推。
因此,创建两个WaveFileWriter
,然后从转换器中读取第二个音频,循环读取您已读取的字节,并将交替的对写入每个WaveFileWriter
。继续,直到你到达输入流的末尾(converter.Read
返回0)。