Stap 5: Golf-bestandsindeling
De header van een wave-bestand is een blok van 44 byte.
De header is aan het begin van het wav-bestand.
Het blok van de kop moet wereldwijd worden geïnitialiseerd met:
byte wavheader [44];
Audiogegevens volgt de header.
Voor een 8-bit is mono wav bestandsgegevens een getal tussen 0 en 255.
Het script leest de A1-poort, de inkomende audio interpreteren als een spanning tussen 0 en 255. Perfect!
Slechts 4 secties koptekst moet worden bijgewerkt wanneer het een wav-bestand is opgeslagen.
Deze worden weergegeven als de becommentarieerde gedeelten in de afbeelding.
De bytes op offset 4 bevatten de lengte van de gegevens + de lengte van de header - 2 * 4 bytes
Of meer gewoon de gegevens tellen + 36.
Elk commentaar sectie is een getal van 4 bytes.
De vier bytes optreden met de minst significante byte eerste - dit is "little endian formaat".
De volgende routine zal accepteren van een long-waarde en schrijven naar een opgegeven punt in de kop van de wav als 4 opeenvolgende bytes:
VOID headmod (long-waarde, byte locatie) {}
vier bytes schrijven voor een lange
tempfile.Seek(Location); de locatie in het bestand zoeken
byte tbuf [4];
tbuf [0] = waarde & 0xFF; Lo byte
tbuf [1] = (waarde >> 8) & 0xFF;
tbuf [2] = (waarde >> 16) & 0xFF;
tbuf [3] = (waarde >> 24) & 0xFF; Hallo byte
tempfile.write(tbuf,4); schrijven van de 4 byte buffer
}