35 lines
811 B
C
35 lines
811 B
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
#pragma pack(push, 1)
|
|
|
|
// RIFF header
|
|
struct RIFF_Header {
|
|
char id[4]; // "RIFF"
|
|
uint32_t size;
|
|
char fourcc[4]; // "WAVE"
|
|
};
|
|
|
|
struct chunk_Header {
|
|
char id[4];
|
|
uint32_t size;
|
|
};
|
|
|
|
// wave format header
|
|
struct fmt_Header {
|
|
char id[4]; // "fmt "
|
|
uint32_t size; // size of chunk!
|
|
|
|
uint16_t wFormatTag; // Format code
|
|
uint16_t nChannels; // Number of interleaved channels
|
|
uint32_t nSamplesPerSec; // Sampling rate (blocks per second)
|
|
uint32_t nAvgBytesPerSec; // Data rate
|
|
uint16_t nBlockAlign; // Data block size (bytes)
|
|
uint16_t wBitsPerSample; // Bits per sample
|
|
|
|
// enough :)
|
|
};
|
|
|
|
#pragma pack(pop)
|