在C#中更改音频格式

时间:2009-06-08 06:35:05

标签: c# .net audio

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

我该如何应对这个问题。

提前再次感谢。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

首先参考windows API来处理RIFF文件(这是WAV文件的文件组。)

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

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

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