Сжатие WAV PCM в Microsoft GSM 6.10 Аудиокодек с использованием C # - PullRequest
0 голосов
/ 23 февраля 2012

Кто-нибудь знает, как преобразовать несжатый волновой файл в формате PCM в файл wav, сжатый в аудиокодеке GSM 6.10?

Ответы [ 2 ]

2 голосов
/ 09 апреля 2014

Попробуйте Как конвертировать в Gsm Wav файл

    static void ToWavWithGsm()
    {
        string fileName = @"e:\Down\male.wav";
        WaveReader wr = new WaveReader(File.OpenRead(fileName));
        IntPtr format = wr.ReadFormat();
        IntPtr formatGsm = AudioCompressionManager.GetCompatibleFormat(format,
            AudioCompressionManager.Gsm610FormatTag);
        byte[] dataGsm = AudioCompressionManager.ToFormat(wr, formatGsm);
        WaveWriter ww = new WaveWriter(File.Create(fileName + ".wav"),
            AudioCompressionManager.FormatBytes(formatGsm));
        ww.WriteData(dataGsm);
        ww.Close();
        wr.Close();
    }
0 голосов
/ 23 февраля 2012

IIRC, если у вас установлен кодек, naudio должен иметь возможность кодировать его с помощью WaveFormatConversionStream

...