使用NAudio将WAV文件转换为2个单独的PCM文件

时间:2014-07-14 08:48:53

标签: c# stream wav naudio pcm

我有一项工作任务,我需要将本地.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);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

在PCM文件中,样本左右交错。假设您有16位采样,这意味着左通道有两个字节,右边有两个字节,依此类推。

因此,创建两个WaveFileWriter,然后从转换器中读取第二个音频,循环读取您已读取的字节,并将交替的对写入每个WaveFileWriter。继续,直到你到达输入流的末尾(converter.Read返回0)。