void PerformRawToRaw(Stream instream, Stream outstream) { var mixer = new RawWaveMixer(instream, mRawInputFormat); var writer = new aBinaryWriter(outstream, Endianness.Big); mixer.Write(mRawOutputFormat, writer); }
void PerformRawToWav(Stream instream, Stream outstream) { var mixer = new RawWaveMixer(instream, mRawInputFormat); var writer = new aBinaryWriter(outstream, Endianness.Little); var dataSize = (mixer.SampleCount * 2); writer.WriteString("RIFF"); writer.WriteS32(36 + dataSize); writer.WriteString("WAVE"); writer.WriteString("fmt "); writer.WriteS32(16); writer.WriteS16(1); // format writer.Write16(1); // channel count writer.WriteS32(mRawSampleRate); writer.WriteS32(mRawSampleRate * 2); // byte rate writer.Write16(2); // block align writer.Write16(16); // bit depth writer.WriteString("data"); writer.WriteS32(dataSize); mixer.Write(WaveFormat.Pcm16, writer); }