2

将各种音频格式转换为 PCM 的最佳方法是什么?

例如:mp3、evrc、ogg vox。

那里有一个图书馆可以让我相对容易地实现这个吗?

编辑:

我想我最初的问题并不是我真正需要的。我发现的大多数库都是文件转换器。我需要的是一个块转换器,我在其中传入一个 1Kb 的 vox 数据块,它返回其转换后的 PCM 块。当然,我必须告诉转换器它是什么类型的数据以及各种编解码器信息。

我想要的解决方案是将 VOIP 格式保存为常见的 wav 格式并实时播放符合要求的文件。我认为应该有一种简单的方法来做到这一点,因为所有音频最终都会在输出之前转换为 PCM。

4

5 回答 5

3

您可以使用NAudio将压缩音频块传递到您机器上安装的任何 ACM 编解码器中。您确实需要知道如何创建适当的 WAVEFORMAT 结构来正确描述压缩音频类型。

于 2009-08-19T12:35:08.153 回答
1

查看适用于 .NET 的 AVBlocks SDK。它支持多种音频格式,以及多声道音频到立体声音频、重采样和比特率转换等音频转换。

于 2012-12-06T03:06:45.083 回答
1

尝试从http://alvas.net/alvas.audio,tips.aspx#tip91修改代码

    static void AnyToWav(string fileName)
    {
        DsReader dr = new DsReader(fileName);
        IntPtr formatPcm = dr.ReadFormat();
        byte[] dataPcm = dr.ReadData();
        dr.Close();
        WaveWriter ww = new WaveWriter(File.Create(fileName + ".wav"), AudioCompressionManager.FormatBytes(formatPcm));
        ww.WriteData(formatPcm);
        ww.Close();
    }
于 2014-01-30T19:02:34.827 回答
0

不知道有什么库可以做到这一切,但我们使用madxlib做 mp3->wav 。

它是免费的,但我建议为 sdk 支付 10 美元,因为它附带文档和示例。

于 2009-08-18T18:19:21.297 回答
0

youtube 上有 ac# 教程,可能对您有所帮助。它展示了如何使用一个名为 alvas.audio 的特定音频库,它确实对音频做了一些巧妙的事情。我发现这个视频很有教育意义。音频库完全用 c# 编写。观看视频了解更多详情:http ://www.youtube.com/watch?v=2DIQECXFPeU

于 2010-03-15T02:25:05.120 回答