Здравствуйте, пытаюсь закодировать правильные спецификации для стерео заголовка .wav для создания файла.Создание монофонического файла работает просто отлично, в то время как попытка записи стереозвука кажется урезанной пополамУверен, что это в разделе заголовка.Оба примера (моно и стерео) представлены ниже.Любое понимание наиболее ценно.
Моно-заголовок - этот код в порядке
FileStream fsOut = new FileStream(oPath, FileMode.Create, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fsOut);
fsOut.Position = 0;
bw.Write(new char[4] { 'R', 'I', 'F', 'F' });
bw.Write(Convert.ToInt32(length));
bw.Write(new char[8] { 'W', 'A', 'V', 'E', 'f', 'm', 't', ' ' });
bw.Write((int)16);
bw.Write((short)1);
bw.Write((short)1);
bw.Write(samplerate);
bw.Write((int)(samplerate * ((BitsPerSample * 1) / 8)));
bw.Write((short)((BitsPerSample * 1) / 8));
bw.Write(BitsPerSample);
bw.Write(new char[4] { 'd', 'a', 't', 'a' });
bw.Write(Convert.ToInt32(DataLength));
Стерео - это всего лишь половина длины моно
FileStream fsOut = new FileStream(oPath, FileMode.Create, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fsOut);
fsOut.Position = 0;
bw.Write(new char[4] { 'R', 'I', 'F', 'F' });
bw.Write(Convert.ToInt32(length));
bw.Write(new char[8] { 'W', 'A', 'V', 'E', 'f', 'm', 't', ' ' });
bw.Write((int)16);
bw.Write((short)1);
bw.Write((short)2);
bw.Write(samplerate);
bw.Write((int)(samplerate * ((BitsPerSample * 2) / 8)));
bw.Write((short)((BitsPerSample * 2) / 8));
bw.Write(BitsPerSample);
bw.Write(new char[4] { 'd', 'a', 't', 'a' });
bw.Write(Convert.ToInt32(DataLength));