public void WriteWave(Stream Stream, StereoShortSoundSample[] Samples)
{
this.Stream = Stream;
this.BinaryWriter = new BinaryWriter(Stream);
WriteChunk("RIFF", () =>
{
Stream.WriteStringz("WAVE", 4, Encoding.ASCII);
WriteChunk("fmt ", () =>
{
Stream.WriteStruct(new WaveFormat()
{
CompressionCode = 1,
SampleRate = 44100,
NumberOfChannels = 2,
BytesPerSecond = 44100 * sizeof(short) * 2,
BlockAlignment = sizeof(short) * 2,
BitsPerSample = 16,
Padding = 0,
});
});
WriteChunk("data", () =>
{
BinaryWriter.Write(PointerUtils.ArrayToByteArray(Samples));
/*
foreach (var Sample in Samples)
{
BinaryWriter.Write(Sample.Left);
BinaryWriter.Write(Sample.Right);
}
*/
});
});
}