1

有谁知道如何通过 C# 将 GSM 音频转换为 PCM WAV?我试图在 Internet 上找到可行的解决方案,但无济于事。

4

4 回答 4

2

另一种选择是SoX(命令行/库)

于 2010-03-19T11:06:19.730 回答
1

这是一个对 GSM 文件进行编码和解码的 C 库的链接:

http://user.cs.tu-berlin.de/~jutta/gsm/gsm-1.0.13.tar.gz

以及有关该主题的更多信息的链接:

http://user.cs.tu-berlin.de/~jutta/toast.html

应该可以将 C 代码编译为 DLL 并使用 PInvoke 从 C# 应用程序调用它,或者将这些方法直接合并到 C# 应用程序中。

将 GSM 数据解码为样本数据后,将其写入 WAV 文件非常简单。

于 2009-10-12T12:23:38.700 回答
0

这适用于 java,但它应该适用于 C#:

http://www.jsresources.org/faq_audio.html

于 2012-03-09T09:30:58.883 回答
0

请参阅以下来自http://alvas.net/alvas.audio,articles.aspx#mp3-to-wav-without-desktop-experience的代码

void AnyToWav(string fileName)
{
    DsReader dr1 = new DsReader(fileName);
    if (dr1.HasAudio)
    {
        WaveWriter ww = new WaveWriter(File.Create(fileName + ".wav"), 
           AudioCompressionManager.FormatBytes(dr1.ReadFormat()));
        ww.WriteData(dr1.ReadData());
        ww.Close();
        Console.WriteLine("Done!");
    }
    else
    {
        Console.WriteLine("Has no audio");
    }
}
于 2014-04-09T18:29:20.493 回答