Dialogic ADPCM VOX файл 6000 Гц для Wave GSM в Alvas.Audio - PullRequest
2 голосов
/ 21 января 2011

Как преобразовать файл Dialogic ADPCM VOX 6000 образцов в секунду в Wave GSM в Alvas.Audio ?

1 Ответ

1 голос
/ 23 января 2011

См. пример и код ниже

private static void Vox2Gsm(string voxFile, string wavFile)
{
    int samplesPerSec = 6000;
    IntPtr format = AudioCompressionManager.GetPcmFormat(1, 16, samplesPerSec);
    MemoryStream ms = new MemoryStream();
    BinaryReader br = new BinaryReader(File.OpenRead(voxFile));
    WaveWriter ww = new WaveWriter(ms, AudioCompressionManager.FormatBytes(format));
    Vox.Vox2Wav(br, ww);
    br.Close();
    WaveReader wr = new WaveReader(ms);
    byte[] data = wr.ReadData();
    wr.Close();
    ww.Close();
    IntPtr formatGsm = AudioCompressionManager.GetCompatibleFormat(format, AudioCompressionManager.Gsm610FormatTag);
    byte[] dataGsm = AudioCompressionManager.Convert(format, formatGsm, data, false);
    WaveWriter wwGsm = new WaveWriter(File.Create(wavFile), AudioCompressionManager.FormatBytes(formatGsm));
    wwGsm.WriteData(dataGsm);
    wwGsm.Close();
}
...