在C#中更改音频格式

我想将音频文件格式更改为另一种格式。 具体来说,我想将任何音频文件转换为6khz,16位,单声道,PCM wav格式。

我该如何应对这个问题。

再次提前感谢。

您也可以使用开源C#音频库NAudio来完成此操作。 查看NAudioDemo项目,了解通过计算机上安装的ACM编解码器传递WAV文件以转换为其他格式的示例。 如果您的输入文件不是WAV或MP3,您首先需要将其转换为WAV的东西。

我会使用BASS库 。 它有许多使用内置编码/解码function进行格式转换的可能性。 它还有一个.NET包装器可用。

我不完全确定你是否能够像你想的那样做到这一点。

首先,请参阅Windows API以处理RIFF文件(这是WAV文件的文件组。)

您需要读取标题,提取数据并解压缩以获取原始数据格式。 我相信标题数据会告诉你用于压缩的编解码器。

您需要对原始数据执行一些处理。 转换为单声道和16位可能不是问题,但我不太确定采样率的变化。

然后,您可以使用指定的编解码器重新压缩。