Fix WAV length

This commit is contained in:
Michael Hansen
2023-01-11 17:42:23 -06:00
parent 651ddb86a5
commit afbcfb4df3
+2 -2
View File
@@ -29,11 +29,11 @@ struct WavHeader {
void writeWavHeader(int sampleRate, int sampleWidth, int channels, void writeWavHeader(int sampleRate, int sampleWidth, int channels,
uint32_t numSamples, std::ostream &audioFile) { uint32_t numSamples, std::ostream &audioFile) {
WavHeader header; WavHeader header;
header.chunkSize = numSamples + sizeof(WavHeader) - 8; header.dataSize = numSamples * sampleWidth * channels;
header.chunkSize = header.dataSize + sizeof(WavHeader) - 8;
header.sampleRate = sampleRate; header.sampleRate = sampleRate;
header.numChannels = channels; header.numChannels = channels;
header.bytesPerSec = sampleRate * sampleWidth * channels; header.bytesPerSec = sampleRate * sampleWidth * channels;
header.dataSize = numSamples * sampleWidth * channels;
header.blockAlign = sampleWidth * channels; header.blockAlign = sampleWidth * channels;
audioFile.write(reinterpret_cast<const char *>(&header), sizeof(header)); audioFile.write(reinterpret_cast<const char *>(&header), sizeof(header));