public MemoryStream Decode(MemoryStream memoryStream) { byte[] buffer320 = new byte[320]; byte[] buffer32 = new byte[32]; MemoryStream amr2rawData = new MemoryStream(); AMR_Decoder dec = new AMR_Decoder(); int start = 6; //skip header of amr file int end = Convert.ToInt32(memoryStream.Length); memoryStream.Position = start; while (true) { memoryStream.Read(buffer32, 0, 32); dec.Decode(buffer32, 0, buffer320, 0); amr2rawData.Write(buffer320, 0, buffer320.Length); start += 32; if (start >= end) break; } return amr2rawData; }
public MemoryStream Decode(MemoryStream memoryStream) { byte[] buffer320 = new byte[320]; byte[] buffer32 = new byte[32]; MemoryStream amr2rawData = new MemoryStream(); AMR_Decoder dec = new AMR_Decoder(); int start = 6; //skip header of amr file int end = Convert.ToInt32(memoryStream.Length); memoryStream.Position = start; while (true) { memoryStream.Read(buffer32, 0, 32); dec.Decode(buffer32, 0, buffer320, 0); amr2rawData.Write(buffer320, 0, buffer320.Length); start += 32; if (start >= end) { break; } } return(amr2rawData); }