سؤال

How to convert Dialogic ADPCM VOX file 6000 samples per second to Wave GSM in Alvas.Audio?

هل كانت مفيدة؟

المحلول

Please see example and code below

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();
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top