Files
ESP8266lib/ext/audio/WaveHeader.h
kazu d028b79325 added data structures
added audio support
added rfid support
added spi support
2017-03-12 13:02:06 +01:00

41 lines
914 B
C++

#ifndef WAVE_HEADER_H
#define WAVE_HEADER_H
namespace Wave {
enum AudioFormat {
PCM = 0x01,
IMA_ADPCM = 0x11,
MP3 = 0x55,
};
struct Header {
uint32_t chunkID;
uint32_t chunkSize; // file-size - 8
char format[4] = {'W', 'A', 'V', 'E'};
char subChunk1ID[4] = {'f', 'm', 't', ' '};
uint32_t subChunk1Size = 20;
uint16_t audioFormat = AudioFormat::PCM;
uint16_t numChannels = 1;
uint32_t sampleRate = 22050;
uint32_t byteRate = sampleRate * 256 / 505;
uint16_t blockAlign = 0x100;
uint16_t bitsPerSample = 8;
uint16_t byteExtraData = 2;
uint16_t extraData = 505; // samples-per-block. see byteRate
char subChunk2ID[4] = {'f', 'a', 'c', 't'};
uint32_t subChunk2Size = 4;
uint32_t numOfSamples = 0xFFFFFFFF; // play forever
char subChunk3ID[4] = {'d', 'a', 't', 'a'};
uint32_t subChunk3Size = 0xFFFFFFFF; // file-size - 60
};
#endif