使用 NAudio 将 WAV 文件转换为 2 个单独的 PCM 文件
Posted
技术标签:
【中文标题】使用 NAudio 将 WAV 文件转换为 2 个单独的 PCM 文件【英文标题】:Convert WAV File into 2 separate PCM files using NAudio 【发布时间】:2014-07-14 08:48:52 【问题描述】:我有一个工作任务,我需要将一个本地 .wav 文件转换成 2 个单独的 PCM 文件。
我已设法将文件读入 WavStream 或 Byte[],但不知道如何将每个通道转换为单独的文件,而不会丢失标题。
示例代码将不胜感激。
谢谢,
诺基。
附言
这是我使用的代码。
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】:在 PCM 文件中,样本是左右交错的。假设你有 16 位样本,这意味着你得到两个字节的左声道,两个字节的右声道,依此类推。
因此,创建两个WaveFileWriter
s,然后从转换器读取一秒钟的音频,循环读取您读取的字节,然后将交替对写入每个WaveFileWriter
。继续直到输入流结束(converter.Read
返回 0)。
【讨论】:
以上是关于使用 NAudio 将 WAV 文件转换为 2 个单独的 PCM 文件的主要内容,如果未能解决你的问题,请参考以下文章